wkhtmltopdf получает количество страниц внутри тела html

В моем приложении я создаю PDF-файлы с отдельными верхним, нижним колонтитулом и телом. В некоторых PDF-файлах я включил боковую панель с цветом, проблема, с которой я столкнулся, заключается в том, что мне нужно рассчитать высоту боковой панели. Я знаю, что идеальная высота для двух страниц составляет 1100 пикселей, теперь я хочу включить javascript, как в моем примере, чтобы получить общее количество страниц, чтобы я мог рассчитать новую высоту для боковой панели.

Мой код;

<script>  
      var pdfInfo = {};
      var x = document.location.search.substring(1).split('&');
      for (var i in x) { var z = x[i].split('=',2); pdfInfo[z[0]] = unescape(z[1]); }
      function getPdfInfo() {
        var page = pdfInfo.page || 1;
        var pageCount = pdfInfo.topage || 1;
        document.getElementById('pdfkit_page_current').textContent = page;
        document.getElementById('pdfkit_page_count').textContent   = pageCount;

        document.getElementsByClassName('wrapper').innerHTML(pageCount);
      }
    </script> 
</head>
<body onload="getPdfInfo()">

    <div class="wrapper">
    ...more html

Но я не получаю результатов pageCount внутри оболочки. Возможно ли это вообще в HTML-шаблоне тела или только внутри шаблонов верхнего/нижнего колонтитула? Спасибо за совет.


person directory    schedule 01.10.2015    source источник


Ответы (1)


Это не очень хорошее решение, но обходной путь — просто иметь боковую панель очень большой высоты. Я использую боковую панель со следующим css:

    display: block;
    position:fixed;
    height:5000px;
    bottom:0;
    top:0;
    left:0;
    right:0;
    background-color: #feb900;
    width: 30px;

В результате получается боковая панель, которая охватывает необходимые страницы без создания новой страницы. Также имейте в виду, что wkhtmltopdf будет вставлять поля (по умолчанию 10 мм), вы можете изменить это, добавив следующие флаги:

  -B 0 -T 0 -L 0 -R 0
person Robin van Breukelen    schedule 21.10.2015