从文本编辑器打开一个 PDF 文件,我想在下面修改这个对象的内容:
759 0 obj
($Revision:: 1.0 $)
endobj
774 0 obj
从
($Revision:: 1.0 $)
到($Revision::20171219200322$)
,即对象的总大小增加了 2 个字符。
但是,此更改会破坏 PDF。
这是怎么发生的?我猜PDF中还有其他地方依赖于obj的大小。
有人可以解释一下吗?
非常感激
===================更新==================
感谢以下评论。
我试图在整个 pdf 文件中查找外部参照表,但只找到了如下内容:
...
endobj
startxref
116666
%%EOF
在文件的底部。那里没有实际的桌子。任何想法?
谢谢您的帮助。
===================更新 22/12/2017 ==================
现在我能够找到需要使用 iText 修改的 AcroFields。但是,我不想使用AcroFields.setField(String name, String value)
方法来设置字段值,我想修改PdfString
该字段所引用的对象的值。我可以通过调用PdfReader.getPdfObject(item.getMerged(0).get(PdfName.DV))
它来获取对象,它给了我一个 PdfString 对象,但我找不到改变它的值的方法。任何想法?