Lewati ke konten

Pengarsipan dan PDF/A

Spec: ISO 19005-4:2020, PDF/A-4 Spec: ISO 19005-2, PDF/A-2 Evidence: Standard-backed

PDF/A adalah format yang Anda andalkan ketika sebuah dokumen harus tetap terbaca dan tetap setia puluhan tahun dari sekarang, bahkan pada perangkat lunak yang belum ada. Halaman ini menjelaskan cakupan sebenarnya dari jaminan itu, bagaimana NextPDF menghasilkan berkas yang sesuai, dan bagian yang kerap mengejutkan banyak tim: menghasilkan PDF/A dan membuktikan bahwa sebuah berkas adalah PDF/A adalah dua pekerjaan yang berbeda. Yang kedua tetap menjadi tanggung jawab Anda.

Kewajiban pengarsipan tidak memberi ruang untuk kesalahan, sering kali secara diam-diam. Berkas terlihat baik-baik saja hari ini, sehingga langsung diarsipkan. Kegagalan — fon yang tidak disematkan, warna yang bergantung pada perangkat, trailer yang terenkripsi — baru muncul bertahun-tahun kemudian, ketika lingkungan aslinya sudah tiada dan tidak ada lagi yang bisa merekonstruksi tampilan yang seharusnya. Pada saat itu, kerugiannya bukan lagi sekadar perlu render ulang; catatan itu sendiri tidak lagi dapat Anda percayai.

PDF/A ada justru untuk menghilangkan kelas kegagalan tersebut. Namun “kami memakai pustaka PDF/A” tidak sama dengan “berkas ini sesuai”. Mencampuradukkan keduanya adalah cara arsip menumpuk dokumen yang hanya tampak terlestarikan.

  • Tujuan PDF/A adalah reproduksi yang setia, mandiri, dan tidak bergantung pada perangkat sepanjang waktu — ia melestarikan tampilan visual statis sebuah dokumen, terlepas dari alat yang membuatnya (ISO 19005-2 Pendahuluan).
  • Itu menuntut batasan konkret: semua fon disematkan, warna yang tidak bergantung pada perangkat (secara langsung atau melalui output intent; ISO 19005-4 §6.2.4.1), dan tanpa enkripsi pada trailer.
  • NextPDF menghasilkan PDF/A melalui mode eksplisit yang harus diaktifkan, yang menolak operasi yang tidak kompatibel alih-alih menghasilkan berkas yang diam-diam tidak sesuai.
  • Kesesuaian ditentukan oleh validator, bukan ditegaskan oleh penghasilnya. Bahkan keberhasilan standar itu sendiri bergantung pada lingkungan dan prosedur pengarsipan di sekitarnya (ISO 19005-4 Pendahuluan). Memvalidasi keluaran adalah langkah yang tetap menjadi kewajiban Anda.

NextPDF memperlakukan PDF/A sebagai mode yang berlaku pada dokumen, bukan filter pascaproses. Mode ini harus diaktifkan secara eksplisit. Setelah aktif, mode ini menjaga dokumen dari operasi yang akan merusak kesesuaian. Prinsip rancangannya adalah fail-fast. Lebih baik menolak permintaan PDF/A yang terenkripsi secara eksplisit daripada mengembalikan berkas yang tampak layak arsip padahal bukan.

Skenario ini memiliki empat tahap. Tahap ketiga adalah yang sering dilewati banyak tim.

  1. Compose for permanence Embed every font, use device-independent colour or an output intent, and avoid features the chosen PDF/A part forbids.
  2. Enable the PDF/A mode Opt in explicitly to the target conformance level. The mode now guards the document against incompatible operations.
  3. Validate independently Run a conformance checker. A passing report — not the producing library — is the evidence the archive needs.
  4. Preserve with procedure Store under records-management policy. The standard itself notes archival success depends on the environment, not the file alone.
Skenario pengarsipan dari ujung ke ujung: mesin menghasilkan kandidat yang sesuai dan menolak operasi yang merusak kesesuaian; validator independen menyampaikan keputusan yang benar-benar penting bagi sebuah arsip.

Aktivasi ini adalah penjaga yang nyata, bukan sekadar tanda. Ketika mode PDF/A diaktifkan dan sebuah operasi yang tidak kompatibel dicoba — mengaktifkan AES-GCM atau handler enkripsi standar — mesin memunculkan galat ketidakcocokan bertipe. Penjaga ini berlaku dalam kedua urutan: aktifkan PDF/A lalu minta enkripsi, atau minta enkripsi lalu aktifkan PDF/A. Apa pun urutannya, hasilnya adalah penolakan yang jelas. ISO 19005 melarang kunci Encrypt pada trailer berkas yang sesuai, dan mesin memperlakukan hal itu sebagai aturan yang mengikat, bukan sekadar anjuran.

