问题描述
我正在使用 PDFTron 的 Java SDK,我想更改元素的名称,然后将修改后的 PDF 写入新文件,但我得到以下输出:
keytool -v -list -keystore keystore.jks
PDFNet is running in demo mode.
Permission: read
Exception:
Message: SetName() can't be invoked on Obj of this type.
解决方法
API Field.GetName()
在技术上是此叶字段和任何父字段的合并,由 .
分隔。
因此,虽然 Field.getName()
可能返回 name.first
,但字段的 T
值可能只是 first
。这就是 Field.getPartialName()
存在的原因。
因此,更改 T
值的更好/更安全的代码是。
var obj = field.findAttribute("T")
if (obj != null && obj.isString() && obj.getAsPDFText().startsWith("MyPrefix")) {
obj.setString("NewPrefix")
}