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

Javascript 使用jsPDF将html转换为pdf时丢失内容,javascript,html,reactjs,pdf,jspdf,Javascript,Html,Reactjs,Pdf,Jspdf,在我的React应用程序(客户端)中,我有一个按钮,可以通过jsPDF使用当前html内容创建pdf。我正在使用.html()而不是.fromHTML(),因为我需要在pdf转换中保留html样式真正的问题是当我使用html()时,页面的行/列结构丢失了很多内容。因此,我需要将html内容扩展到pdf,但我不知道如何做 我的代码: let doc = new jsPDF('p', 'pt', 'a4') let source = document.getElementById('pdfC

在我的React应用程序(客户端)中,我有一个按钮,可以通过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();
        }
     });
“丢失了很多内容”如果您的意思是您的内容无法放入a4页面,那么您可以将页面放大,比如使用a3而不是a4,或者使用
html2canvas
中的
scale
缩小内容。可以根据页面格式和元素大小计算比例

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'));
    }
});

如果不需要标准页面大小,可以根据内容设置页面大小。e、 g.
let pdf=new-jsPDF('p','pt',[6121200]) 

它起作用,但现在内容开始于页面中间。我读到可以将html2canvas版本降级为rc1,但它不起作用。您可以尝试设置x和y值。这里的代码更新了Resurrecting和旧答案。“比例可以根据您的页面格式和元素大小来计算。”您有这样做的示例或公式吗?@shenn@WeihuiGuo谢谢!我会在那里回复你,有一些问题