试图使html2pdf.js出现3个问题

问题描述

我正在使用此https://www.npmjs.com/package/html2pdf.js/v/0.9.0< script src="html2pdf.bundle.min.js"></script>

我想

  1. 打印表格,但如果表格太大而无法在页面之间拼接。已解决
  2. 在pdf末尾的底部放置#total。已解决
  3. 打印不适用于图像。

欢迎提供关于第1、2或3点的任何帮助。

英语不是我的主要语言,也许答案在npmjs页面上,但我很乐意接受任何指导

html:

<div id="ObjetivoPDF"  style="display: none">
    <div id="heady">
        <div style="float: left">
            <img id="LogoImagen" Height="50" width="120">
        </div>
            <h4 style="float:right;" id="DatosFactura"></h4>
    </div>

    <div id="data">
        <table id="tablaDeCompras" class="table table-condensed table-hover" >
                
                 <thead>
                  <tr>
                    <th>Codigo</th>                     
                    <th>Cantidad</th>            
                    <th>Descripcion</th>
                    <th>Costo</th>

                    <th>Subtotal</th>
                  </tr>
                 </thead>

                 <tbody id="ListaDDatos">
              
               
                 </tbody>
        
            </table> 

    </div>

    <div id="total" style="padding-top: " >
        <h5>Total:<span id="totales"></span></h5> 
    </div>

</div>

js:

var opt = {
  margin:       0.5,filename:     'myfile.pdf',image:        { type: 'jpeg',quality: 0.98 },html2canvas:  { scale: 3,letterRendering: true,},jsPDF:        { unit: 'in',format: 'a3',orientation: 'portrait' }
  //pagebreak:  { mode: 'avoid-all',before: '#total' }
};



let element = document.getElementById('ObjetivoPDF').innerHTML;
    

    html2pdf().set(opt).from(element).save().catch(err => {

        document.getElementById("LogoImagen").style.display = "none";

        element = document.getElementById('ObjetivoPDF');
        console.log("intenta de nuevo sin imagen");

        html2pdf().set(opt).from(element).save().then(function () {
        

        }).catch(err => console.log(err));
    });
  1. 解决方案 从原始页面: 只需摆动表的每40个条目 <div class="html2pdf__page-break"></div>

2)解决方案: //剩余数量是条目的数量。

numOfPages =  Number(numOfPages);

if (numOfPages>1) {
let calculo = 1300 - ((restantes/40) * 1300);

alert(calculo)
document.getElementById("total").style.paddingTop  =  calculo +"px";


} else{

let calculo = 1200  - ((restantes/40) * 1200);

alert(calculo)
document.getElementById("total").style.paddingTop  =  calculo +"px";

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...