Javascript JsPDF按大小缩放?

Javascript JsPDF按大小缩放?,javascript,php,css,pdf,Javascript,Php,Css,Pdf,我目前有以下问题: 我有一个特定的DIV容器,我想从中生成一个PDF文件。 我正在使用ekoopmans()中的HTML2PDF.JS脚本 唯一的问题是,我希望它看起来像一个普通的印刷品 打印视图: PDF导出: 看起来PDF导出被放大了 我的代码中是否缺少任何规则?还是有解决办法? 代码: 函数generatePDF(发票打印){ //仅使用div id printinvoice打印。 var printContents=document.getElementById(invoiceprin

我目前有以下问题:

我有一个特定的DIV容器,我想从中生成一个PDF文件。 我正在使用ekoopmans()中的HTML2PDF.JS脚本

唯一的问题是,我希望它看起来像一个普通的印刷品

打印视图:

PDF导出:

看起来PDF导出被放大了

我的代码中是否缺少任何规则?还是有解决办法? 代码:


函数generatePDF(发票打印){
//仅使用div id printinvoice打印。
var printContents=document.getElementById(invoiceprint).innerHTML;
var originalContents=document.body.innerHTML;
document.body.innerHTML=打印内容;
//工作,但不是预期的。
var元素=document.body.innerHTML;
变量opt={
差额:10,
文件名:“Factuur.pdf”,
图像:{type:'jpeg',质量:1},
html2canvas:{dpi:300,letterRendering:true},
jsPDF:{单位:'mm',格式:'a4',方向:'纵向'},
分页中断:{mode:['avoid-all','css']}
};
//选择元素并为用户保存PDF。
html2pdf().from(element).set(opt).save();
document.body.innerHTML=原始内容;
}
下载factuur(PDF)
一些数据
非常感谢所有的帮助

解决了这个问题

不得不改变HTML2Canvas的大小,然后JsPDF做了其余的

<script>
    function generatePDF(invoiceprint) {
        //prints only with div id printinvoice.
     var printContents = document.getElementById(invoiceprint).innerHTML;
     var originalContents = document.body.innerHTML;

     document.body.innerHTML = printContents;
      // work but not to be expected.
     var element = document.body.innerHTML;
        var opt = {
        margin:       10,
        filename:     'Factuur <?php echo $factuurnaam ?>.pdf',
        image:        { type: 'jpeg', quality: 1 },
        html2canvas:  { dpi: 300, letterRendering: true, width: 1080, height: 1920},
        jsPDF:        { unit: 'mm', format: 'a4', orientation: 'portrait' },
        pagebreak:    { mode: ['avoid-all', 'css'] }
        };
        // Choose the element and save the PDF for our user.
        html2pdf().from(element).set(opt).save();
     document.body.innerHTML = originalContents;
}
    </script>

函数generatePDF(发票打印){
//仅使用div id printinvoice打印。
var printContents=document.getElementById(invoiceprint).innerHTML;
var originalContents=document.body.innerHTML;
document.body.innerHTML=打印内容;
//工作,但不是预期的。
var元素=document.body.innerHTML;
变量opt={
差额:10,
文件名:“Factuur.pdf”,
图像:{type:'jpeg',质量:1},
html2canvas:{dpi:300,letterRendering:true,宽度:1080,高度:1920},
jsPDF:{单位:'mm',格式:'a4',方向:'纵向'},
分页中断:{mode:['avoid-all','css']}
};
//选择元素并为用户保存PDF。
html2pdf().from(element).set(opt).save();
document.body.innerHTML=原始内容;
}
解决了这个问题

不得不改变HTML2Canvas的大小,然后JsPDF做了其余的

<script>
    function generatePDF(invoiceprint) {
        //prints only with div id printinvoice.
     var printContents = document.getElementById(invoiceprint).innerHTML;
     var originalContents = document.body.innerHTML;

     document.body.innerHTML = printContents;
      // work but not to be expected.
     var element = document.body.innerHTML;
        var opt = {
        margin:       10,
        filename:     'Factuur <?php echo $factuurnaam ?>.pdf',
        image:        { type: 'jpeg', quality: 1 },
        html2canvas:  { dpi: 300, letterRendering: true, width: 1080, height: 1920},
        jsPDF:        { unit: 'mm', format: 'a4', orientation: 'portrait' },
        pagebreak:    { mode: ['avoid-all', 'css'] }
        };
        // Choose the element and save the PDF for our user.
        html2pdf().from(element).set(opt).save();
     document.body.innerHTML = originalContents;
}
    </script>

函数generatePDF(发票打印){
//仅使用div id printinvoice打印。
var printContents=document.getElementById(invoiceprint).innerHTML;
var originalContents=document.body.innerHTML;
document.body.innerHTML=打印内容;
//工作,但不是预期的。
var元素=document.body.innerHTML;
变量opt={
差额:10,
文件名:“Factuur.pdf”,
图像:{type:'jpeg',质量:1},
html2canvas:{dpi:300,letterRendering:true,宽度:1080,高度:1920},
jsPDF:{单位:'mm',格式:'a4',方向:'纵向'},
分页中断:{mode:['avoid-all','css']}
};
//选择元素并为用户保存PDF。
html2pdf().from(element).set(opt).save();
document.body.innerHTML=原始内容;
}