JsPDF повторяет первый ряд на каждой новой странице - PullRequest
0 голосов
/ 12 октября 2018

Я сохраняю PDF, используя jspdf. У меня есть таблицы в моем HTML, и у этих таблиц нет заголовков. Но функция JsPDF автоматически повторяет первую строку моей таблицы на каждой странице, и они перекрываются. Я не хочуЗаголовки на каждой новой странице. Есть ли способ сделать это. Прикрепление скриншота page . Заранее спасибо !!!

$scope.SavePage = function() {
    var doc = new jsPDF('p', 'pt', 'a4', true);
    margins = {
        top: 200,
        bottom: 60,
        left: 40,
        width: 522
    };
    specialElementHandlers = {
        '#ignoreComponent': function(element, renderer) {
            return true
        },
        '#ignorePage': function(element, renderer) {
            return true
        }
    };

var source = $('#pageInformationPdf')[0];

doc.fromHTML(source, margins.left, margins.top, {
        'width': margins.width,
        'pagesplit': true,
        'elementHandlers': specialElementHandlers
    },
    function(dispose) {
        doc.save(pageName + '.pdf');
        }, margins);

}

1 Ответ

0 голосов
/ 12 октября 2018

Вы можете использовать крючок drawHeaderRow.Ниже приведен пример кода

function generate() {
  var doc = new jsPDF('p', 'pt');
  var elem = document.getElementById('table');
  var data = doc.autoTableHtmlToJson(elem);

  //Do not print the header if current page not the first page.
  doc.autoTable(data.columns, data.rows, {
    drawHeaderRow: function(row, data) {
      if (data.pageCount > 1) {
        return false;
      }
    }
  });

  doc.save("table.pdf");
}  

html

<button onclick="generate()">Generate PDF</button>

<table id="table" style="display: none;">
    <thead>
    <tr>
        <th>ID</th>
        <th>First name</th>
        <th>Last name</th>
        <th>Email</th>
        <th>Country</th>
        <th>IP-address</th>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td align="right">1</td>
        <td>Donna</td>
        <td>Moore</td>
        <td>dmoore0@furl.net</td>
        <td>China</td>
        <td>211.56.242.221</td>
    </tr>
    <tr>
        <td align="right">2</td>
        <td>Janice</td>
        <td>Henry</td>
        <td>jhenry1@theatlantic.com</td>
        <td>Ukraine</td>
        <td>38.36.7.199</td>
    </tr>
    </tbody>
</table>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...