Pro edisi
Kepatuhan
Sekilas pandang
Bagian berjudul “Sekilas pandang”NextPDF Pro melaporkan peristiwa tag-bahasa PDF/UA-2, memvalidasi dan menyematkan XML e-faktur Factur-X / ZUGFeRD, serta menyematkan atau membaca manifest store C2PA. Fitur-fitur ini menghasilkan laporan dan hasil terstruktur. Fitur-fitur ini tidak menyertifikasi sebuah dokumen atau menjamin kecukupan regulasi.
Ketersediaan & lisensi
Bagian berjudul “Ketersediaan & lisensi”Kapabilitas ini hadir dalam NextPDF Pro (nextpdf/pro) dan aktif dengan amplop lisensi tingkat Pro. Deployment tanpa entitlement tersebut tidak memuat kelas-kelas kapabilitas ini. Compliance adalah bagian dari edisi Pro; tidak ada penanda lisensi per-fitur terpisah. Bandingkan edisi dan dapatkan lisensi.
Pemasangan
Bagian berjudul “Pemasangan”composer require nextpdf/pro:^3Tinjauan konseptual
Bagian berjudul “Tinjauan konseptual”Modul Compliance memiliki tiga permukaan independen.
Pelaporan tag-bahasa. LangComplianceReporter memancarkan satu rekaman JSON terstruktur untuk setiap peristiwa tag-bahasa PDF/UA-2. Setiap rekaman membawa tag yang bermasalah, alasan yang dapat dibaca mesin, komponen tag yang diurai, referensi klausul ISO 14289-2 §8.4.4, dan stempel waktu. ConformancePolicy adalah fasad Premium yang secara default melakukan penanganan bahasa UA-2 yang ketat: ia gagal-tertutup ketika tag BCP-47 yang cacat atau tidak terdaftar mencapai entri /Lang. Sebuah opt-out longgar (ConformancePolicy::withStrictUa2(false)) mengembalikan ke perilaku permisif lama dan mencatat sebuah notice. NextPDF menandai opt-out tersebut deprecated; gunakan default ketat sebagai gantinya. Opt-out tersebut ada sejak v5.0 dan dihilangkan di rilis mayor berikutnya. Untuk bermigrasi, audit korpus Anda untuk nilai /Lang yang cacat, perbaiki, lalu hapus pemanggilan opt-out sehingga default ketat berlaku.
Penanganan e-faktur. EInvoiceValidator memeriksa PDF hibrida terhadap model data semantik EN 16931 dan spesifikasi kontainer Factur-X 1.08 / ZUGFeRD 2.4. Ia mendeteksi profil, menjalankan mesin aturan-bisnis EN 16931, dan menjalankan lintasan Schematron. Sebelum memvalidasi, ia mengekstrak XML faktur tertanam dari PDF — termasuk dari PDF object-stream, yang merupakan keluaran default produsen umum seperti Ghostscript, Gotenberg, dan Antenna House, dan yang ekstraksi sebelumnya tidak dapat membacanya. Ekstraktor menerima subtipe MIME berparameter RFC 7303 (misalnya text/xml; charset=UTF-8) dan nama berkas-tertanam literal-string ISO 32000-2, termasuk escape. FacturXEmbedder menghasilkan dokumen PDF/A-3 hibrida dengan XML Factur-X terlampir. EInvoiceValidationResult melaporkan profil, sintaks, pelanggaran aturan, dan pemeriksaan wrapper.
Provenans. C2paManifestEmbedder menyematkan manifest store C2PA yang disediakan pemanggil ke dalam string byte PDF, atau mengekstraknya kembali. ManifestStore adalah objek nilai imutabel yang melintasi batas. Sambungan ini tidak mensintesis klaim atau menyelesaikan binding hash.
Apa makna “compliance” di sini
Bagian berjudul “Apa makna “compliance” di sini”Modul ini melaporkan apa yang diperiksanya. Ia tidak menegaskan bahwa sebuah dokumen patuh secara hukum, tersertifikasi, atau mengikat secara hukum, dan ia tidak menjamin bahwa keluaran apa pun memenuhi suatu regulasi atau yurisdiksi.
- Validator e-faktur hanya memeriksa model semantik EN 16931 dan spesifikasi kontainer Factur-X / ZUGFeRD. Ia bukan validator otoritas-pajak. Ekstensi nasional — misalnya SDI Italia, Chorus Pro Prancis, XRechnung Jerman — berada di luar cakupan. Sebagaimana dicatat oleh EN 16931-1 sendiri, penerbit faktur bertanggung jawab memenuhi aturan legislasi yang relevan.
- Pelapor tag-bahasa menghasilkan laporan peristiwa tag. Ia tidak membuat sebuah dokumen menjadi konforman.
- Penyematan C2PA menulis manifes yang disediakan pemanggil. Ia tidak menghasilkan atau menandatangani klaim di dalamnya.
Dukungan terhadap suatu standar tidaklah sama dengan konformansi terhadapnya. Konsultasikan dengan tim kepatuhan Anda untuk menilai kecukupan regulasi bagi penggunaan Anda.
Mengapa bekerja seperti ini
Bagian berjudul “Mengapa bekerja seperti ini”Keputusan yang menanggung beban adalah garis tegas antara memeriksa dan menyertifikasi. Setiap permukaan mengembalikan bukti — sebuah laporan, hasil validasi, manifes tertanam — bukan penegasan bahwa sebuah dokumen patuh secara hukum. Itu menjaga sambungan tetap jujur lintas edisi. ConformancePolicy gagal-tertutup pada tag /Lang yang cacat, dan C2paManifestEmbedder tidak pernah menandatangani klaim yang dibawanya. EInvoiceValidator::validate() mengembalikan sebuah EInvoiceValidationResult; isValid() yang hijau adalah satu masukan bagi keputusan Anda, bukan sebuah putusan yang dapat Anda serahkan kepada regulator tanpa pemeriksaan. Bukti tersebut berpadu dengan kontrol Anda sendiri alih-alih menggantikannya, sehingga tetap jujur bahkan ketika input bermusuhan.
Latar belakang desain: Kepatuhan yang dapat Anda serahkan kepada auditor.
Permukaan API
Bagian berjudul “Permukaan API”| Class | Tanggung jawab |
|---|---|
LangComplianceReporter | Memancarkan rekaman peristiwa tag-bahasa terstruktur. |
ConformancePolicy | Fasad kebijakan bahasa UA-2 ketat Premium. |
EInvoiceValidator | Memeriksa EN 16931 / Factur-X / ZUGFeRD; mengembalikan hasil. |
EInvoiceValidationResult | Profil, sintaks, pelanggaran aturan, pemeriksaan wrapper. |
FacturXEmbedder | Menghasilkan dokumen hibrida PDF/A-3 + XML Factur-X. |
C2paManifestEmbedder | Menyematkan atau mengekstrak manifest store C2PA. |
ManifestStore | Objek nilai manifest-store C2PA yang imutabel. |
Contoh kode — Mulai cepat
Bagian berjudul “Contoh kode — Mulai cepat”use NextPDF\Pro\Compliance\EInvoice\EInvoiceValidator;
$result = $validator->validate('/path/to/invoice.pdf');$ok = $result->isValid(); // true only if wrapper, attachment, profile, and no fatal BRContoh kode — Produksi
Bagian berjudul “Contoh kode — Produksi”$result = $validator->validate($pdfPath);
foreach ($result->businessRuleViolations as $violation) { $logger->warning('einvoice.br_violation', [ 'rule' => $violation->ruleId, 'severity' => $violation->severity->value, ]);}// A green result is one input to your decision, not a compliance verdict.Kasus tepi & jebakan
Bagian berjudul “Kasus tepi & jebakan”- PDF yang well-formed dan bukan Factur-X mengembalikan hasil “not an e-invoice” alih-alih melempar eksepsi.
- Ekstraktor XML membaca PDF object-stream (keluaran default Ghostscript, Gotenberg, dan Antenna House) dan menerima subtipe MIME berparameter RFC 7303 serta nama berkas literal-string ISO 32000-2. Ini adalah ekstraksi kompatibilitas untuk keluaran produsen yang konforman, bukan validasi lampiran otoritatif terhadap input yang bermusuhan — aktivasi xref penuh untuk endpoint publik yang bermusuhan adalah batas tertunda yang terdokumentasi. Perlakukan ekstraksi dari sumber yang tidak tepercaya sesuai dengan itu.
- Daftar pelanggaran aturan-bisnis yang kosong tidak dengan sendirinya berarti dokumen valid; pemeriksaan wrapper dan lampiran juga berlaku.
- NextPDF mendeprekasi opt-out longgar UA-2 ketat; migrasikan ke default ketat (lihat Tinjauan konseptual). Opt-out itu dihilangkan di rilis mayor berikutnya.
Performa
Bagian berjudul “Performa”Biaya validasi menskala dengan ukuran XML tertanam dan jumlah aturan. Pelaporan tag-bahasa bersifat konstan per peristiwa.
Catatan keamanan
Bagian berjudul “Catatan keamanan”Semua penguraian XML menonaktifkan resolusi entitas-eksternal (XXE-safe) dan membatasi dekompresi. Perlakukan XML e-faktur dan byte C2PA dari sumber yang tidak tepercaya sebagai bermusuhan.
Residensi data & mitigasi PII
Bagian berjudul “Residensi data & mitigasi PII”XML e-faktur dapat memuat data pribadi dan finansial. Pemrosesan berlangsung in-process dan lokal; modul ini tidak melakukan panggilan jaringan keluar untuk validasi. Terapkan kontrol retensi dan minimalisasi Anda sendiri pada XML dan laporan yang diekstrak.
Telemetri aman & pembersihan log
Bagian berjudul “Telemetri aman & pembersihan log”Rekaman pelapor dan log validasi dapat menyertakan nilai tag dan pengidentifikasi aturan. Keduanya tidak menyertakan payload faktur lengkap. Bersihkan atau redaksi nilai tag sebelum meneruskan log ke sink bersama jika nilai-nilai tersebut sensitif.
Konformansi
Bagian berjudul “Konformansi”| Perilaku | Referensi | Status |
|---|---|---|
Deklarasi bahasa alami (/Lang) | ISO 14289-2:2024 §8.4.4 | Diperiksa / dilaporkan |
| Model semantik faktur inti | EN 16931-1:2026 | Diperiksa (penerbit tetap bertanggung jawab) |
| Manifest store C2PA / JUMBF | C2PA 2.1 §11.1 | Sematkan / ekstrak didukung |
Tabel ini mencatat spesifikasi yang menjadi dasar pembangunan NextPDF Pro dan apa yang diperiksanya. Ini bukan pernyataan sertifikasi atau kecukupan regulasi.
Perilaku FIPS-mode
Bagian berjudul “Perilaku FIPS-mode”Modul ini tidak melakukan penandatanganan kriptografi. Penandatanganan klaim C2PA dan kustodi kunci berada di luar cakupannya; lihat modul Security untuk perilaku penandatanganan FIPS-mode.
Model ancaman
Bagian berjudul “Model ancaman”XML e-faktur dan byte C2PA yang tidak tepercaya adalah input utama. Mitigasi: penguraian XXE-safe, dekompresi terbatas, tanpa sintesis klaim melintasi sambungan C2PA, dan tanpa I/O jaringan selama validasi.
Kontrak perilaku
Bagian berjudul “Kontrak perilaku”LangComplianceReportermemancarkan satu rekaman JSON terstruktur per peristiwa tag-bahasa PDF/UA-2 dengan tag yang bermasalah, alasan yang dapat dibaca mesin, komponen tag yang diurai, referensi ISO 14289-2 §8.4.4, dan stempel waktu.ConformancePolicysecara default melakukan penanganan bahasa UA-2 yang ketat dan gagal-tertutup ketika tag BCP-47 yang cacat atau tidak terdaftar mencapai/Lang. Opt-out longgar telah dideprekasi dan dihapus di rilis mayor berikutnya.EInvoiceValidatormendeteksi profil, menjalankan mesin aturan-bisnis EN 16931 dan lintasan Schematron, lalu mengembalikan sebuahEInvoiceValidationResult. Ia bukan validator otoritas-pajak; ekstensi nasional berada di luar cakupan dan penerbit tetap bertanggung jawab sesuai EN 16931-1.FacturXEmbeddermenghasilkan dokumen PDF/A-3 hibrida dengan XML Factur-X terlampir.C2paManifestEmbeddermenyematkan atau mengekstrakManifestStoreyang disediakan pemanggil; ia tidak mensintesis atau menandatangani klaim.- Modul ini melaporkan apa yang diperiksanya. Ia tidak menyertifikasi sebuah dokumen atau menjamin kecukupan regulasi.
Catatan batas Enterprise
Bagian berjudul “Catatan batas Enterprise”Compliance di Pro mencakup pelaporan tag-bahasa, pemeriksaan EN 16931 / Factur-X / ZUGFeRD, dan penyematan/ekstraksi manifes C2PA. Profil arsip dan tanda tangan yang diperluas, serta penandatanganan klaim C2PA dengan kustodi kunci, adalah urusan tingkat Enterprise yang didokumentasikan terpisah dan tidak disediakan oleh modul ini.
Fallback / alternatif Core
Bagian berjudul “Fallback / alternatif Core”Tidak ada padanan Core untuk pelaporan tag-bahasa, penanganan e-faktur, atau penyematan manifes C2PA. Ini adalah tambahan Pro.
Batas publikasi
Bagian berjudul “Batas publikasi”Halaman ini hanya mendokumentasikan perilaku yang dapat diamati secara eksternal dan permukaan API publik yang didukung. Jalur namespace internal, kelas helper, tabel mekanisme, nama berkas runbook, dan prefiks tiket berada di luar cakupan.
Lihat juga
Bagian berjudul “Lihat juga”- Security — penandatanganan dan redaksi.
- Enterprise editions — profil arsip dan tanda tangan yang diperluas.
- Specifications — indeks standar yang dirujuk.
- Compliance — Deep Reference — permukaan kelas dan metode lengkap.