我是否可以使用任何java lib(Itext不能免费用于商业网站)从servlet或jsp在java中生成空数字签名字段。我必须生成多个空签名字段。 Php有TCPDF,在java中有类似的东西。
答案 0 :(得分:1)
由于没有答案,但JasperReports还没有答案(并且使用一个完整的报表套件只是为了向文档中添加一个空的签名字段可能被认为是一种过度杀伤),我正在巩固我的评论作为第二个在这里回答:
您希望在java 中生成空数字签名字段,但不想使用iText,因为它不能免费用于商业网站。
如果您只是想创建空的签名字段,并且对于更新版本的iText中的许多新增内容和错误修复而言,最新技术并不重要,您可以考虑使用最新的iText版本根据LGPL发布,即2.1.7或(非官方)4.2.0。与前者相比,后者有一些小修正,因此您可能希望更喜欢该版本。
在这种情况下,我建议您查看有问题的SVN分支并自行构建,而不是使用某些第三方构建的版本之一,因为其中一些版本包含未记录的更改。
我相信你也可以用PDFBox以某种方式做到这一点,因为该库公开了它公开处理的PDF的低级对象。由于我没有真正进入该库,我无法详细说明如何做到这一点。您可以简单地创建一些PDFBox示例来创建表单字段,参考PDF规范ISO 32000-1:2008并实现它,这应该不会太困难。
免费PDF库中的新玩家是PDF Clown。根据其文档,它还没有处理签名。它确实适用于表单字段和一般注释,因此添加您所需的功能应该不难 - 无论是空签名字段实际上是非常简单的表单字段,加密乐趣在实际签名之前不会启动PDF,使用空签名字段或动态创建新字段。
在这种情况下,您可能必须更改lib本身,而在PDFBox的情况下,我假设您可以简单地使用lib。但是你可以让PDF Clown创作者Stefano Chizzolini着迷于整合这一变化。
所有这一切,我同意布鲁诺的意见,即任何人通过使用其他人创建的图书馆( iText )获利(商业用途)不应该通过分享他的代码(即根据AGPL使用iText)或支付iText来以某种方式限制共享。
当然,有时存在不利的限制,例如:一个管理层很慢,允许共享,但很快就要求开发人员实现...< sigh>
答案 1 :(得分:0)
试试JasperReports。它有一个很好的GUI来设计你的PDF。