Lewati ke konten
getnextpdf.com

Pro edisi

Kepatuhan

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.

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.

Terminal window
composer require nextpdf/pro:^3

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.

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.

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.

ClassTanggung jawab
LangComplianceReporterMemancarkan rekaman peristiwa tag-bahasa terstruktur.
ConformancePolicyFasad kebijakan bahasa UA-2 ketat Premium.
EInvoiceValidatorMemeriksa EN 16931 / Factur-X / ZUGFeRD; mengembalikan hasil.
EInvoiceValidationResultProfil, sintaks, pelanggaran aturan, pemeriksaan wrapper.
FacturXEmbedderMenghasilkan dokumen hibrida PDF/A-3 + XML Factur-X.
C2paManifestEmbedderMenyematkan atau mengekstrak manifest store C2PA.
ManifestStoreObjek nilai manifest-store C2PA yang imutabel.
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 BR
$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.
  • 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.

Biaya validasi menskala dengan ukuran XML tertanam dan jumlah aturan. Pelaporan tag-bahasa bersifat konstan per peristiwa.

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.

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.

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.

PerilakuReferensiStatus
Deklarasi bahasa alami (/Lang)ISO 14289-2:2024 §8.4.4Diperiksa / dilaporkan
Model semantik faktur intiEN 16931-1:2026Diperiksa (penerbit tetap bertanggung jawab)
Manifest store C2PA / JUMBFC2PA 2.1 §11.1Sematkan / ekstrak didukung

Tabel ini mencatat spesifikasi yang menjadi dasar pembangunan NextPDF Pro dan apa yang diperiksanya. Ini bukan pernyataan sertifikasi atau kecukupan regulasi.

Modul ini tidak melakukan penandatanganan kriptografi. Penandatanganan klaim C2PA dan kustodi kunci berada di luar cakupannya; lihat modul Security untuk perilaku penandatanganan FIPS-mode.

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.

  • LangComplianceReporter memancarkan 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.
  • ConformancePolicy secara 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.
  • EInvoiceValidator mendeteksi profil, menjalankan mesin aturan-bisnis EN 16931 dan lintasan Schematron, lalu mengembalikan sebuah EInvoiceValidationResult. Ia bukan validator otoritas-pajak; ekstensi nasional berada di luar cakupan dan penerbit tetap bertanggung jawab sesuai EN 16931-1.
  • FacturXEmbedder menghasilkan dokumen PDF/A-3 hibrida dengan XML Factur-X terlampir. C2paManifestEmbedder menyematkan atau mengekstrak ManifestStore yang disediakan pemanggil; ia tidak mensintesis atau menandatangani klaim.
  • Modul ini melaporkan apa yang diperiksanya. Ia tidak menyertifikasi sebuah dokumen atau menjamin kecukupan regulasi.

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.

Tidak ada padanan Core untuk pelaporan tag-bahasa, penanganan e-faktur, atau penyematan manifes C2PA. Ini adalah tambahan Pro.

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.