【问题标题】:PDF forms in Apache FOP generated PDFApache FOP 生成的 PDF 中的 PDF 表单
【发布时间】:2012-10-25 12:26:22
【问题描述】:

我正在使用 FOP 从 XSL:FO 和 iText 生成 PDF,以在 PDF 中应用数字签名和签名日期字段。

问题是我正在使用坐标在生成的 PDF 中应用签名和日期。

PDF 很大、动态且始终根据内容而变化。因此,签名和日期字段未按指定的坐标正确定位。

我搜索了很长时间以找到解决方案。但我没有得到任何解决方案。

你能请任何人建议我使用 FOP 在 PDF 中创建 PDF 表单域吗? 然后我可以使用 iText 应用签名和日期字段。

请告诉我有什么其他技术可以尝试解决这个问题?

【问题讨论】:

    标签: apache itext apache-fop pdf-form


    【解决方案1】:

    问题在于 FOP 不创建签名字段,而 iText 需要页码和坐标(由您定义或由签名字段定义)。

    您希望将签名放在哪里? 它总是在第一页吗?总是在最后一页? 你能在你想要签署文件的地方放一些独特的文字吗?

    我之所以这样问,是因为您可以在最后一页上放置 SIGN HERE 之类的词,然后使用 TextRenderInfo 检索这些词的坐标。请参阅http://itextpdf.com/examples/iia.php?id=275http://itextpdf.com/examples/iia.php?id=282 的组合

    TextRenderInfo 类具有诸如 getBaseLine()getDescentLine()、...之类的方法,它们为您提供 LineSegment 对象,该对象显示 PDF 中每个文本 sn-p 的坐标。

    有很多注意事项:FOP 可能会在不同的 sn-ps 中删除 SIGN HERE 字样,例如“SIG”、“N”、“HE”、“RE”,这会使识别唯一字符串变得困难,但值得研究。

    【讨论】:

    • 感谢您的回复。签名的位置会有所不同
    • 好的,所以位置不同,但什么决定了签名的位置?
    • 谢谢,PDF中的签名字段位置由生成PDF的XSL决定。
    • 呃...这不是我期望的答案。这意味着您的问题没有答案,因为您选择了 FOP,这是一种不支持签名字段的工具。
    • 是的,我将尝试您的文本渲染解决方案并更新您。此外,我需要找到任何其他支持 PDF 表单字段的工具(生成带有签名字段的 PDF)。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多