问题标签 [openpdf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
358 浏览

java - 是否可以使用 OpenPDF 在文档上加盖电子印章?

我的公司需要实施一种在官方 PDF 上加盖电子印章的方法,以确保其完整性。听我的一些同事说是用OpenPDF做的,但是在网上搜索到现在还没有找到。

仅使用 OpenPDF 就可以有效地实现这一目标吗?或者是否存在其他库?在这种情况下,我更喜欢免费库,但如果只有商业选项,我想先尝试一下,这样我就可以看看我是否能够使用它们,以及我的上级是否愿意承担经济风险。

这是维基百科对电子印章的定义:

合格的电子印章是符合欧盟第 910/2014 号条例(eIDAS 条例)的电子印章,适用于欧洲内部市场的电子交易。它可以在很长一段时间内验证文件的发行者。合格的电子印章可以被认为是纸上法人印章的数字等效物。根据 eIDAS 规定,合格的电子印章必须由合格的电子设备创建,并以合格的电子印章证书为基础。

0 投票
1 回答
383 浏览

java - 飞碟/OpenPdf 相同的字符串 html 内容但不同的字节 []

我正在使用带有 openpdf 的飞碟 pd 来生成 pdf。我使用 thymleaf 3 从 htm 文件生成 pdf。

一切正常,但不是测试。

我的想法是创建一个生成 pdf 文件的测试方法……之后我将 ButeArrayStream 转换为 byte[]……最后测试使用我从之前的编译中获得的 byte[] 生成的 byte[]。

但是,我发现 ItextRenderer.createPdf(htmlContent) 每次都会生成不同的 byte[] 。

正常吗?有没有办法每次都获得相同的 byte[] ?

0 投票
1 回答
3990 浏览

java - OpenPDF:iText 2.1.7 XXE 漏洞

目前我正在使用 Birt Report 运行时版本 4.4.2,它在内部使用 iText 版本 - 2.1.7 我有 Birt 报告 .rptdesign 文件作为模板,并使用 Birt Report 运行时引擎动态创建/渲染 pdf,其中数据来自数据库,pdf 将在网络浏览器上呈现。

根据以下链接,iText 2.1.7 版本中存在 XXE 漏洞

https://www.compass-security.com/fileadmin/Datein/Research/Advisories/CSNC-2017-017_itext_xml_external_entity_attack.txt

为了解决上述问题,我计划用 OpenPDF jar 替换 iText 2.1.7 jar 版本。但看起来 OpenPDF 也使用了 javax.xml.parsers.DocumentBuilderFactory 类,这反过来又会给 XXE 漏洞

任何人都可以修复 openPDF 源代码中的这个漏洞并发布新版本吗?

以下是 Apache PDF 框已修复 XXE 漏洞的有用链接

https://github.com/apache/pdfbox/commit/be36ef01842885b556a4e7b40b5e2e8e7b1d2816#diff-7865264c984db3c9a6ac8471b0a4d414

0 投票
2 回答
362 浏览

java - 如何用多行替换 PDF 中的文本?

我正在使用 openPdf 库(iTextPdf 的分支)将 #{Address_name_1} 等占位符替换为实际值。我的 PDF 文件并不简单,所以我使用正则表达式来查找这个占位符:[{].*?[A].*?[d].*?[d].*?[r].*?[e].*?[s].*?[s].*?[L].*?[i].*?[n].*?[e].*?[1].*?[}]

并做类似的事情

content = MY_REGEXP.replace(content, "Saint-P, Nevskiy pr."); obj.setData(content.toByteArray(CHARSET)).

当我的替换线太长并且不幸的是从右端切断时,就会出现问题。我能以某种方式让它延续到下一行吗?天真\n是行不通的。

0 投票
0 回答
35 浏览

openpdf - 当页面写入完成时,如何在openpdf中动态创建新的pdf页面?

我想知道当前页面写入完成后如何动态创建新页面。请帮忙

0 投票
0 回答
830 浏览

spring-boot - NoClassDefFoundError: 无法初始化类 java.awt.image.DataBuffer --> 尝试在 Spring Boot 中加载 PNG 图像时

我有一个 Spring Boot 应用程序,它基本上从客户端接收 JSON 并创建/返回 PDF。

我可以毫无问题地加载JPG图像。但是当我加载PNG文件时,我遇到了这个异常。我的 Spring Boot“战争”应用程序在 Tomcat 中运行。

如果我通过“java -jar ...”执行 Spring Boot 应用程序,它运行良好。

  • Apache Tomcat/9.0.29
  • 无头 OpenJDK 64 位 VM 1.8
  • 春季启动 2.2.1
  • 打开PDF 1.3
  • CentOS Linux 7
0 投票
0 回答
27 浏览

fragment - 单击列表时想要以 pdf 格式打开文档时出错

我想要的是当我单击我的主片段中的列表视图中的一个项目时,打开文档,我可以阅读它并滚动。我已经设法向我展示了我的 android 的所有 pdf,并且我将它很好地加载到了一个数组中,但是当我单击时,我得到了一个错误。

我加载列表视图视图的片段类

显示以打开 pdf

打开pdf课

主要活动

具有列表视图的布局

0 投票
0 回答
300 浏览

flying-saucer - 使用 OpenPDF 库在 FlyingSaucer 上将 XHTML 渲染为 PDF 速度很慢

有没有机会在 FlyingSaucer /OpenPDF 中提高 XHTML 到 PDF 的渲染速度?我正在使用 9.1.20 版的 fly-saucer-pdf-openpdf 库。简单的 XML 花了将近 5 秒。使用 fly-saucer-pdf 库耗时 0.5 秒。

XML

0 投票
1 回答
85 浏览

pdf - 从设计师模板创建自定义文凭,填写数据

我需要能够为体育赛事(10K 跑步等)创建带有可打印文凭的 PDF。

一位平面设计师用占位符文本(参与者姓名、完成时间)创建了一个漂亮的文凭——我需要从中获得一个完成的 PDF(即时),参与者可以下载它。

  • 我应该从设计师那里得到什么输出(文件格式,以任何特殊方式准备)?
  • 如何获取该文件、填写数据并生成 PDF?
  • 如何使用 IText 实现这一点?

我已经做了很多从 HTML 和 Word 文档生成 PDF 的工作,但这对我来说是新事物,所以我不知道从哪里开始。

我现在最好的想法是让设计器导出为没有占位符文本的 PDF,但在输入名称、时间等的位置使用 x/y 坐标和字体...但我宁愿不必存储 x/y 坐标,字体等 - 并且只能填写“模板”......

0 投票
1 回答
559 浏览

java - 如何使用 OpenPDF 添加目录

我正在开发一种用于生成代表评估结果的 PDF 文档的工具。这些文档的结构和一些文本和图像是由非技术用户定义的(这就是为什么不能选择 Apache FOP 和 XSL 的原因之一)。

OpenPDF 似乎是一个很有前途的库(除了 Apache PDFBox,它太低级了)。但是,生成的文档必须包含目录。
预期的文档结构是这样的:

由于我不知道文档最终将有多少页或不同章节将从哪一页开始,因此我无法在将每个章节添加到文档之前定义目录。
由于 OpenPDF 直接将元素写入文档,因此似乎不可能保留示例性目录元素的引用并在添加所有章节后添加其内容。