PDF/3-A準拠のPDFを作成し、ZUGFeRD請求書をPythonで添付する

ZUGFeRDをPDFに添付

ZUGFeRDをPDFに添付するために次の手順をお勧めします:

  1. Aspose.PDFライブラリをインポートし、便利のためにapというエイリアスを付けます。

  2. 入力および出力PDFファイルが配置されているディレクトリへのパスを定義します。

  3. 処理されるPDFファイルへのパスを定義します。

  4. パス変数からPDFファイルを読み込み、Documentオブジェクトを作成します。

  5. 請求書メタデータを含むXMLファイルのFileSpecificationオブジェクトを作成します。パス変数と説明文字列を使用してFileSpecificationオブジェクトを作成します。

  6. FileSpecificationオブジェクトのmime_typeプロパティとaf_relationshipプロパティをそれぞれtext/xmlおよびALTERNATIVEに設定します。

  7. fileSpecificationオブジェクトをドキュメントオブジェクトの埋め込みファイルコレクションに追加します。これにより、XMLファイルがPDFドキュメントに請求書メタデータファイルとして添付されます。

  8. PDFドキュメントをPDF/A-3A形式に変換します。ログファイルへのパス、PdfFormat.PDF_A_3A列挙型、およびConvertErrorAction.DELETE列挙型を使用してドキュメントオブジェクトを変換します。

  9. 添付されたZUGFeRDと共にPDFドキュメントを保存します。

import aspose.pdf as ap

# 入力および出力PDFファイルが配置されているディレクトリへのパスを定義します
_dataDir = "./"

# 処理されるPDFファイルを読み込みます
path = _dataDir + "ZUGFeRD/ZUGFeRD-test.pdf"
document = ap.Document(path)

# 請求書メタデータを含むXMLファイルのFileSpecificationオブジェクトを作成します
description = "ZUGFeRD標準に準拠した請求書メタデータ"
path = _dataDir + "ZUGFeRD/factur-x.xml"
fileSpecification = ap.FileSpecification(path, description)

# 埋め込みファイルのMIMEタイプとAFRelationshipプロパティを設定します
fileSpecification.mime_type = "text/xml"
fileSpecification.af_relationship = ap.AFRelationship.ALTERNATIVE

# 埋め込みファイルをPDFドキュメントの埋め込みファイルコレクションに追加します
document.embedded_files.add("factur",fileSpecification)

# PDFドキュメントをPDF/A-3A形式に変換します
path = _dataDir + "ZUGFeRD/log.xml"
document.convert(path, ap.PdfFormat.PDF_A_3A, ap.ConvertErrorAction.DELETE)

# 添付されたZUGFeRDと共にPDFドキュメントを保存します
path = _dataDir + "ZUGFeRD/ZUGFeRD-res.pdf"
document.save(path)