İçeriğe geç
getnextpdf.com

Enterprise sürüm

Document E-Filing — Derinlemesine başvuru

  • EFilingOptimizer, bir PDF’i elektronik mahkeme dosyalaması için tek ve sabit sıralı bir geçişte hazırlar: temizleme, doğrusallaştırma, boyuta göre bölme.
  • EFilingProfile, yargı çevresi kısıtlamalarını kodlar. Yerleşik fabrikalar US PACER, EU e-Justice ve Taiwan Judicial Yuan’ı kapsar.
  • SizeAwareSplitter, doğrula-sonra-düzelt yeniden bölme ile parça başına bir bayt üst sınırı uygular.
  • Çıktı bir teslimat yapıtıdır. İmzalama veya arşivleme işlem hatlarına yeniden girmemelidir.
  • Modül hiçbir kriptografik işlem gerçekleştirmez ve hiçbir giden ağ çağrısı yapmaz.

Bu yetenek NextPDF Enterprise (nextpdf/enterprise) ile birlikte gelir ve bir Enterprise katmanı lisans zarfıyla etkinleşir. Bu yetkilendirmeye sahip olmayan bir dağıtım, yeteneğin sınıflarını yüklemez. Sürümleri karşılaştırın ve bir lisans edinin.

nextpdf/enterprise paket sınırı bu yüzeyi kapılar; özellik başına ayrı bir yetenek kodu yoktur. Hiçbir Core veya Pro sürümü bir e-dosyalama optimize edici sağlamaz.

Terminal window
composer require nextpdf/enterprise:^3
SembolParametrelerVarsayılan davranışDöndürürŞununla hata verir veya başarısız olurNotlar
EFilingOptimizer::optimize()string $pdfData, ?EFilingProfile $profile = nullProfil varsayılan olarak EFilingProfile::pacer() olur; temizleme, doğrusallaştırma, boyuta göre bölmeyi sabit sırada çalıştırırEFilingResultSınır üstü bir girdi geçerli bir PDF olmadığında bölme adımından InvalidArgumentException; temizleme ve doğrusallaştırma hataları uyarılara indirgenirÇıktı bir teslimat yapıtıdır
EFilingProfile::__construct()$name, $maxFileSizeBytes = 26_214_400, $flattenForms = true, $removeJavaScript = true, $imageQuality = 75, $linearize = true, $compressObjectStreams = trueDeğişmez yargı çevresi profiliEFilingProfileHata vermezYerleşik fabrikası olmayan portallar için özel üst sınırlar
EFilingProfile::pacer()yok25 MiB üst sınır, görüntü kalitesi 75EFilingProfileHata vermezUS PACER
EFilingProfile::euJustice()yok10 MiB üst sınır, görüntü kalitesi 70EFilingProfileHata vermezEU e-Justice Portal
EFilingProfile::taiwan()yok10 MiB üst sınır, görüntü kalitesi 70EFilingProfileHata vermezTaiwan Judicial Yuan
SizeAwareSplitter::splitByMaxSize()string $pdfData, int $maxBytesGirdi sığdığında tek parça; aksi halde tahmin et, doğrula, yeniden böllist<EFilingSegment>Sınır üstü bir girdi bir %PDF başlığından yoksun olduğunda InvalidArgumentExceptionSınır altı girdi, doğrulama olmadan tek parça olarak döner
EFilingResult::isSplit()yokBirden fazla parça olduğunda trueboolHata vermez
EFilingResult::segmentCount()yokToplam parça sayısıintHata vermez
EFilingResult::compressionRatio()yokoptimizedTotalSize / originalSizefloatHata vermez; boş özgün girdi için 0.0Düşük olan daha iyidir
EFilingSegment$pdfData, $pageRange, $sizeBytes, $segmentIndexDeğişmez çıktı parçasıdeğer nesnesiHata vermez1-25 veya all gibi bir sayfa aralığı dizesi
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(), girdi baytları üzerinde sabit sıralı bir işlem hattı çalıştırır. Birinci adım, removeJavaScript ayarlandığında etkin içeriği kaldırır. İçeriği etkisizleştirme ve yeniden yapılandırma motoruna dosyalamaya özgü bir ilkeyle devreder: JavaScript, adlandırılmış JavaScript, başlatma eylemleri, form gönderimi ve veri içe aktarma eylemleri kaldırılır; dosyalamalar meşru bağlantılar taşıyabileceğinden URI eylemleri korunur (allowUriActions); artımlı güncellemeler tek bir düzeltmeye düzleştirilir (flattenIncrementalUpdates). İkinci adım, linearize ayarlandığında temizlenmiş baytları Core NextPDF\Writer\Linearizer aracılığıyla doğrusallaştırır. Üçüncü adım, profilin maxFileSizeBytes değerini SizeAwareSplitter aracılığıyla uygular.

Bölücü, ortalama sayfa boyutundan parça başına sayfa sayısını tahmin eder, böler, sonra üretilen her parçayı üst sınıra göre doğrular. Hâlâ birden fazla sayfaya yayılan, sınır üstü herhangi bir parça, her çocuğu sığana veya tek bir sayfa olana kadar, her geçişte kendi sayfa yayılımını yarıya indirerek özyinelemeli olarak yeniden bölünür. Sınırlı bir yeniden bölme derinliği, patolojik yakınsamama durumuna karşı koruma sağlar. Çıktı dizinleri, bitişik ve sıfır tabanlı kalacak şekilde yeniden normalleştirilir.

