JSPDF не печатается правильно, отображается пустой PDF - PullRequest
0 голосов
/ 18 марта 2019

Мы используем jsPDF в основном приложении aspnet. Вот раздел скриптов:

@section Scripts{

    <script src="~/lib/jsPDF/jspdf.min.js" type="text/javascript" asp-append-version="true"></script>
    <script src="~/lib/jsPDF/split_text_to_size.js" type="text/javascript" asp-append-version="true"></script>
    <script src="~/lib/jsPDF/standard_fonts_metrics.js" type="text/javascript" asp-append-version="true"></script>

    <script src="~/lib/jsPDF/html2canvas.min.js" asp-append-version="true"></script>
    <script src="~/lib/jsPDF/html.js" type="text/javascript" asp-append-version="true"></script>

    <script src="~/js/dailyjobreport.js" type="text/javascript" asp-append-version="true"></script>

}

html получен от вызова AJAX и используется для рендеринга PDF

function onSuccess(data) {
        try {
            var pdf = new jsPDF({
                orientation: 'portrait',
                format: 'a4'
            });

            pdf.html(data);
            pdf.save('report.pdf');
        } catch (e) {
            console.error(e);
        }
}

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

1 Ответ

0 голосов
/ 19 марта 2019

Попробуйте использовать функцию обратного вызова для сохранения в pdf:

<script src="https://unpkg.com/jspdf@latest/dist/jspdf.min.js"></script>
<script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>

Функция Js:

$(function () {
    var pdf = new jsPDF({
        orientation: 'portrait',
        format: 'a4'
    });


    pdf.html("<html><head></head><body><h2>2asdasda123dsdasd</h2></body></html>", {
        callback: function (pdf) {
            pdf.save('test.pdf');
        }
    });

})
...