Lewati ke konten
getnextpdf.com

Enterprise edisi

Document E-Filing — Referensi Mendalam

  • EFilingOptimizer menyiapkan PDF untuk electronic court filing dalam satu lintasan berurutan tetap: sanitize, linearize, size-split.
  • EFilingProfile mengodekan batasan yurisdiksi. Factory bawaan mencakup US PACER, EU e-Justice, dan Taiwan Judicial Yuan.
  • SizeAwareSplitter menegakkan batas byte per segmen dengan re-split verify-then-correct.
  • Output adalah artefak pengiriman. Output tidak boleh masuk kembali ke pipeline penandatanganan atau pengarsipan.
  • Modul tidak melakukan operasi kriptografis dan tidak melakukan panggilan jaringan keluar.

Kapabilitas ini disertakan dalam NextPDF Enterprise (nextpdf/enterprise) dan diaktifkan dengan license envelope tingkat Enterprise. Deployment tanpa entitlement tersebut tidak memuat kelas-kelas kapabilitas ini. Bandingkan edisi dan dapatkan lisensi.

Batas paket nextpdf/enterprise menggerbangi permukaan ini; tidak ada kode kapabilitas per-fitur yang terpisah. Tidak ada edisi Core atau Pro yang menyediakan optimizer e-filing.

Terminal window
composer require nextpdf/enterprise:^3
SimbolParameterPerilaku defaultMengembalikanMelempar atau gagal denganCatatan
EFilingOptimizer::optimize()string $pdfData, ?EFilingProfile $profile = nullProfil default ke EFilingProfile::pacer(); menjalankan sanitize, linearize, size-split dalam urutan tetapEFilingResultInvalidArgumentException dari langkah split saat input yang melebihi batas bukan PDF valid; kegagalan sanitasi dan linearisasi menurun menjadi peringatanOutput adalah artefak pengiriman
EFilingProfile::__construct()$name, $maxFileSizeBytes = 26_214_400, $flattenForms = true, $removeJavaScript = true, $imageQuality = 75, $linearize = true, $compressObjectStreams = trueProfil yurisdiksi yang immutableEFilingProfileTidak melemparBatas kustom untuk portal tanpa factory bawaan
EFilingProfile::pacer()tidak adabatas 25 MiB, kualitas gambar 75EFilingProfileTidak melemparUS PACER
EFilingProfile::euJustice()tidak adabatas 10 MiB, kualitas gambar 70EFilingProfileTidak melemparEU e-Justice Portal
EFilingProfile::taiwan()tidak adabatas 10 MiB, kualitas gambar 70EFilingProfileTidak melemparTaiwan Judicial Yuan
SizeAwareSplitter::splitByMaxSize()string $pdfData, int $maxBytesSegmen tunggal saat input muat; jika tidak, estimasi, verifikasi, re-splitlist<EFilingSegment>InvalidArgumentException saat input yang melebihi batas tidak memiliki header %PDFInput di bawah batas dikembalikan sebagai satu segmen tanpa validasi
EFilingResult::isSplit()tidak adatrue saat terdapat lebih dari satu segmenboolTidak melempar
EFilingResult::segmentCount()tidak adaJumlah total segmenintTidak melempar
EFilingResult::compressionRatio()tidak adaoptimizedTotalSize / originalSizefloatTidak melempar; 0.0 untuk input asli kosongLebih rendah lebih baik
EFilingSegment$pdfData, $pageRange, $sizeBytes, $segmentIndexSegmen output yang immutablevalue objectTidak melemparString rentang halaman seperti 1-25 atau all
public function optimize(string $pdfData, ?EFilingProfile $profile = null): EFilingResult
public function __construct(
public string $name,
public int $maxFileSizeBytes = 26_214_400,
public bool $flattenForms = true,
public bool $removeJavaScript = true,
public int $imageQuality = 75,
public bool $linearize = true,
public bool $compressObjectStreams = true,
) {}
public static function pacer(): self
public static function euJustice(): self
public static function taiwan(): self
public function splitByMaxSize(string $pdfData, int $maxBytes): array
public function __construct(
public array $segments,
public int $originalSize,
public int $optimizedTotalSize,
public array $optimizations = [],
public array $warnings = [],
) {}
public function isSplit(): bool
public function segmentCount(): int
public function compressionRatio(): float

EFilingOptimizer::optimize() menjalankan pipeline berurutan tetap terhadap byte input. Langkah pertama menghapus konten aktif saat removeJavaScript diaktifkan. Langkah ini mendelegasikan ke content-disarm-and-reconstruction engine dengan kebijakan spesifik-filing: JavaScript, named JavaScript, launch action, form submission, dan data-import action dihapus; URI action dipertahankan (allowUriActions) karena filing dapat membawa tautan yang sah; incremental update diratakan menjadi satu revisi (flattenIncrementalUpdates). Langkah kedua melinearisasi byte yang telah disanitasi melalui NextPDF\Writer\Linearizer Core saat linearize diaktifkan. Langkah ketiga menegakkan maxFileSizeBytes profil melalui SizeAwareSplitter.

Splitter mengestimasi jumlah halaman per segmen dari ukuran halaman rata-rata, memecah, lalu memverifikasi setiap segmen yang dihasilkan terhadap batas. Segmen mana pun yang melebihi batas dan masih mencakup lebih dari satu halaman akan di-re-split secara rekursif, memangkas separuh rentang halamannya setiap lintasan, hingga setiap turunan muat atau menjadi satu halaman. Kedalaman re-split yang dibatasi menjaga terhadap non-konvergensi patologis. Indeks output dinormalisasi ulang agar tetap kontigu dan berbasis nol.