Mode ini juga menjaga agar status internalnya tetap jujur. Mengaktifkan PDF/A untuk bagian tertentu (misalnya tingkat setia-bita PDF/A-3 dibandingkan PDF/A-4) menyetel diskriminan kesesuaian dokumen ke nilai yang sepadan. Gerbang di sisi penulisan yang bergantung pada bagian tersebut kemudian melihat nilai yang benar alih-alih nilai default yang usang. Inilah jenis konsistensi internal yang menentukan apakah sebuah validator meloloskan berkas.

Halaman ini didukung standar secara menyeluruh. Evidence: Standard-backed

Tujuannya ditetapkan oleh standar. Spec: ISO 19005-2 menyatakan bahwa tujuan utama PDF/A adalah mekanisme untuk merepresentasikan dokumen elektronik agar tampilan visual statisnya terlestarikan sepanjang waktu, terlepas dari alat dan sistem yang digunakan. Batasannya mengikuti dari tujuan tersebut: Spec: ISO 19005-4:2020, §6.2.4.1 menuntut warna untuk ditetapkan secara tidak bergantung pada perangkat, baik langsung maupun melalui PDF/A output intent. Persyaratan fon diperkuat oleh format dasar — Spec: ISO 32000-2:2020, §9 mencatat bahwa perenderan yang paling dapat diprediksi dan dapat diandalkan terjadi ketika semua fon disematkan, properti yang justru tidak boleh ditinggalkan oleh sebuah arsip.

Batasannya juga ada di dalam standar, bukan sekadar peringatan editorial. Spec: ISO 19005-4:2020 menyatakan dalam Pendahuluannya bahwa penerapan yang berhasil untuk tujuan pengarsipan bergantung pada lingkungan pengarsipan organisasi, kebijakan manajemen rekaman, dan kondisi ketahanan tambahan. Kesesuaian dinilai terhadap persyaratan normatif standar oleh alat pemeriksa — bukan dideklarasikan oleh penghasilnya.

Perilaku mesin ini didukung kode: Evidence: Code-backed Document::enablePdfA() adalah aktivasi eksplisit yang memunculkan galat ketidakcocokan bertipe ketika enkripsi dan PDF/A digabungkan dalam urutan mana pun, dan menjaga diskriminan kesesuaian dokumen tetap selaras dengan bagian yang dipilih.

Kode di bawah menunjukkan perilaku penjaga pada titik integrasinya. Mode PDF/A itu sendiri adalah kemampuan tingkat Premium. Pemeriksaan kesesuaian adalah langkah yang terpisah dan independen.

<?php
declare(strict_types=1);
use NextPDF\Contracts\PdfDocumentInterface;
use NextPDF\Security\Exception\IncompatiblePdfAModeException;
/**
* Produce an archival candidate, then prove it independently.
*
* The engine refuses conformance-breaking combinations; it does NOT
* certify the result. A validator does that.
*
* @param PdfDocumentInterface $doc A document with all fonts embedded
* @param object $pdfaLevel The target PDF/A version (Premium enum)
*
* @return string The archival candidate's bytes — not yet a verified PDF/A
*/
function buildArchivalCandidate(
PdfDocumentInterface $doc,
object $pdfaLevel,
): string {
try {
// Opt in explicitly. From here the mode guards the document.
$doc->enablePdfA($pdfaLevel);
} catch (IncompatiblePdfAModeException $e) {
// e.g. encryption was already requested — refused, not silently
// downgraded into a non-conforming "archival" file.
throw new \RuntimeException(
'PDF/A and encryption are mutually exclusive for a conforming '
. 'file; resolve before archiving.',
previous: $e,
);
}
$bytes = $doc->getPdfData();
// The step teams skip: this is a CANDIDATE. Run an independent
// conformance validator before treating it as a preserved record.
return $bytes;
}

Pelajarannya ada pada komentar di baris return. Nama fungsinya sengaja menyebut candidate (kandidat). Mesin menghasilkan sesuatu yang seharusnya sesuai. Hanya sebuah pemeriksa yang mengubah “seharusnya” menjadi bukti.

