我有一个包含之类的占位符的PDF,我希望能够读取PDF并使用iText将PDF占位符值更改为文本。
因此,以PDF格式阅读,可以使用replaceString()方法并更改占位符,然后生成新的PDF。
这可能吗?
谢谢。
最佳答案
PDF中占位符的使用非常非常有限。从理论上讲,它是可以做到的,并且在某些情况下,您可以按照您的意愿进行操作,但是由于PDF不太了解结构,因此很难:
仅提取单词很困难,因此在许多情况下要在PDF中识别占位符已经很困难。
用PDF替换文本是一场噩梦,因为PDF文件通常没有单词,线条和段落的概念。因此,例如,没有很好的文本重排。
就像我说的,理论上它可以在特殊条件下工作,但这不是一个很好的解决方案。
哪种更好的方法取决于您的用例:
1)对于某些表格,可以将完整的表格作为背景图像或PDF文件,然后将您的文本生成为该背景的覆盖图(可以说是空白),正如Bruno和mlk在评论中指出的那样,在这种情况下,您还可以研究使用可以动态填充的表单字段。
2)对于其他形式,最好以结构化格式(例如XML或HTML)使用模板,以该格式进行文本替换,然后将其转换为PDF。