Indeks kesesuaian: apa yang dihasilkan NextPDF dan siapa yang menetapkan kesesuaiannya
Sekilas pandang
Bagian berjudul “Sekilas pandang”Pernyataan batas. Dukungan terhadap suatu profil bukanlah kesesuaian; validator independenlah yang menetapkan kesesuaian.
Halaman ini mengindeks profil standar yang ditargetkan NextPDF Core. Setiap halaman di bagian ini berpegang pada satu aturan dari standar: pustaka menghasilkan keluaran yang dimaksudkan untuk sesuai dengan suatu profil, sementara validator independenlah yang memutuskan apakah suatu berkas Portable Document Format (PDF) benar-benar sesuai. Validator tersebut dapat berupa veraPDF, pemeriksa PDF/UA, validator e-faktur Schematron, atau otoritas penerima. Untuk PDF/A, ISO 19005-4 §6.7.3 menyatakan batas ini secara eksplisit: penanda pdfaid:part/pdfaid:rev mengidentifikasi maksud produsen; penanda tersebut tidak menentukan kesesuaian. Keputusan dibuat berdasarkan klausul kesesuaian dalam standar, melalui proses di luar pustaka penghasilnya.
NextPDF tidak menyatakan kesesuaian. NextPDF memancarkan artefak struktural yang dipersyaratkan oleh suatu profil. Ketika suatu profil dibatasi, NextPDF gagal cepat di batas API, sehingga kapabilitas yang tidak tersedia muncul sebagai galat yang jelas, bukan sebagai berkas yang diam-diam tidak sesuai.
Pemasangan
Bagian berjudul “Pemasangan”composer require nextpdf/core:^3Beberapa profil di bawah ini memerlukan paket Premium nextpdf/pro; setiap halaman terkait mencatat persyaratan tersebut. Core menyertakan diskriminator kesesuaian (NextPDF\Conformance\ConformanceMode) dan validator aliran bita di NextPDF\Compliance. Alur penyusunan OutputIntent / International Color Consortium (ICC) / Extensible Metadata Platform (XMP) untuk profil arsip disertakan dalam nextpdf/pro.
Ikhtisar konseptual
Bagian berjudul “Ikhtisar konseptual”NextPDF mengarahkan dokumen ke kontrak kesesuaian melalui satu diskriminator bertipe, NextPDF\Conformance\ConformanceMode. Enum tersebut menjadi sumber kebenaran untuk kontrak ISO yang harus dipatuhi penulis. Enum ini memiliki kasus untuk Plain, PdfUa1, PdfUa2, PdfA2, PdfA3/PdfA3b/PdfA3u, dan PdfA4/PdfA4e/PdfA4f. Penulis membaca mode tersebut dan memancarkan struktur yang dipersyaratkan; penulis tidak pernah menyetel flag yang menyatakan bahwa berkas sesuai.
Tiga batas berlaku di seluruh halaman pada bagian ini:
- Dukungan ≠ kesesuaian. Memancarkan metadata yang dipersyaratkan oleh suatu profil adalah kapabilitas, bukan putusan.
- Validasi ≠ sertifikasi. Laporan validator tanpa galat adalah bukti, bukan sertifikat.
- Profil yang teruji ≠ sertifikasi. Pengujian NextPDF menegaskan bahwa bita yang dipancarkan sesuai dengan klausul yang dikutip; pengujian tersebut bukan audit terakreditasi.
Permukaan API
Bagian berjudul “Permukaan API”Titik masuk kesesuaian pada NextPDF\Core\Document adalah:
| Metode | Efek | Tingkat |
|---|---|---|
enablePdfA(?object $version = null) | Mengarahkan dokumen ke kasus PDF/A ConformanceMode (bawaan PdfA4); menjadwalkan OutputIntent + ICC + XMP saat save(). Melempar InvalidConfigException jika nextpdf/pro tidak tersedia. | API Core, mesin Premium |
enableTaggedPdf(string $lang = 'en', ?ConformancePolicy $policy = null) | Menyetel ConformanceMode::PdfUa2, menghubungkan emiter konten bertanda, dan memvalidasi tag bahasa terhadap kebijakan. | Core |
Contoh kode — Mulai cepat
Bagian berjudul “Contoh kode — Mulai cepat”<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Core\Document;
$doc = Document::createStandalone();$doc->enableTaggedPdf('en'); // ConformanceMode::PdfUa2$doc->setTitle('Conformance index sample');$doc->writeHtml('<h1>Hello</h1><p>Tagged content.</p>');$doc->save(getenv('NEXTPDF_COOKBOOK_OUTPUT') ?: __DIR__ . '/out.pdf');Contoh kode — Produksi
Bagian berjudul “Contoh kode — Produksi”Tidak berlaku. Halaman tiap profil menyediakan contoh produksi yang dapat dijalankan; indeks ini berfungsi sebagai halaman perutean.
Kasus tepi & jebakan
Bagian berjudul “Kasus tepi & jebakan”- Indeks ini tidak menegaskan perilaku apa pun. Halaman tiap profil memuat tabel klaim yang telah diverifikasi. Halaman ini hanya menyatakan aturan yang berlaku.
- Nama profil dalam metadata adalah klaim, bukan bukti. Saat pembaca menemukan
pdfaid:part=4, yang terlihat adalah maksud produsen, bukan bukti bahwa berkas tersebut sesuai. - Pembatasan kapabilitas bersifat gagal cepat. Instalasi hanya Core yang memanggil jalur arsip Premium akan memperoleh
InvalidConfigExceptiondengan pesan peningkatan versi, bukan berkas yang diam-diam tidak sesuai.
Kinerja
Bagian berjudul “Kinerja”Tidak berlaku untuk indeks ini. Halaman tiap profil mendeklarasikan anggarannya sendiri.
Catatan keamanan
Bagian berjudul “Catatan keamanan”Profil kesesuaian membatasi struktur, bukan postur ancaman. PDF/A-4 melarang enkripsi; PDF/UA-2 mempersyaratkan struktur yang dapat diakses. Keduanya bukanlah kontrol keamanan. Lihat pusat kepercayaan untuk model keamanan mesin ini.
Kesesuaian
Bagian berjudul “Kesesuaian”| Klaim | Spesifikasi | Klausul | reference_id |
|---|---|---|---|
Penanda pdfaid dari produsen mengidentifikasi maksud; klausul kesesuaian dari standar mengatur penetapan oleh validator atau proses, bukan oleh pustaka. | ISO 19005-4 | §6.7.3 | |
| Kesesuaian PDF/UA-2 dinilai berdasarkan persyaratan kesesuaian dalam standar, bukan dinyatakan oleh perangkat lunak penghasilnya. | ISO 14289-2 | §7.2.2 | |
| Berkas PDF 2.0 yang sesuai harus memenuhi persyaratan struktur berkas dan trailer yang ditetapkan; pustaka memancarkan struktur tersebut tetapi tidak menilai hasilnya. | ISO 32000-2 | §7.5.5 |
Kutipan disajikan sebagai penunjuk clause-id + reference_id ke dalam korpus verifikasi. Tidak ada teks standar yang direproduksi.