Mengapa tim memilih NextPDF
Spec: ISO 32000-2ISO 32000-2Spec: ETSI EN 319 142-1ETSI EN 319 142-1
Sekilas pandang
Bagian berjudul “Sekilas pandang”Memilih mesin PDF adalah keputusan kecil yang diam-diam menentukan banyak keputusan selanjutnya. Halaman ini adalah argumen untuk NextPDF, dibingkai sebagai keputusan yang sebenarnya diambil sebuah tim: tetap di PHP atau menjalankan sidecar, memiliki kodenya sendiri atau menyewa kotak hitam, menghasilkan tanda tangan sungguhan atau sekadar kotak centang, merilis prototipe yang bertahan di produksi atau yang harus ditulis ulang untuk sampai ke sana.
Mengapa ini penting
Bagian berjudul “Mengapa ini penting”PDF yang Anda hasilkan jarang menjadi akhir cerita. Berkas itu ditandatangani, diarsipkan, dikirim lewat surel ke regulator, atau dibuka bertahun-tahun kemudian oleh seseorang yang tidak ada di ruangan saat Anda menulis kodenya. Hal itu menjadikan mesin PDF sebuah pilihan infrastruktur, bukan sekadar pemanggilan utilitas. Pilihan yang keliru muncul kemudian sebagai tanda tangan yang ditolak validator, arsip yang gagal diperiksa pemeriksa, atau faktur vendor yang tidak dapat Anda tinggalkan karena dokumen Anda hanya dapat dirender melalui layanan mereka.
Sebuah tim biasanya tidak berkesempatan menggugat ulang keputusan ini. Mesin yang mereka pilih pada minggu pertama adalah mesin yang berada di jalur kritis pada tahun ketiga. Jadi, pertanyaan yang layak dijawab dengan jujur bukanlah “dapatkah ia membuat PDF” — hampir apa pun bisa — melainkan “akankah ini bertahan ketika dokumen menjadi artefak hukum atau arsip.”
Versi singkat
Bagian berjudul “Versi singkat”Tim memilih NextPDF karena ia menghapus empat risiko terpisah sekaligus:
- Ia PHP-native. Mesin PDF 2.0 yang berjalan di dalam proses Anda, bukan runtime terpisah yang harus Anda operasikan, skalakan, dan amankan di samping aplikasi Anda.
- Ia terbuka secara default. Inti berlisensi Apache-2.0 — dapat dibaca, difork, di-vendor. Edisi lanjutan menambah kapabilitas; mereka tidak pernah menyandera dokumen Anda.
- Penandatanganannya bertaraf standar. Profil baseline PAdES (Spec: ETSI EN 319 142-1, §6ETSI EN 319 142-1 §6), bukan skema penandatanganan buatan sendiri yang tidak pernah dilihat validator Eropa.
- Ia menskala dengan kode yang sama. Prototipe yang Anda tulis pada hari pertama adalah jalur kode produksi. Tidak ada langkah “sekarang porting ke mesin sungguhan.”
Bagaimana NextPDF menanganinya
Bagian berjudul “Bagaimana NextPDF menanganinya”Masing-masing dari keempat klaim itu dipetakan ke properti konkret, dan masing- masing adalah sesuatu yang dapat diperiksa peninjau, bukan diterima begitu saja.
PHP-native berarti tanpa runtime kedua. NextPDF menargetkan PDF 2.0 sebagaimana didefinisikan dalam versi-rujukan format (Spec: ISO 32000-2, §6ISO 32000-2 §6), dan ia melakukannya dari dalam proses PHP Anda. Tidak ada peramban headless yang harus dijaga tetap hidup, tidak ada microservice yang harus di-deploy, tidak ada batas bahasa yang harus dilewati lewat marshalling. Bagi tim yang tumpukannya sudah PHP, permukaan operasionalnya tetap selebar sebelumnya. Ketika perender bertaraf peramban memang benar-benar alat yang tepat, NextPDF dapat menggerakkannya — tetapi itu adalah pilihan yang Anda ambil, bukan dependensi yang Anda warisi. Pertimbangan imbal balik itu menjadi topik pada panduan keputusan integrasi.
Terbuka secara default berarti tanpa lock-in. Mesin inti berlisensi Apache-2.0. Anda dapat membaca setiap baris yang menyentuh bita Anda, mem-vendor- nya ke dalam mirror privat, mem-fork-nya jika suatu rilis menempuh arah yang tidak dapat Anda ikuti, dan terus merilis. Dokumen yang dihasilkan inti adalah PDF standar yang dapat dibuka pembaca mana pun yang patuh standar — bukan kontainer berpemilik yang hanya bolak-balik melalui layanan satu vendor. Edisi komersial bersifat aditif: mereka membuka kapabilitas seperti penandatanganan berbasis perangkat keras dan fitur bervolume tinggi, tetapi dokumen yang mereka hasilkan tetaplah PDF biasa yang patuh standar dan sepenuhnya Anda miliki.
Penandatanganan bertaraf standar berarti tanda tangan yang bertahan dalam peninjauan. Di sinilah pustaka PDF yang “cukup baik” diam-diam menjadi liabilitas. Tanda tangan yang tidak dikenali validator, untuk tujuan yang penting itu, bukanlah tanda tangan. NextPDF menargetkan progresi baseline PAdES — B-B, B-T, B-LT, B-LTA — yang didefinisikan oleh ETSI, level yang diharapkan dilihat oleh validator Eropa dan auditor. Batasannya berjenjang: inti Apache-2.0 menyertakan penanda tangan CMS/PAdES perangkat lunak untuk level B-B dan B-T menggunakan kunci lokal atau yang disediakan, sementara level long-term- validation (B-LT, B-LTA) dan kunci yang didukung HSM atau cloud-KMS adalah kapabilitas edisi lanjutan. PAdES adalah profil tanda tangan ETSI untuk PDF; eIDAS — regulasi Uni Eropa (Spec: Regulation (EU) No 910/2014 (eIDAS), Art. 25Regulation (EU) No 910/2014 (eIDAS) Art. 25) — adalah yang memberi tanda tangan elektronik kedudukan hukumnya, dan PAdES adalah realisasi PDF yang menjadi resolusi dari kewajiban eIDAS, yang persis itulah alasan mengapa mesin menargetkan keluarga profil tersebut alih-alih sekadar mendekati. Halaman profil baseline PAdES menelusuri progresinya dan cara memilih level yang sebenarnya dibutuhkan kewajiban Anda.
- Stay in your stackA PHP-native PDF 2.0 engine runs in-process — no second runtime to deploy, scale, or secure.
- Own what you shipApache-2.0 core: readable, forkable, vendorable. The documents are standard PDFs you keep, not a proprietary container.
- Sign for realPAdES baseline profiles (ETSI EN 319 142-1), the levels a validator and an auditor recognise — not a homegrown scheme.
- Grow without a rewriteThe prototype is the production path. Fail-fast typed inputs catch mistakes in development, where they are cheap.
Prototipe ke produksi berarti tanpa penulisan ulang. Risiko keempat adalah yang paling tak terdengar: alat yang didemonstrasikan dengan indah lalu harus diganti untuk dapat ditayangkan. NextPDF dibangun sedemikian rupa sehingga program pertama yang Anda tulis adalah program yang sama yang Anda operasikan. Masukan bertipe ketat dan divalidasi di tepi, sehingga mode kegagalan yang akan Anda lihat di produksi adalah yang sudah Anda lihat di pengembangan — diberi nama, pada titik pemanggilan, sebelum satu bita pun ditulis. Sikap itu menjadi topik pada filosofi desain dan API yang menolak menebak; di sini ia penting karena itulah yang memungkinkan jalur kode yang sama membawa sebuah tim dari uji coba akhir pekan ke beban kerja yang teregulasi.
Contoh praktis
Bagian berjudul “Contoh praktis”Bentuk dari “prototipe ke produksi dengan kode yang sama” paling mudah dilihat pada titik pemanggilan. Program yang ditulis sebuah tim untuk mengevaluasi mesin, baris demi baris, adalah program yang berjalan di produksi — hanya materi penandatanganan yang berubah.
<?php
declare(strict_types=1);
use NextPDF\Contracts\Orientation;use NextPDF\Contracts\OutputDestination;use NextPDF\Core\Document;use NextPDF\Signature\SignatureLevel;use NextPDF\ValueObjects\PageSize;
$document = Document::createStandalone();$document->setTitle('Service Agreement');
// Typed page geometry and an enum orientation — intent is explicit,// so a typo is a type error in development, not a silent default in production.$document->addPage(PageSize::a4(), Orientation::Portrait);$document->setFont('helvetica', 'B', 16);$document->cell(0, 12, 'Service Agreement', newLine: true);
// The signature level is a recognised PAdES baseline profile, named as an// enum case — never a string the engine has to interpret. B-T is a core// software-signing level; the long-term levels (B-LT, B-LTA) are an// advanced-edition capability selected the same way.$document->setSignature(certInfo: $certInfo, level: SignatureLevel::PAdES_B_T);
// The output destination is stated, not inferred from whether a filename// was passed. The same call shape serves a spike and a production endpoint.$bytes = $document->output(dest: OutputDestination::String);Tidak ada satu pun dalam program ini yang berubah antara prototipe dan penerapan. Tim menukar materi penandatanganan sungguhan dengan placeholder dan mengarahkan keluaran ke sebuah respons alih-alih ke buffer. Mesin, API, dan mode kegagalannya identik di kedua tempat — dan itulah inti seluruhnya.
Kesalahpahaman umum
Bagian berjudul “Kesalahpahaman umum”Keberatan yang sering muncul adalah “inti sumber-terbuka berarti produk sebenarnya berada di balik paywall, jadi bagian gratis hanyalah pancingan.” Itu membalik hubungannya. Inti adalah mesin PDF 2.0 produksi berlisensi Apache-2.0 — pembuatan dokumen, keluaran yang patuh standar, dan penandatanganan CMS/PAdES perangkat lunak pada level B-B dan B-T; tim menjalankannya di produksi tanpa modifikasi. Edisi lanjutan menambah kapabilitas khusus — penandatanganan long- term-validation (B-LT, B-LTA), kunci yang didukung HSM dan cloud-KMS, fitur skala — bagi tim yang membutuhkannya. Ujinya sederhana dan dapat diverifikasi: dokumen yang dihasilkan inti adalah PDF standar yang dapat dibuka di pembaca mana pun yang patuh standar, tanpa dependensi pada layanan NextPDF untuk membacanya kembali. Tidak ada sandera untuk ditebus.
Kesalahpahaman kedua adalah bahwa “PHP-native” berarti “kurang berkemampuan dibanding mesin peramban.” Maksudnya berbeda, dan kasus-kasus jujur di mana perender bertaraf peramban lebih cocok dikatalogkan di kapan tidak menggunakan NextPDF — bukan dikubur.
Batasan dan ruang lingkup
Bagian berjudul “Batasan dan ruang lingkup”Halaman ini adalah argumen untuk adopsi, bukan klaim kecocokan universal. NextPDF adalah alat yang tepat untuk pembuatan dokumen bertaraf standar secara terprogram dalam tumpukan PHP. Ia bukan reimplementasi sempurna piksel demi piksel dari sebuah peramban web, dan ia bukan jawaban bagi setiap masalah dokumen; batasannya dinyatakan dengan jelas pada kapan tidak menggunakan NextPDF.
| Edition | Availability |
|---|---|
| Core | Not in this edition — software signing only (B-B, B-T). |
| Pro | Available — HSM and qualified-device signing. |
| Enterprise | Available — HSM and qualified-device signing. |
Dua batasan layak ditekankan. Pertama, kapabilitas penandatanganan berjenjang: inti Apache-2.0 menyediakan penandatanganan CMS/PAdES perangkat lunak pada level B-B dan B-T dengan kunci lokal atau yang disediakan, sementara level long-term- validation (B-LT, B-LTA) dan kunci berbasis perangkat keras melalui HSM, perangkat tersertifikasi, atau cloud KMS adalah kapabilitas edisi lanjutan. Kedua — dan inilah batas jujur pada setiap klaim kepatuhan — konformitas diputuskan oleh pemeriksa independen, tidak pernah oleh produsen. PAdES adalah profil tanda tangan ETSI untuk PDF; PDF/A-4 (Spec: ISO 19005-4, §6ISO 19005-4 §6), yang didefinisikan oleh ISO 19005-4, adalah level konformitas arsip yang terpisah. NextPDF dapat menargetkan masing-masing, tetapi menargetkan sebuah profil bukanlah jaminan konformitas: putusan otoritatif datang dari validator PDF/A atau validator tanda tangan, bukan dari mesin yang menulis berkas. Perlakukan mesin sebagai alat yang membawa Anda ke “seharusnya lolos,” dan pemeriksa sebagai alat yang menyatakan “memang lolos.”
Dokumen terkait
Bagian berjudul “Dokumen terkait”- Panduan keputusan integrasi — setelah Anda memilih NextPDF, paket dan perender mana yang cocok untuk kasus penggunaan Anda.
- Kapan tidak menggunakan NextPDF — batas jujur pada argumen ini; masalah dokumen yang cocok untuk alat berbeda.
- Profil baseline PAdES — bagaimana progresi B-B → B-LTA bekerja dan level mana yang dibutuhkan kewajiban Anda.
- Perusahaan di balik NextPDF — siapa yang memelihara mesin yang dipilih sebuah tim untuk diandalkan.
Glosarium
Bagian berjudul “Glosarium”- PDF 2.0 — versi format PDF saat ini, dispesifikasikan dalam ISO 32000-2. NextPDF menargetkannya sebagai versi-rujukan, sehingga keluarannya diukur terhadap standar ISO saat ini, bukan dialek vendor.
- PAdES — PDF Advanced Electronic Signatures, keluarga profil ETSI (EN 319 142-1) untuk menandatangani PDF. Level baseline-nya — B-B, B-T, B-LT, B-LTA — adalah yang diharapkan dilihat oleh validator Eropa dan auditor.
- eIDAS — Regulation (EU) No 910/2014, kerangka Uni Eropa yang memberi tanda tangan elektronik dan tersertifikasi kedudukan hukumnya; PAdES adalah realisasi PDF yang menjadi resolusi dari kewajiban eIDAS.
- PDF/A — keluarga konformitas arsip (di sini, PDF/A-4 di bawah ISO 19005-4) untuk dokumen yang harus tetap mandiri dan dapat dibaca dalam jangka panjang.
- Apache-2.0 — lisensi sumber-terbuka permisif dari inti NextPDF: Anda boleh menggunakan, memodifikasi, mem-vendor, dan mendistribusikan ulang mesin, tanpa kewajiban membuka aplikasi Anda sendiri.
- No lock-in — properti bahwa dokumen yang dihasilkan sebuah mesin adalah artefak standar dan netral-vendor yang sepenuhnya Anda miliki, dapat dibaca tanpa dependensi apa pun pada layanan produsen.