我目前正在使用新的德国ZUGFeRD文件。这些是包含数据的嵌入式XML文件的PDF A / 3文件。
我想使用带有C#的abcpdf 8.1从PDF A / 3中提取此XML文件。
知道怎么做吗?
非常感谢和问候,
答案 0 :(得分:2)
我不知道abcpdf,但我想pdf libs提供了对pdfs内容的类似访问。
首先看看Das-ZUGFeRD-Format_1p0.pdf。特别是第112页。图像显示了您必须遍历的对象树,以便找到xml流。
使用此树,您可以获得名称,类型和方向。现在,您可以遍历pdf对象树以获取您要查找的XML内容。
基于图表的步骤。
AF
的数组
AF
数组获取第一个元素(应为file spec
)file spec
获取名为EF
EF
这是您访问内容时需要执行的步骤。
要显示pdf的结构并浏览树,我建议使用像iText RUPS这样的工具
答案 1 :(得分:-2)
我用abcpdf做了什么:
从Doc获取Objectsoup数组(几乎是Doc中所有对象的数组)
因为ZUGFeRD只允许PDF中的一个嵌入文件,所以我只搜索了这个objectsoup-array,其中包含一个包含/ EmbeddedFile的类型StreamObject
解压缩该对象的Stream,获取流的byte []并将其写入xml文件