Ada satu kesalahpahaman yang membuat arsip dipenuhi dokumen yang tidak terlestarikan: “pustaka menyebut PDF/A, maka berkasnya adalah PDF/A.” Keputusan itu bukan wewenang pustaka. Sebuah penghasil dapat memancarkan berkas yang dimaksudkan untuk sesuai, tetapi tetap melewatkan satu persyaratan normatif. Kesesuaian ditentukan terhadap standar oleh alat validasi. Keputusan itulah yang diandalkan oleh auditor atau pembaca di masa depan. Memperlakukan niat pustaka penghasil sebagai bukti adalah kesalahan inti.

Jebakan kedua lebih halus: mengira PDF/A saja sudah melestarikan dokumen. Standar itu sendiri mengaitkan keberhasilan pengarsipan dengan lingkungan dan prosedur di sekitarnya. Sebuah berkas yang sesuai dalam repositori yang tidak terkelola tetap berisiko. Format itu perlu, tetapi tidak cukup.

  • NextPDF menghasilkan kandidat yang sesuai; ia tidak menyertifikasi kesesuaian. Jalankan validator independen. Laporan yang lolos adalah buktinya, bukan pustaka penghasilnya.
  • Mode kesesuaian PDF/A adalah kemampuan tingkat Premium. Core memancarkan PDF 2.0 biasa dan menampilkan jalur peningkatan yang dapat ditindaklanjuti. Ia tidak menyediakan jaminan PDF/A. Lihat batasan di bawah.
  • PDF/A dan enkripsi saling eksklusif untuk berkas yang sesuai. Mesin menolak kombinasi tersebut dalam urutan mana pun alih-alih menurunkannya secara diam-diam menjadi keluaran yang tidak sesuai.
  • Mesin tidak dapat menyematkan fon yang tidak diberikan kepadanya atau memperbaiki warna bergantung-perangkat yang Anda pasok. Menyusun dokumen untuk bertahan jangka panjang — fon yang disematkan, warna yang tidak bergantung pada perangkat — adalah tanggung jawab masukan.
  • Ketahanan arsip bergantung pada proses, bukan berkas semata. ISO 19005 menjadikan prosedur retensi organisasi dan manajemen rekaman sebagai bagian dari pelestarian yang berhasil.
  • Halaman ini didukung standar dan membahas perilaku pada permukaan Premium. Ia tidak menegaskan sertifikasi apa pun dan tidak memberikannya.
PDF/A archival conformance — edition availability
Edition Availability
Core

Core hanya menghasilkan PDF 2.0 biasa. enablePdfA() memunculkan galat peningkatan yang dapat ditindaklanjuti yang menunjuk ke paket komersial. Tidak ada jaminan PDF/A khusus Core.

Pro

Mode kesesuaian PDF/A (termasuk tingkat setia-bita PDF/A-3 dan PDF/A-4) tersedia, dengan penjaga untuk ketidakcocokan enkripsi.

Enterprise

Menambahkan kebijakan dan laporan kesesuaian PDF/A struktural (tetap berupa pemeriksaan struktur, bukan sertifikasi — keputusan akhir tetap menjadi wewenang validator dan tim kepatuhan Anda).

  • Fon: bagian yang sulit — mengapa fon yang tampak benar tetap bisa membuat sebuah berkas tidak sesuai atau tidak dapat ditelusuri.
  • Pengujian golden-file — bagaimana keluaran acuan yang dipatok menangkap pergeseran bita yang diam-diam merusak jaminan pengarsipan.
  • Faktur dan e-invoicing — kasus terkait terdekat: pembawa faktur hibrida itu sendiri adalah berkas PDF/A.
  • PDF/A — keluarga ISO 19005: profil PDF yang dibatasi untuk pelestarian jangka panjang, dirancang untuk mereproduksi tampilan statis sebuah dokumen sepanjang waktu terlepas dari alat penghasilnya.
  • Tingkat / bagian kesesuaian — varian PDF/A tertentu (misalnya PDF/A-2, PDF/A-3, PDF/A-4 beserta sub-tingkatnya); masing-masing membatasi fitur PDF mana yang boleh digunakan.
  • Output intent — profil karakterisasi warna yang disematkan yang memungkinkan warna bergantung-perangkat ditafsirkan secara tidak bergantung pada perangkat.
  • Warna yang tidak bergantung pada perangkat — warna yang ditetapkan sedemikian rupa sehingga tereproduksi secara konsisten terlepas dari perangkat perender, sebuah persyaratan PDF/A.
  • Pemeriksa kesesuaian / validator — perangkat lunak independen yang menilai sebuah berkas terhadap persyaratan normatif standar; sumber keputusan kesesuaian.
  • Kandidat arsip — sebuah berkas yang dihasilkan dengan maksud untuk sesuai, sebelum validator independen mengonfirmasi bahwa ia memang sesuai.