asdw741111 / jspdf-pro

jspdf+html2canvas实现导出pdf,对超长内容、样式问题等做了自动处理
MIT License
27 stars 4 forks source link

自定义margin #15

Open jianglinfeng1998 opened 4 weeks ago

jianglinfeng1998 commented 4 weeks ago

大佬,设置了margin={top:20,bottom:20,left:20,right:20},但是首页不想要这个margin,其他页需要怎么办啊!

asdw741111 commented 3 weeks ago

这种的一般建议通过html样式控制,例如

<div>
    <div><!-- 首页 --></div>
    <div class="pdf-break-page" style="padding: 20px;"><!-- 第二页 --></div>
</div>

这样能确保页面上的展示效果和导出PDF的一样,便于调试

jianglinfeng1998 commented 2 weeks ago

const generatePDF = () => { createPDF(document.getElementById("content-pdf") as any) .margin({ left: 0, right: 0, top: 0, bottom: 0 }) .setClassControlFilter("isLeafWithoutDeepFilter", (v) => ["mainTable-th"].includes(v)) .toPdf("报告.pdf"); }; 大佬,.margin({ left: 0, right: 0, top: 0, bottom: 0 }这个设置为0的时候那个内边距设置了padding也不管用啊还是贴起的

asdw741111 commented 2 weeks ago

你应该导出超长内容,会从id=content-pdf这个元素的子元素分别执行渲染,所以padding需要加到子元素上,因为分别渲染子元素的时候就和父元素没关系了