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