Создание PDF с несколькими вариантами «Выбрать»? - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть страница, показывающая список «выбранных» участников с «рангами» и «годом», и я хочу, чтобы это было в формате PDF без отображения кнопок.

Как я могу создать такой PDF без потеристиль?

Я пытался использовать обычный jsPDF, но он возвращает только некоторые значения, но не (выборочные) теги

<?php
echo '<script>';
 echo 'function onClick() {';
 echo "var pdf = new jsPDF('p', 'pt', 'letter');";
 echo 'pdf.canvas.height = 72 * 11;';
 echo 'pdf.canvas.width = 72 * 8.5;';
 echo "pdf.fromHTML($('.matrikule').get(0), 10, 10, {'width': 180});";
 echo 'pdf.save("test.pdf");';
 echo '};';
    echo 'var element = document.getElementById("clickbind");';
    echo 'element.addEventListener("click", onClick);';
    echo '</script>';
?>

См. скриншот ниже

enter image description here

Я хочу, чтобы PDF-файл точно отображал его на веб-странице.Это возможно только с html2canvas?

1 Ответ

0 голосов
/ 15 февраля 2019

Вы хотите использовать jsPDF .html() и html2canvas 1.0.0-alpha.12, а не .fromHtml().Вы можете изменить следующий код для вашего php и поставить data-html2canvas-ignore="true" на кнопки, которые вы хотите скрыть.

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.debug.js" 
        integrity="sha384-NaWTHo/8YCBYJ59830LTz/P4aQZK1sS0SneOgAvhsIl3zBu8r9RevNg5lHCHAuQ/"
        crossorigin="anonymous"></script>
<script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
<!-- html2canvas 1.0.0-alpha.11 or higher version is needed -->

<script>
    function onClick() {
        let pdf = new jsPDF('p', 'pt', 'letter');
        pdf.html(document.getElementById('clickbind'), {
            callback: function () {
                pdf.save('test.pdf');
                window.open(pdf.output('bloburl')); // this makes debug easier.
            }
        });
    }
</script>
...