【问题标题】:Generate pdf empty signature fields free for commercial use生成pdf空签名字段免费用于商业用途
【发布时间】:2013-04-14 02:56:46
【问题描述】:

是否有任何 java 库可供我使用(Itext 不能免费用于商业网站)从 servlet 或 jsp 在 java 中生成空的数字签名字段。我必须生成多个空签名字段。 PHP 有 TCPDF,java 中有没有类似的东西。

【问题讨论】:

  • 如果你只是想创建空的签名字段,sota 并不重要,你可以考虑使用 LGPL 下发布的最新 iText 版本,即 2.1.7 或(非官方)4.2.0 .
  • 是的,这是最好的解决方案,但我无法理解 java 中没有其他 lib 是免费的并且能够做到这一点,而且 php 与 TCPDF lib 一起比 java 更好! ?
  • 我相信您也可以使用 PDFBox 做到这一点,因为该库非常公开地公开了低级对象。不过我不知道怎么做。

标签: java pdf digital-signature


【解决方案1】:

由于除了 JasperReports 之外没有其他答案(而且使用成熟的报告套件只是为文档添加一个空的签名字段可能被认为是一种矫枉过正),我将我的 cmets 整合为第二个在这里回答:

您想在 java 中生成空的数字签名字段,但不想使用 iText,因为 它不能免费用于商业网站。

  1. 如果您只想创建空的签名字段,并且在 iText 的较新版本中的许多添加和错误修复方面并不重要,您可以考虑使用在 LGPL 下发布的最新 iText 版本,即 2.1.7 或(非官方)4.2.0。与前一个相比,后一个有一些小修复,因此您可能更喜欢那个版本。

    在这种情况下,我建议您检查有问题的 SVN 分支并自己构建它,而不是使用某些第三方构建的版本之一,因为其中一些包含未记录的更改。

  2. 我相信您也可以使用 PDFBox 以某种方式做到这一点,因为该库公开了它公开处理的 PDF 的低级对象。由于我并没有真正进入那个图书馆,我无法详细说明如何做到这一点。你可以简单的拿一些 PDFBox 示例创建表单域,参考 PDF 规范ISO 32000-1:2008,然后实现,应该不会太难。

  3. 免费 PDF 库中较新的播放器是 PDF Clown。根据其文档,它还没有处理签名。不过,它确实适用于表单字段和一般注释,因此添加您所需的功能应该不难,或者 --- 空签名字段实际上是非常简单的表单字段,加密乐趣在实际签署之前不会开始PDF,可以使用一个空的签名字段,也可以即时创建一个新的。

    在这种情况下,您可能必须更改库本身,而对于 PDFBox,我假设您可以简单地使用库。但是您也许可以让 PDF 小丑的创造者 Stefano Chizzolini 着迷,以整合这种变化。

话虽如此,我确实同意布鲁诺的评论,即任何人都可以通过使用由其他人创建的库(iText 在案例中)来获利(商业用途)手)不应该限制以某种方式共享,无论是通过共享他的代码(即根据 AGPL 使用 iText)或通过为 iText 付费。

当然,有时会有不利的限制,例如管理层非常缓慢地允许共享,但要求其开发人员实现的速度非常快...

【讨论】:

    【解决方案2】:

    试试JasperReports。它有一个很好的 GUI 来设计你的 PDF。

    【讨论】:

    • 我认为 JasperReports 使用 Itext 。
    • 是的,但它是在 LGPL 下发布的。
    • 如果我想生成空签名字段,我还必须下载我必须付费的 Itext,是吗?
    • 没有。无需额外下载。 JasperReports 内部确实使用了 IText,但由于它是在 LGPL 下发布的,我想你可以在商业上使用它,只要它是动态链接的。无论如何,这实际上是一个法律问题,不应该在 Stackoverflow 上提出。
    • 我可以使用一些早期版本的 Itext,但我不能说没有其他免费的 java pdf lib 用于空签名生成,并且 php TCPDF 在这方面要好得多,php 更好比java支持这个!?
    猜你喜欢
    • 2013-06-28
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 2014-11-04
    • 1970-01-01
    • 1970-01-01
    • 2011-07-10
    • 2011-12-12
    相关资源
    最近更新 更多