3

私は現在、新しいドイツ語の ZUGFeRD ファイルを扱っています。これらは、データを含む XML ファイルが埋め込まれた PDF A/3 ファイルです。

C# で abcpdf 8.1 を使用して、PDF A/3 からこの XML ファイルを抽出したいと考えています。

これを行う方法はありますか?

どうもありがとうございました。

4

2 に答える 2

3

abcpdfについてはわかりませんが、pdfライブラリはpdfコンテンツへの同様のアクセスを提供していると思います。

最初にDas-ZUGFeRD-Format_1p0.pdf を見てください。特に 112 ページ。画像は、xml ストリームを見つけるためにたどる必要があるオブジェクト ツリーを示しています。

このツリーには、名前、タイプ、および方向があります。これで、pdf オブジェクト ツリーを走査して、探している XML コンテンツに到達できます。

図に基づいた手順。

  1. PDF を読む
  2. PDF 内のカタログを取得する
  3. AFカタログから名前の配列を取得します
  4. 配列から最初の要素を取得しAFます ( である必要がありますfile spec)
  5. という名前の辞書file specを取得するEF
  6. のストリーム コンテンツを取得するEF

これは、コンテンツに到達するために実行する必要がある手順です。

PDF の構造を表示してツリーを参照するには、iText RUPSなどのツールを使用することをお勧めします

于 2014-02-11T16:27:35.910 に答える
-2

私はabcpdfで何をしましたか:

  • Doc から Objectsoup Array を取得します (ほぼ Doc 内のすべてのオブジェクトの配列)

  • ZUGFeRD では PDF 内に 1 つの埋め込みファイルしか許可されないため、/EmbeddedFile を含むタイプ StreamObject の 1 つをこの objectsoup-array で検索しました。

  • そのオブジェクトのストリームを解凍し、ストリームのバイト[]を取得してxmlファイルに書き込みます

于 2014-02-12T10:39:08.917 に答える