Membuat PDF yang sesuai dengan PDF/3-A dan melampirkan faktur ZUGFeRD dalam Python
Melampirkan ZUGFeRD ke PDF
Kami merekomendasikan langkah-langkah berikut untuk melampirkan ZUGFeRD ke PDF:
-
Impor pustaka Aspose.PDF dan beri alias ap untuk kemudahan.
-
Tentukan jalur ke direktori di mana file PDF input dan output berada.
-
Tentukan jalur ke file PDF yang akan diproses.
-
Muat file PDF dari variabel jalur dan buat objek Document.
-
Buat objek FileSpecification untuk file XML yang berisi metadata faktur. Gunakan variabel jalur dan string deskripsi untuk membuat objek FileSpecification.
-
Tetapkan properti
mime_type
danaf_relationship
dari objek FileSpecification ketext/xml
danALTERNATIVE
, masing-masing. -
Tambahkan objek fileSpecification ke koleksi file tersemat objek dokumen. Ini melampirkan file XML ke dokumen PDF sebagai file metadata faktur.
-
Konversikan dokumen PDF ke format PDF/A-3A. Gunakan jalur ke file log, enumerasi
PdfFormat.PDF_A_3A
, dan enumerasiConvertErrorAction.DELETE
untuk mengonversi objek dokumen. -
Simpan dokumen PDF dengan ZUGFeRD yang terlampir.
import aspose.pdf as ap
# Tentukan jalur ke direktori di mana file PDF input dan output berada
_dataDir = "./"
# Muat file PDF yang akan diproses
path = _dataDir + "ZUGFeRD/ZUGFeRD-test.pdf"
document = ap.Document(path)
# Buat objek FileSpecification untuk file XML yang berisi metadata faktur
description = "Metadata faktur yang sesuai dengan standar ZUGFeRD"
path = _dataDir + "ZUGFeRD/factur-x.xml"
fileSpecification = ap.FileSpecification(path, description)
# Tetapkan tipe MIME dan properti AFRelationship dari file tersemat
fileSpecification.mime_type = "text/xml"
fileSpecification.af_relationship = ap.AFRelationship.ALTERNATIVE
# Tambahkan file tersemat ke koleksi file tersemat dokumen PDF
document.embedded_files.add("factur",fileSpecification)
# Konversikan dokumen PDF ke format PDF/A-3A
path = _dataDir + "ZUGFeRD/log.xml"
document.convert(path, ap.PdfFormat.PDF_A_3A, ap.ConvertErrorAction.DELETE)
# Simpan dokumen PDF dengan ZUGFeRD yang terlampir
path = _dataDir + "ZUGFeRD/ZUGFeRD-res.pdf"
document.save(path)