Ga naar inhoud
getnextpdf.com

Enterprise editie

Document E-Filing — Diepe referentie

  • EFilingOptimizer bereidt een PDF voor op elektronische indiening bij de rechtbank in één doorloop met vaste volgorde: sanitize, linearize, size-split.
  • EFilingProfile codeert jurisdictiebeperkingen. Ingebouwde fabrieken dekken US PACER, EU e-Justice en Taiwan Judicial Yuan.
  • SizeAwareSplitter handhaaft een bytelimiet per segment met verify-then-correct-hersplitsen.
  • De uitvoer is een leveringsartefact. Het mag geen ondertekenings- of archiveringspijplijnen opnieuw binnenkomen.
  • De module voert geen cryptografische bewerkingen uit en doet geen uitgaande netwerkaanroepen.

Deze capaciteit wordt geleverd in NextPDF Enterprise (nextpdf/enterprise) en wordt geactiveerd met een licentie-envelop van het Enterprise-niveau. Een deployment zonder dat recht laadt de klassen van de capaciteit niet. Vergelijk edities en vraag een licentie aan.

De pakketgrens van nextpdf/enterprise schermt dit oppervlak af; er is geen afzonderlijke capaciteitscode per functie. Geen enkele Core- of Pro-editie biedt een e-filing-optimizer.

Terminal window
composer require nextpdf/enterprise:^3
SymboolParametersStandaardgedragRetourneertWerpt of faalt metOpmerkingen
EFilingOptimizer::optimize()string $pdfData, ?EFilingProfile $profile = nullProfiel valt standaard terug op EFilingProfile::pacer(); voert sanitize, linearize, size-split uit in vaste volgordeEFilingResultInvalidArgumentException vanuit de split-stap wanneer een invoer boven de limiet geen geldige PDF is; sanitisatie- en linearisatiefouten degraderen tot waarschuwingenDe uitvoer is een leveringsartefact
EFilingProfile::__construct()$name, $maxFileSizeBytes = 26_214_400, $flattenForms = true, $removeJavaScript = true, $imageQuality = 75, $linearize = true, $compressObjectStreams = trueOnveranderlijk jurisdictieprofielEFilingProfileWerpt nietAangepaste limieten voor portalen zonder ingebouwde fabriek
EFilingProfile::pacer()geen25 MiB-limiet, beeldkwaliteit 75EFilingProfileWerpt nietUS PACER
EFilingProfile::euJustice()geen10 MiB-limiet, beeldkwaliteit 70EFilingProfileWerpt nietEU e-Justice Portal
EFilingProfile::taiwan()geen10 MiB-limiet, beeldkwaliteit 70EFilingProfileWerpt nietTaiwan Judicial Yuan
SizeAwareSplitter::splitByMaxSize()string $pdfData, int $maxBytesEén segment wanneer de invoer past; anders schatten, verifiëren, hersplitsenlist<EFilingSegment>InvalidArgumentException wanneer een invoer boven de limiet een %PDF-header mistInvoer onder de limiet wordt als één segment geretourneerd zonder validatie
EFilingResult::isSplit()geentrue wanneer er meer dan één segment bestaatboolWerpt niet
EFilingResult::segmentCount()geenTotaal aantal segmentenintWerpt niet
EFilingResult::compressionRatio()geenoptimizedTotalSize / originalSizefloatWerpt niet; 0.0 voor lege oorspronkelijke invoerLager is beter
EFilingSegment$pdfData, $pageRange, $sizeBytes, $segmentIndexOnveranderlijk uitvoersegmentwaardeobjectWerpt nietPaginabereikstring zoals 1-25 of 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() voert een pijplijn met vaste volgorde uit op de invoerbytes. Stap één verwijdert actieve inhoud wanneer removeJavaScript is ingesteld. Het delegeert naar de content-disarm-and-reconstruction-engine met een indieningsspecifiek beleid: JavaScript, benoemd JavaScript, launch-acties, formulierverzending en data-importacties worden verwijderd; URI-acties blijven behouden (allowUriActions) omdat indieningen legitieme links kunnen bevatten; incrementele updates worden afgevlakt tot één revisie (flattenIncrementalUpdates). Stap twee lineariseert de gesaneerde bytes via de Core NextPDF\Writer\Linearizer wanneer linearize is ingesteld. Stap drie handhaaft de maxFileSizeBytes van het profiel via SizeAwareSplitter.

De splitter schat het aantal pagina’s per segment op basis van de gemiddelde paginagrootte, splitst, en verifieert daarna elk geproduceerd segment ten opzichte van de limiet. Elk segment boven de limiet dat nog meer dan één pagina beslaat, wordt recursief hersplitst, waarbij zijn eigen paginabereik bij elke doorloop wordt gehalveerd, totdat elk kind past of één enkele pagina is. Een begrensde hersplitsdiepte beschermt tegen pathologische non-convergentie. De uitvoerindices worden opnieuw genormaliseerd om aaneengesloten en nul-gebaseerd te blijven.

