从jsPDF库生成的pdf文件,无法在adobe reader中打开

问题描述 投票:0回答:2

我有一个 html 页面。此页面上有两张图片。两个图像均采用 Base64 编码。我正在 html 上打印图像

<img src='data:image/png;base64,<?php echo $img ?>' />

我设置了 css 属性位置、左和右,将一张图像置于另一张图像之上。

现在我正在使用 jsPDF 生成存在这两个图像的页面部分的 pdf 文件。

如果我在 FireFox、chrome 或 Document Viewer(ubuntu 机器)上打开从 jsPDF 生成的 pdf 文件,则效果很好,但如果我尝试使用 Adobe reader 在 Windows 机器上打开此 pdf 文件,则 Adobe reader 会抛出错误: 处理页面时出错。阅读此文档时出现问题 (110) PDF 错误

如果有人有任何建议,请告诉我。

javascript html pdf jspdf adobe-reader
2个回答
1
投票

我在使用 fromHTML 插件时遇到了类似的问题,显然代码显示了文本颜色,导致它将“rgb(0, 0, 0)”放置在不应该的地方。

github建议更改以下行中的 jspdf.dist.js:

this.pdf.internal.write("q", "BT 0 g", this.pdf.internal.getCoordinateString(this.x), this.pdf.internal.getVerticalCoordinateString(this.y), style.color, "Td");

将“style.color”更改为“null”解决了我的问题。

this.pdf.internal.getCoordinateString(this.x), this.pdf.internal.getVerticalCoordinateString(this.y), null, "Td");

0
投票

在jsPDF中注意使用setTextColor属性,必须正确应用颜色代码

例如:设置文本颜色时 doc.setTextColor('#0000'); 它将在网络浏览器中正确打开,但不能在 Adobe Acrobat

中打开

你必须使它 doc.setTextColor('#000000'); 才能在 adobe acrobat 中工作

© www.soinside.com 2019 - 2024. All rights reserved.