gpt4 book ai didi

Java PDF 操作和渲染

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:52:19 25 4
gpt4 key购买 nike

我希望这个问题能成为用 Java 处理和呈现 PDF 的综合指南。通过将多个开源库拼接在一起,我有一个相当全面的实现,我想对其进行改进。

背景

我的要求和当前的实现:

  1. 检查现有 PDF 文档的特定条件(PDF 版本、密码保护、字体嵌入、交叉引用表等)- 未实现。
  2. 允许通过页面坐标或其他机制定义 Acroform 字段。 - 未实现
  3. 提供迭代 PDF 中的表单字段、检查字段类型并用数据填充它的功能 - iText v 2.0.8
  4. 以不同的分辨率/DPI 将 PDF 渲染为图像 - 两种实现方式(pdfrenderer 和 IcePDF)
  5. 将 HTML/XHTML 文件呈现为 PDF - Flying Saucer xhtmlrenderer
  6. 在 Java 服务器环境中以的方式完成上述所有工作(暗示线程安全)

我不喜欢什么

我对以下内容不满意:

  1. iText 许可:iText 的新版本在 AGPL 许可下,这对我的项目(以及一般的商业项目?)来说不是启动器。商业许可证的费用是不小的(从基于使用情况的文档几美分到站点许可证的数万美元),如果我要支付软件的许可证费用,我想做一个完整的市场搜索最好的产品。 iText 的 2.x 版本工作正常,但其中有足够多的错误。
  2. PDF 版本一致性:这些库中的字体嵌入、交叉引用表等方面存在奇怪的一致性问题,造成了一定程度的损失。
  3. 渲染输出质量:从这些文件渲染到 PNG 的质量在嵌入字体、图像和图层方面存在一些问题。

我所希望的

我希望从用户和研究过 PDF 库的人那里得到一些反馈。为了完整性和后代,请尽可能多地包含以下信息。

  • 您的回答/评论是基于使用或研究
  • 名称、库版本和许可证(如果是商业许可证,请尽可能包含费用)
  • 你用图书馆做什么
  • 你喜欢它的什么地方/它有什么好处
  • 你不喜欢它的什么地方/它有什么不好的地方
  • 您的总体印象如何

最佳答案

我们的 BFO PDF 库位于 http://bfo.com可以很容易地完成大部分工作——加载 PDF 并确定其属性、创建、迭代和填充表单字段以及将 PDF 渲染为位图都是标准的东西。从 HTML 或 XHTML 转换有点棘手,但我们有一个配套产品 BFO 报告生成器,它将使用与 XHTML+CSS 非常相似的 XML 语法来完成此操作。

我不确定您所说的“PDF 版本一致性”是什么意思 - 如果您遇到特定问题,您可能想对此进行扩展,否则我不会太在意 PDF 中的实际版本号- 除了极少数异常(exception),PDF 功能几乎是向后和向前兼容的(较新的功能通常会被不理解它们的读者忽略)。

将 PDF 光栅化为位图是一大堆问题 - 正确地完成它意味着编写您自己的字体和图像格式解析器(一项艰巨的工作:Type 1 字体需要 PostScript 解析器),并击败 PDF 渲染的方钉模型放入圆孔即为AWT模型。它还取决于 PDF 创建软件能否正确完成这项工作。因此,无论您使用哪种软件,如果文件无法正确呈现,请将其通过电子邮件发送给支持团队 - 我们总是在为我们的 Collection 寻找麻烦的 PDF。

我们的网站有更多信息和可供下载的试用版,如果您需要有关许可费用的信息,请给我们留言。

干杯......迈克(CTO @ BFO)

关于Java PDF 操作和渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4962371/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com