当我使用jsPDF将html转换为pdf时丢失内容

问题描述 投票:0回答:1

在我的React App(客户端)中,我有一个按钮,可通过jsPDF使用当前html内容创建pdf。我使用的是。html()而不是。fromHTML(),因为我需要在pdf转换中保留html样式。 真正的问题是当我使用html()时,页面的行/列结构丢失了很多内容。因此,我需要将html内容缩放为pdf,但我不知道该怎么做。

我的代码:

let doc = new jsPDF('p', 'pt', 'a4')
    let source = document.getElementById('pdfContent')

    doc.html( source, {
        callback: function (doc) {
            doc.save();
        }
     });
javascript html reactjs pdf jspdf
1个回答
1
投票

通过“丢失大量内容”,如果您表示内容无法放入a4页面并且要缩小它,则可以在scale中使用html2canvas。首先尝试0.5之类的东西吗?

let doc = new jsPDF('p', 'pt', 'a4')

doc.html(document.getElementById('pdfContent'), {
    html2canvas: {
        scale: [yourScaleHere],
    },
    x: [margin],
    y: [margin],
    callback: function (doc) {
        window.open(doc.output('bloburl'));
    }
});

如果您不需要标准页面大小,则可以根据您的内容设置页面。例如let pdf = new jsPDF('p', 'pt', [612, 1200]);

© www.soinside.com 2019 - 2024. All rights reserved.