optimize(), üç profil alanını tüketir: maxFileSizeBytes, removeJavaScript ve linearize. flattenForms, imageQuality ve compressObjectStreams alanları, optimize() öğesinin 3.1.0’da üzerinde işlem yapmadığı, bildirilmiş profil kısıtlamalarıdır.

E-dosyalama çıktısı, bir belge yaşam döngüsü durumu değil, bir teslimat yapıtıdır. Optimize edilmiş veya bölünmüş bir PDF, iletim için kesinleşmiştir ve bir imzalama veya arşivleme işlem hattına yeniden girmemelidir; yeniden işleme, karma zincirlerini ve kanıt bütünlüğünü bozar.

Bu modül, yapılandırıldığı biçimde e-mahkeme / devlet dosyalaması için biçimler hazırlar. Herhangi bir mahkeme, sicil, kurul veya dosyalama portalı tarafından kabul edileceğini garanti etmez. Yerleşik profil üst sınırları, her portaldan canlı bir akış değil, yaygın olarak yayımlanan kısıtlamaları bir kolaylık olarak kodlar; portal kuralları yargı çevresine göre değişir ve değişir. Bunları hedef sicilin güncel kurallarına göre doğrulamak dosyalayıcının sorumluluğundadır.

İşleme, süreç içinde ve yereldir. Bir mahkeme, sicil veya dosyalama portalına taşıma, bu modülün dışındadır.

  • Üst sınırda veya altında girdi: all sayfa aralığına sahip tek parça; bölme adımı baytları değiştirmeden bırakır.
  • Temizleme reddi (örneğin ayrıştırılamayan bir girdi): CDR sanitization rejected: <reason> uyarısı kaydedilir ve işlem hattı özgün baytlarla devam eder.
  • Hiçbir tehdit bulunmayan temizleme geçişi: baytlar yine de yeniden oluşturulmuş PDF ile değiştirilir ve bir optimizasyon girdisi temiz geçişi kaydeder.
  • Doğrusallaştırma hatası: Linearization skipped: <message> uyarısı kaydedilir ve işlem hattı doğrusallaştırılmamış baytlarla devam eder.
  • Üst sınırın üzerindeki tek sayfa: gerçekten bölünemez, sınır üstü tek bir parça olarak değiştirilmeden döndürülür. Bu durum için hiçbir uyarı kaydedilmez; dosyalamadan önce her parçanın sizeBytes değerini profil üst sınırına göre karşılaştırın.
  • Yeniden bölme derinliği üst sınırına ulaşıldı: sınır üstü parça, döngüye girmek yerine değiştirilmeden geçer.
  • Özgün girdi boş olduğunda compressionRatio(), 0.0 döndürür.
  • Modül hiçbir kriptografik işlem gerçekleştirmez; FIPS modu uygulanabilir değildir.
DavranışBaşvuruDurum
Doğrusallaştırılmış çıktı organizasyonu (ilk sayfa verisi dosya başında)ISO 32000-2:2020 Annex F / Annex GKarşı geliştirildi
İlişkili dosya bağıntı semantiğiISO 19005-3:2012 §6.7.8Taşıyıcılar geçerli olduğunda onurlandırılır
Gömülü dosya taşıyıcı gereksinimleriISO 19005-4:2020 Annex ATaşıyıcılar geçerli olduğunda onurlandırılır

Doğrusallaştırma, ilk sayfayı görüntülemek için gereken tüm verileri verimli artımlı erişim için dosyanın başına yerleştiren Linearized PDF organizasyonunu hedefler.

Bu satırlar, atıfta bulunulan maddelere karşı geliştirilmiş yeteneği açıklar. Destek uygunluk değildir ve uygunluk sertifikasyon değildir; NextPDF hiçbir sertifikasyona sahip değildir. Bu sayfadaki hiçbir ifade, herhangi bir dosyalama portalı tarafından kabul edileceğini garanti etmez.

Bu sayfa export_control_class: legal-review-required taşır. NextPDF hukuki tavsiye sağlamaz. Dosyalama kuralları yargı çevresine göre değişir ve değişir; bunları karşılamak dosyalayıcının sorumluluğundadır. Hukuk danışmanınıza ve hedef sicilin güncel yönergesine başvurun.

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.
}
  • Dosyalamadan önce $result->warnings öğesini inceleyin. Reddedilen bir temizleme veya atlanan bir doğrusallaştırma, bir istisna olarak değil, orada görünür.
  • Önce kaynak belgeyi imzalayın ve arşivleyin; sonra teslimat için bir kopyayı optimize edin. Optimize edilmiş bir parçayı asla yeniden imzalamayın, yeniden damgalamayın veya arşivlemeyin.
  • Her parçanın sizeBytes değerini profil üst sınırına göre doğrulayın. Bölünemez, sınır üstü bir sayfa, sessizce çıktıya ulaşır.
  • Yerleşik fabrikası olmayan portallar için, portalın yayımlanmış üst sınırıyla özel bir EFilingProfile oluşturun.

Bu sayfa yalnızca dışarıdan gözlemlenebilir davranışı ve desteklenen genel API yüzeyini belgeler. İç ad alanı yolları, yardımcı sınıflar, mekanizma tabloları, runbook dosya adları ve bilet önekleri kapsam dışıdır.