optimize() mengonsumsi tiga field profil: maxFileSizeBytes, removeJavaScript, dan linearize. Field flattenForms, imageQuality, dan compressObjectStreams adalah batasan profil yang dideklarasikan yang tidak ditindaklanjuti oleh optimize() pada 3.1.0.

Output e-filing adalah artefak pengiriman, bukan state siklus-hidup dokumen. PDF yang telah dioptimasi atau dipecah bersifat final untuk transmisi dan tidak boleh masuk kembali ke pipeline penandatanganan atau pengarsipan; pemrosesan ulang akan merusak hash chain dan integritas bukti.

Modul ini menyiapkan format untuk pengajuan e-court / pemerintah sesuai konfigurasi. Modul ini tidak menjamin penerimaan oleh pengadilan, registri, tribunal, atau filing portal mana pun. Batas profil bawaan mengodekan batasan yang umum dipublikasikan sebagai kemudahan, bukan umpan langsung dari setiap portal; aturan portal bervariasi menurut yurisdiksi dan berubah. Memverifikasinya terhadap aturan terkini registri tujuan adalah tanggung jawab pihak pengaju.

Pemrosesan bersifat in-process dan lokal. Transport ke pengadilan, registri, atau filing portal berada di luar modul ini.

  • Input pada atau di bawah batas: satu segmen dengan rentang halaman all; langkah split membiarkan byte tidak berubah.
  • Penolakan sanitasi (misalnya input yang tidak dapat diurai): peringatan CDR sanitization rejected: <reason> dicatat dan pipeline melanjutkan dengan byte asli.
  • Lintasan sanitasi tanpa ancaman ditemukan: byte tetap digantikan oleh PDF yang dibangun ulang, dan sebuah entri optimasi mencatat lintasan bersih tersebut.
  • Kegagalan linearisasi: peringatan Linearization skipped: <message> dicatat dan pipeline melanjutkan dengan byte yang tidak dilinearisasi.
  • Satu halaman melebihi batas: benar-benar tak terbagi, dikembalikan tanpa perubahan sebagai satu segmen yang melebihi batas. Tidak ada peringatan yang dicatat untuk kasus ini; bandingkan sizeBytes setiap segmen terhadap batas profil sebelum pengajuan.
  • Batas kedalaman re-split tercapai: segmen yang melebihi batas diteruskan tanpa perubahan alih-alih berulang.
  • compressionRatio() mengembalikan 0.0 saat input asli kosong.
  • Modul tidak melakukan operasi kriptografis; mode FIPS tidak berlaku.
PerilakuReferensiStatus
Organisasi output terlinearisasi (data halaman pertama di awal file)ISO 32000-2:2020 Annex F / Annex GDibangun terhadap
Semantik relasi associated-fileISO 19005-3:2012 §6.7.8Dipatuhi jika carrier berlaku
Persyaratan carrier embedded-fileISO 19005-4:2020 Annex ADipatuhi jika carrier berlaku

Linearisasi menargetkan organisasi Linearized PDF, yang menempatkan semua data yang diperlukan untuk menampilkan halaman pertama di awal file demi akses inkremental yang efisien.

Baris-baris ini menggambarkan kapabilitas yang dibangun terhadap klausa yang dikutip. Dukungan bukanlah konformansi, dan konformansi bukanlah sertifikasi; NextPDF tidak memegang sertifikasi apa pun. Tidak ada pernyataan di halaman ini yang menjamin penerimaan oleh filing portal mana pun.

Halaman ini membawa export_control_class: legal-review-required. NextPDF tidak memberikan nasihat hukum. Aturan pengajuan bervariasi menurut yurisdiksi dan berubah; memenuhinya adalah tanggung jawab pihak pengaju. Konsultasikan dengan penasihat hukum dan panduan terkini registri tujuan.

use NextPDF\Enterprise\Document\EFiling\EFilingOptimizer;
use NextPDF\Enterprise\Document\EFiling\EFilingProfile;
$optimizer = new EFilingOptimizer();
$result = $optimizer->optimize($pdfBytes, EFilingProfile::euJustice());
foreach ($result->segments as $segment) {
// Persist $segment->pdfData; confirm $segment->sizeBytes fits the cap.
}
  • Periksa $result->warnings sebelum pengajuan. Sanitasi yang ditolak atau linearisasi yang dilewati muncul di sana, bukan sebagai exception.
  • Tandatangani dan arsipkan dokumen sumber terlebih dahulu; lalu optimasi salinan untuk pengiriman. Jangan pernah menandatangani ulang, men-stempel ulang, atau mengarsipkan segmen yang telah dioptimasi.
  • Verifikasi sizeBytes setiap segmen terhadap batas profil. Halaman tak terbagi yang melebihi batas mencapai output secara diam-diam.
  • Untuk portal tanpa factory bawaan, bangun EFilingProfile kustom dengan batas yang dipublikasikan portal.

Halaman ini hanya mendokumentasikan perilaku yang dapat diamati secara eksternal dan permukaan API publik yang didukung. Jalur namespace internal, kelas helper, tabel mekanisme, nama file runbook, dan prefiks tiket berada di luar cakupan.