- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 itext7 从头开始创建 PDF/A 时,以下内容始终会添加到 XMP 元数据中:
<rdf:Description rdf:about=""
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:pdf="http://ns.adobe.com/pdf/1.3/"
xmlns:pdfaExtension="http://www.aiim.org/pdfa/ns/extension/"
xmlns:pdfaSchema="http://www.aiim.org/pdfa/ns/schema#"
xmlns:pdfaProperty="http://www.aiim.org/pdfa/ns/property#"
xmlns:xmp="http://ns.adobe.com/xap/1.0/"
xmlns:pdfuaid="http://www.aiim.org/pdfua/ns/id/"
xmlns:pdfaid="http://www.aiim.org/pdfa/ns/id/"
dc:format="application/pdf"
pdf:Producer="iText® 7.0.3-SNAPSHOT ©2000-2017 iText Group NV (AGPL-version)"
xmp:CreateDate="2017-05-09T15:02:05+02:00"
xmp:ModifyDate="2017-05-09T15:02:05+02:00"
pdfaid:part="2"
pdfaid:conformance="A">
我需要明确不设置 xmp:ModifyDate。我尝试将其从目录中删除,但无济于事:
PdfADocument pdf = new PdfADocument(writer, PdfAConformanceLevel.PDF_A_2A, OutputIntent);
Document document = new Document(pdf);
... add content to pdf ...
pdf.getCatalog().remove(PdfName.ModDate);
document.close();
writer.close();
但是,xmp:ModifyDate 仍然显示在 XMP 元数据中。
有没有办法确保只添加 xmp:CreateDate?
最佳答案
我将向您展示两种避免将 ModifyDate
添加到元数据的方法。
如果在关闭文档之前通过PdfDocumentInfo
,则为第一个:
doc.getDocumentInfo().setMoreInfo(PdfName.ModDate.getValue(), null);
doc.close();
第二种方式更加灵活,通过重写PdfDocument
/PdfADocument
中的updateXmpMetadata
方法来完成:
@Override
protected void updateXmpMetadata() {
// Do not forget to call the method of the base class!
super.updateXmpMetadata();
try {
XMPMeta meta = XMPMetaFactory.parseFromBuffer(getXmpMetadata(true));
// Here we remove the unwanted entry from the metadata
meta.deleteProperty(XMPConst.NS_XMP, PdfConst.ModifyDate);
setXmpMetadata(meta);
} catch (XMPException e) {
}
}
关于java - 可以添加xmp :ModifyDate be avoided in itext7?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43957866/
使用 itext7 从头开始创建 PDF/A 时,以下内容始终会添加到 XMP 元数据中: 我需要明确不设置 xmp:ModifyDate。我尝试将其从目录中删除,但无济于事: PdfADocu
有人可以向我解释为什么我会收到此警告吗?我已经测试了代码并且它有效,我得到了我应该在那里得到的值(value)。这是错误警告还是我遗漏了什么? [DataMember(Name = "modifyDa
我继承了以下管理查询并时常运行它,完全理解它返回的是什么: --Loop until the Cursor was not able to fetch WHILE (@@Fetch_Status >=
我继承了以下管理查询并时常运行它,完全理解它返回的是什么: --Loop until the Cursor was not able to fetch WHILE (@@Fetch_Status >=
我是一名优秀的程序员,十分优秀!