Невозможно преобразовать HTML в PDF, используя jsPDF - PullRequest
0 голосов
/ 10 февраля 2020

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

Я не могу получить стили или форматирование на веб-сайте для загружаемого PDF.

Вот код jsPDF, который я использую:

       <button type="button" onclick="convert()" class="pda-button"><i class="save-icon sprite"></i> Save</button>

        <div  id="content">
          //content goes 
        </div>
        <div id="elementH"></div>

    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="http://demos.codexworld.com/includes/js/bootstrap.js"></script>
    <script src="http://demos.codexworld.com/3rd-party/jsPDF/dist/jspdf.min.js"></script>  

        <script>
    function convert() {
        var doc = new jsPDF();
        var elementHTML = $('#content').html();
        var specialElementHandlers = {
            '#elementH': function (element, renderer) {
                return true;
            }
        };
        doc.fromHTML(elementHTML, 15, 15, {
            'width': 170,
            'elementHandlers': specialElementHandlers
        });

        // Save the PDF
        doc.save('sample-document.pdf');
    }
    </script>

Вот ссылка на сайт Я интегрировал приведенный выше код и хочу преобразовать в PDF: Ссылка на сайт

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

И, пожалуйста, не голосуйте по почте без объяснения причин для этого ..

1 Ответ

0 голосов
/ 10 февраля 2020

Вам нужно дать функцию обратного вызова для метода do c .from HTML

doc.fromHTML(elementHTML, 15, 15, {
        'width': 170,
        'elementHandlers': specialElementHandlers
    }, function cb() {} );

cb () сообщит вам, что PDF готов.

...