如何解决Vue-将DOM导出为不含jsPDF的PDF
我需要从布局和内容差异很大的网站页面创建格式良好的PDF。我最近最成功的方法是使用浏览器的“打印”对话框逐页使用广泛的@media print {}
CSS,然后在打印对话框中选择“另存为PDF”。
我想在应用程序中本机完成所有工作,而不必依赖打印对话框,而且我花了数小时试图击败jsPDF提交而没有运气。我的大部分页面都包括jpg和svg以及文本,并且我已经尝试将html2canvas,dompurify和canvg与jsPDF结合使用。
我不介意使用大量自定义CSS使其在PDF中看起来不错,但是我什至无法使所有元素都出现在下载的PDF中。大多数情况下,它只是空白或一个随机元素。
不起作用:
downloadPDF() {
const doc = new jsPDF();
const contentHtml = this.html;
doc.fromHTML(contentHtml,15,{ // error: fromHTML is not a function
width: 170,});
doc.save("sample.pdf");
},
也不起作用:
downloadPDF() {
const doc = new jsPDF();
/** WITH CSS */
var canvasElement = document.createElement("canvas");
html2canvas(this.$refs.printArea,{ canvas: canvasElement }).then(function (canvas) {
const img = canvas.toDataURL("image/jpeg",0.8);
doc.addImage(img,"JPEG",20,20);
doc.save("sample.pdf");
});
},
也无效:
downloadPDF() {
const pdf = new jsPDF({
orientation: "p",unit: "pt",format: "letter",putOnlyUsedFonts: true,});
pdf.setFontSize(11);
pdf.html(this.html,{
callback: function (pdf) {
pdf.save("download.pdf");
},});
},
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。