首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法删除iText 7中所有的XMP MetaData?

有没有办法删除iText 7中所有的XMP MetaData?
EN

Stack Overflow用户
提问于 2018-06-09 04:54:14
回答 2查看 612关注 0票数 0

我正在尝试删除iText 7中的所有XMP MetaData。它看起来应该删除,但当我写回它时,所有旧数据仍然在那里。我试过这个:

代码语言:javascript
复制
var pdfDoc = new PdfDocument(new PdfReader("document.pdf"), new PdfWriter("document-new.pdf"));
pdfDoc.SetXmpMetadata(XMPMetaFactory.Create());
pdfDoc.Close();

我们只想确保所有可能的元数据都被删除,因为这些元数据是用于论文的,我们不想让审稿人知道谁的论文隐藏了一些元数据。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2018-06-11 21:42:42

我的回答是远离电脑。我不确定这是不是缓存问题,但我在周末重新启动了我的计算机,用同样的代码打开Visual Studio,它开始工作了。是啊,为了周末!

票数 2
EN

Stack Overflow用户

发布于 2018-06-11 02:48:58

首先,我想提到的是,在PDF文件中隐藏信息的方法有很多,而且您不能保证通过删除元数据就可以删除所有的痕迹。然而,这确实是一个必要的预防措施。

元数据不随代码一起删除的原因是,关于作者、标题和类似内容的信息可以存储在元数据中,也可以存储在所谓的Info dictionary中。此外,info字典和元数据中的信息应该保持同步-这是iText为您处理的。

因此,为了确保删除作者、标题等信息,也要从信息字典中删除这些信息(我在这里使用的是N/A,如果愿意,您可以使用空字符串):

代码语言:javascript
复制
pdfDocument.getDocumentInfo().setAuthor("N/A");
pdfDocument.getDocumentInfo().setCreator("N/A");
pdfDocument.getDocumentInfo().setKeywords("N/A");
pdfDocument.getDocumentInfo().setSubject("N/A");
pdfDocument.getDocumentInfo().setTitle("N/A");
pdfDocument.setXmpMetadata(XMPMetaFactory.create());
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50768263

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档