Функция «Сохранить PDF» на динамической странице отображает результаты нескольких итераций, все перекрываются - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть инструмент на основе PHP, который динамически генерирует несколько абзацев контента.Я добавил кнопку, чтобы сохранить ваши результаты в PDF (используя jsPDF).Если вы сгенерируете контент один раз и один раз нажмете кнопку «Сохранить», это прекрасно работает.Но если вы генерируете и сохраняете несколько раз, в PDF отображаются все сгенерированные результаты, накладывающиеся друг на друга.

Вот проект: Генератор Если вы нажмете кнопку «Создать», то нажмите кнопку «Сохранить».(сохраните его), затем сгенерируйте еще раз и сохраните еще раз, и вы поймете, что я имею в виду.

<script src='https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.2.61/jspdf.min.js'> 
</script>


stuff


<script>

// Save page as PDF

var doc = new jsPDF();

var specialElementHandlers = {
    '#editor': function (element, renderer) {
        return true;
    } };

$('#saveBtn').click(function () {
    doc.fromHTML($('#responseArea').html(), 15, 15, {
        'width': 170,
        'elementHandlers': specialElementHandlers });

    doc.save('npc.pdf');
});

</script>

Предполагается, что кнопка сохранения позволяет создать чистый PDF.Кажется, что происходит, когда вы делаете это более одного раза, новые данные буквально располагаются поверх старых данных, не очищая их.

1 Ответ

0 голосов
/ 19 декабря 2018

Проверьте эту проблему: https://github.com/MrRio/jsPDF/issues/2000

В ответе они говорят, что они больше не поддерживают fromHTML и addHTML

Я бы порекомендовал использовать альтернативную библиотеку, такую ​​как https://github.com/eKoopmans/html2pdf

...