javascript - 如何在 HTML2PDF 中指定动态页脚和页眉
问题描述
我正在尝试使用HTML2PDF将 html 页面转换为 PDF 。HTML 页面有一个表单,该表单包含具有动态高度的文本区域。textarea 的高度根据里面的文字进行调整。
问题样本在这里。
<div class="page-content">
<a href="#" id='download'>Download</a><br>
<textarea name="" id="" cols="" rows="" style='height:320px;'></textarea><br>
<textarea name="" id="" cols="" style='height:420px;' rows=""></textarea><br>
<textarea name="" id="" cols="" style='height:250px;' rows=""></textarea><br>
<textarea name="" id="" cols="" style='height:278px;' rows=""></textarea><br>
<textarea name="" id="" cols="" style='height:176px;' rows=""></textarea><br>
<textarea name="" id="" cols="" style='height:114px;' rows=""></textarea><br>
</div>
正如您在示例中看到的,我得到类似于下图的结果。在示例中,我固定了 texareas 的高度。它是在我正在处理的页面上动态确定的。
您可以在下面找到我想要得到的结果的示例图片;
任何帮助或建议都会有所帮助。我试过了,但表单有多个页面,我不知道如何动态设置页脚和页眉。
解决方案
HTML2PDF 在此处列出了选项。边距和分页选项解决了这个问题。我使用了下面的选项。
var element = document.getElementsByClassName('page-content')[0];
var opt = {
margin: 0.5, //margin for pages
filename: '<?php echo $real_data['applicant_name']; ?>.pdf',
image: { type: 'jpeg', quality: 0.98 },
html2canvas: { scale: 1 },
jsPDF: { unit: 'in', format: 'letter', orientation: 'portrait' },
pagebreak: { mode: ['avoid-all', 'css', 'legacy'] } //It determines how HTML elements should be split.
};
html2pdf().set(opt).from(element).save();
推荐阅读
- javascript - 如何在 Swiper Js 中更改幻灯片时禁用单击和触摸/鼠标拖动
- sql - 将数据集合并到单个表时避免键重复
- java - 将 Gson RuntimeTypeAdapterFactory 与 lenient = true 设置一起使用
- java - 第一天 JDatePicker 1.3.4
- android - 如何让 webveiw 应用打开特定链接?
- android - Android Q - 在执行程序上执行 AsyncTask 时出现 StackOverflowError
- android - 使用辅助功能服务关闭其他应用程序的权限
- ios - iOS App Store:如何共享所选应用商店/地区的分析数据?
- vue.js - 你如何等待 vue.js 创建的钩子?
- python - 计算数据框中列内的列中的每个值