optimize() gebruikt drie profielvelden: maxFileSizeBytes, removeJavaScript en linearize. De velden flattenForms, imageQuality en compressObjectStreams zijn gedeclareerde profielbeperkingen waar optimize() in 3.1.0 niet op reageert.

E-filing-uitvoer is een leveringsartefact, geen documentlevenscyclusstatus. Een geoptimaliseerde of gesplitste PDF is definitief voor transmissie en mag geen ondertekenings- of archiveringspijplijn opnieuw binnenkomen; herverwerking zou hash-ketens en de bewijskracht van integriteit verbreken.

Deze module bereidt formaten voor e-court / overheidsindiening voor zoals geconfigureerd. Het garandeert geen acceptatie door enige rechtbank, registratie-instantie, tribunaal of indieningsportaal. De ingebouwde profiellimieten coderen veelgepubliceerde beperkingen als gemak, geen live feed van elk portaal; portaalregels variëren per jurisdictie en veranderen. Het verifiëren ervan ten opzichte van de actuele regels van de doelregistratie-instantie is de verantwoordelijkheid van de indiener.

De verwerking is in-process en lokaal. Transport naar een rechtbank, registratie-instantie of indieningsportaal valt buiten deze module.

  • Invoer op of onder de limiet: één segment met paginabereik all; de split-stap laat de bytes ongewijzigd.
  • Sanitisatie-afwijzing (bijvoorbeeld een niet-parseerbare invoer): de waarschuwing CDR sanitization rejected: <reason> wordt vastgelegd en de pijplijn gaat verder met de oorspronkelijke bytes.
  • Sanitisatiedoorloop zonder gevonden bedreigingen: de bytes worden alsnog vervangen door de herbouwde PDF, en een optimalisatie-item legt de schone doorloop vast.
  • Linearisatiefout: de waarschuwing Linearization skipped: <message> wordt vastgelegd en de pijplijn gaat verder met ongelineariseerde bytes.
  • Enkele pagina boven de limiet: werkelijk ondeelbaar, ongewijzigd geretourneerd als één segment boven de limiet. Voor dit geval wordt geen waarschuwing vastgelegd; vergelijk de sizeBytes van elk segment met de profiellimiet vóór het indienen.
  • Hersplitsdieptelimiet bereikt: het segment boven de limiet passeert ongewijzigd in plaats van te blijven lussen.
  • compressionRatio() retourneert 0.0 wanneer de oorspronkelijke invoer leeg is.
  • De module voert geen cryptografische bewerkingen uit; de FIPS-modus is niet van toepassing.
GedragReferentieStatus
Gelineariseerde uitvoerorganisatie (eerste-paginadata aan het begin van het bestand)ISO 32000-2:2020 Annex F / Annex GGebouwd ten opzichte van
Semantiek van de associated-file-relatieISO 19005-3:2012 §6.7.8Gehonoreerd waar carriers van toepassing zijn
Vereisten voor de embedded-file-carrierISO 19005-4:2020 Annex AGehonoreerd waar carriers van toepassing zijn

Linearisatie richt zich op de Linearized PDF-organisatie, die alle data die nodig is om de eerste pagina weer te geven aan het begin van het bestand plaatst voor efficiënte incrementele toegang.

Deze rijen beschrijven capaciteit die is gebouwd ten opzichte van de geciteerde clausules. Ondersteuning is geen conformiteit, en conformiteit is geen certificering; NextPDF beschikt over geen enkele certificering. Geen enkele uitspraak op deze pagina garandeert acceptatie door enig indieningsportaal.

Deze pagina draagt export_control_class: legal-review-required. NextPDF biedt geen juridisch advies. Indieningsregels variëren per jurisdictie en veranderen; het voldoen eraan is de verantwoordelijkheid van de indiener. Raadpleeg een raadsman en de actuele richtlijnen van de doelregistratie-instantie.

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.
}
  • Inspecteer $result->warnings vóór het indienen. Een afgewezen sanitisatie of overgeslagen linearisatie verschijnt daar, niet als een uitzondering.
  • Onderteken en archiveer eerst het brondocument; optimaliseer daarna een kopie voor levering. Onderteken, herstempel of archiveer een geoptimaliseerd segment nooit opnieuw.
  • Verifieer de sizeBytes van elk segment ten opzichte van de profiellimiet. Een ondeelbare pagina boven de limiet bereikt de uitvoer stilzwijgend.
  • Construeer voor portalen zonder ingebouwde fabriek een aangepast EFilingProfile met de gepubliceerde limiet van het portaal.

Deze pagina documenteert alleen extern waarneembaar gedrag en het ondersteunde publieke API-oppervlak. Interne namespace-paden, helperklassen, mechanismetabellen, runbook-bestandsnamen en ticketprefixen vallen buiten de scope.