私は現在、新しいドイツ語の ZUGFeRD ファイルを扱っています。これらは、データを含む XML ファイルが埋め込まれた PDF A/3 ファイルです。
C# で abcpdf 8.1 を使用して、PDF A/3 からこの XML ファイルを抽出したいと考えています。
これを行う方法はありますか?
どうもありがとうございました。
abcpdfについてはわかりませんが、pdfライブラリはpdfコンテンツへの同様のアクセスを提供していると思います。
最初にDas-ZUGFeRD-Format_1p0.pdf を見てください。特に 112 ページ。画像は、xml ストリームを見つけるためにたどる必要があるオブジェクト ツリーを示しています。
このツリーには、名前、タイプ、および方向があります。これで、pdf オブジェクト ツリーを走査して、探している XML コンテンツに到達できます。
図に基づいた手順。
AF
カタログから名前の配列を取得しますAF
ます ( である必要がありますfile spec
)file spec
を取得するEF
EF
これは、コンテンツに到達するために実行する必要がある手順です。
PDF の構造を表示してツリーを参照するには、iText RUPSなどのツールを使用することをお勧めします
私はabcpdfで何をしましたか:
Doc から Objectsoup Array を取得します (ほぼ Doc 内のすべてのオブジェクトの配列)
ZUGFeRD では PDF 内に 1 つの埋め込みファイルしか許可されないため、/EmbeddedFile を含むタイプ StreamObject の 1 つをこの objectsoup-array で検索しました。
そのオブジェクトのストリームを解凍し、ストリームのバイト[]を取得してxmlファイルに書き込みます