我的PDF包含<%DATE_OF_BIRTH%>等占位符,我希望能够读取PDF并使用iText将PDF占位符值更改为文本。
因此,请阅读PDF,使用可能的replaceString()方法并更改占位符,然后生成新的PDF。
这可能吗?
感谢。
答案 0 :(得分:2)
PDF中占位符的使用非常非常有限。从理论上讲,它可以做到并且在某些情况下可以按照你的意思去做,但由于PDF并不是很了解结构,所以很难:
简单地提取单词很困难,因此在许多情况下识别PDF中的占位符已经很困难了。
替换PDF中的文本是一场噩梦,因为PDF文件通常不具有单词,行和段落的概念。因此,例如没有很好的文本重排。
就像我说的那样,它理论上可以在特殊条件下工作,但它不是一个很好的解决方案。
什么是更好的方法取决于您的用例:
1)对于某些形式,可以将完整的表格作为背景图像或PDF文件,然后生成您的文本作为背景的叠加(填写空白可以这么说)正如布鲁诺所指出的那样在评论中使用mlk,在这种情况下,您还可以查看使用可以动态填充的表单字段。
2)对于其他表单,最好以XML或HTML等结构化格式使用模板,以该格式替换文本,然后将其转换为PDF格式。