使用iTextSharp(C#)从PDF中提取嵌入式XML

卡科斯塔

我需要使用C#提取嵌入破产法院文件中的XML数据在PDF Reader中,文件看起来像是典型的法庭文档。在记事本中,XML被埋在文本中。我尝试使用SimpleTextExtractionStrategy提取带有代码另一个代码片段的文本第一个生成的文件中没有来自PDF的可识别文本,第二个输出的符号是。我还尝试将其作为AcroField和Xfaform访问。似乎不是基于“监视”窗口的那些。

遍历Visual Studio中的代码,XML出现在“监视”窗口中的PDFReader >>目录>>键>>原始>>非公共成员>>词典下。我不知道如何到达。由于它在Watch中与其他PDFName一起列出,我想我也许可以通过PDFReader.Catalog.GetAsDict访问它,但它不会显示为PDFName。这些文件的提供者有一个Java应用程序,它似乎只读取文本。不知道我是否需要使用其他提取策略,还是直接访问包含XML的目录项。我从来没有以编程方式使用PDF文件或iTextSharp,所以我很挣扎。有任何代码建议吗?

布鲁诺·洛瓦吉

如果您可以将PDF与嵌入式XML共享,将很有帮助。当我第一次阅读您的问题时,我假设XML将作为文档级附件(存储在EmbeddedFiles中)或作为附件注释(存储在添加到页面字典中的Annot中)添加。

阅读uscourts.gov上写的内容,看起来XML实际上是XMP流。这意味着您可以在目录的“元数据”条目中找到它(或者可以在页面词典中找到它)。

如果您无法共享文件,则必须自己做。您可以通过下载iText RUPS来实现它是查看PDF内部免费工具

浏览树形结构,寻找Metadata,寻找EmbeddedFiles,寻找Annots如果您不告诉我们XML的嵌入方式,那么没有人能够为您提供帮助。

请查看我对以下问题的回答,以获取示例:如何使用itext删除PDF附件请参阅我如何使用RUPS来查看目录>名称> EmbeddedFiles)。

额外说明:到目前为止,您尝试过的代码是有关从页面中提取文本的,而不是有关提取嵌入在PDF中的XML文件的。

更新:

现在,您已经共享了文件,我已经使用RUPS查找XML文件。看下面的屏幕截图:

屏幕截图

你看到这里发生了什么吗?有人添加了一个名为自定义项/USCTbankruptcynoticeString作为价值直奔目录。太错了:将文件存储string中是一个坏主意该开发人员为什么不将文件存储为流?对于雇用这样的开发人员的人,我感到很难过。

话虽如此,这是提取XML的方法:

PdfDictionary catalog = reader.Catalog;
PdfName name = new PdfName("USCTbankruptcynotice");
PdfString USCTbankruptcynotice = catalog.GetAsString(key);
string xml = USCTbankruptcynotice.ToString();

这是从内存写入的。如果您需要进行小的更正,请更新我的答案。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用Java从文档中提取嵌入式文件

C#使用嵌入式图标

使用 PDFBox 解析器从 PDF 中提取嵌入式 Flash 文件的最佳方法是什么?

嵌入式资源的C#提取的Delphi等效代码

从pdf提取嵌入式对象

从PDF提取嵌入式图像

我需要使用Python / BeautifulSoup从网页中提取嵌入式.xlsx链接的帮助

如何从SVG文件中提取嵌入式图像?

从嵌入式Google地图中提取标记坐标

从html中的嵌入式脚本标签中提取数据

使用嵌入式动画播放pdf

无需完全解析即可提取嵌入式PDF文件

提取嵌入式initramfs

使用ffmpeg从具有嵌入式封面的文件中提取视频封面/缩略图

使用BeautifulSoup提取带有嵌入式链接的文本

C#控制台应用程序XML注释和嵌入式注释

转换PDF中的外部链接以链接到iTextSharp中的嵌入式附件

如何使用iTextSharp从PDF中提取实际字体名称?

使用Java在Excel中读取嵌入式pdf文件

使用Selenium / Python下载嵌入式PDF?

如何使用iText检查PDF中的嵌入式字体

使用Python自动下载嵌入式PDF文件

从h2o.word2vec对象中提取每个单词的嵌入式vecor

如何从Wix刻录安装程序中提取嵌入式有效负载?

如何从嵌入式字典/列表中提取所有值

如何在mongoDB中的嵌入式文档中提取特定元素

从Google表格中提取嵌入式图片并重新插入为链接

如何从具有嵌入式null的字符数组中提取std :: string

在JSOUP中提取到嵌入式资源的链接的最有效方法