我正在使用 iText 5.4.0 创建一个 PDF 文件。我需要向 pdf 添加一些自定义属性。我尝试了两种方法
- 类的 addHeader 方法
com.itextpdf.text.Document
和 - 的 setMoreInfo 方法
com.itextpdf.text.pdf.PdfStamper
。
但是这两个都将自定义属性添加到信息字典中。
我需要使用 Xmp 添加它们并检索回 Xml 文件。我怎样才能做到这一点??
是的..!!.. 像这样实现了自定义架构
public class CustomSchema extends XmpSchema
{
private static final long serialVersionUID = -4551741356974797330L;
public static final String LABELID = "ls:LabelId";
public CustomSchema() {
super("cusprop");
}
public void addLabelId(String labelId) {
XmpArray array = new XmpArray(XmpArray.UNORDERED);
array.add(labelId);
setProperty(LABELID, array);
}
public void addLabelArr(String tagId, String[] tagValue) {
XmpArray array = new XmpArray(XmpArray.ORDERED);
for (int i = 0; i < tagValue.length; i++) {
array.add(tagValue[i]);
}
setProperty(tagId.toString().replace(" ", "").trim(), array);
}
}
生成的 XML 如下
<rdf:Description rdf:about="" xmlns:ls="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<TagId-20>
<rdf:Seq>
<rdf:li>arr0</rdf:li>
<rdf:li>arr1</rdf:li>
</rdf:Seq>
</TagId-20>
</rdf:Description>
我想知道,如果这种结构也可以定制。例如,
-<TagId-20>
-<customTag>
<ls:userId>USERNAME</ ls:userId >
<ls:WONum>12-110992</ WONum >
</customTag >
</TagId-20>
为了获得上述结构,我需要做什么?有没有可用的例子?