Enterprise editie
Intelligentie
In het kort
Sectie met titel “In het kort”NextPDF Enterprise Intelligence zet ruwe sleutel-waarde- en tabelgegevens om in getypeerde, optioneel schemavalidatie structuren en orkestreert de generatie van doorzoekbare PDF’s door een OCR-backend over gescande pagina’s aan te sturen. Het beschrijft de structuren die het produceert; het claimt geen OCR-nauwkeurigheid of extractierecall.
Beschikbaarheid en licenties
Sectie met titel “Beschikbaarheid en licenties”Deze mogelijkheid zit in NextPDF Enterprise (nextpdf/enterprise) en wordt geactiveerd met een licentie-envelop van het Enterprise-niveau. Een implementatie zonder die entitlement laadt de klassen van de mogelijkheid niet. Een implementatie zonder actieve Enterprise-entitlement laadt deze klassen niet. Vergelijk edities en verkrijg een licentie.
Installatie
Sectie met titel “Installatie”composer require nextpdf/enterprise:^3Conceptueel overzicht
Sectie met titel “Conceptueel overzicht”De gestructureerde extractor neemt ruwe sleutel-waarde-paren — stroomopwaarts geproduceerd door een accelerator of een heuristische parser — en geeft getypeerde paarobjecten terug. Wanneer een schema wordt aangeleverd, behoudt het alleen de paren waarvan de sleutel overeenkomt met een schemaveld en rapporteert het welke vereiste velden ontbreken. Een paar zonder expliciete confidence krijgt een vaste standaardwaarde. Dit is een typering- en validatiestap over gegevens die al zijn geëxtraheerd; het is zelf geen extractie- of herkenningsengine en kent geen berekende precisie toe.
De tabelextractor neemt ruwe rijrasters en bouwt gestructureerde tabelresultaten met objecten per cel en gesynthetiseerde, uniforme bounding boxes die worden afgeleid door een genormaliseerd pagina-oppervlak onder te verdelen. Korte rijen worden aangevuld zodat elke rij het hoogste aantal kolommen heeft. Een tabel zonder rijen of zonder kolommen wordt overgeslagen. De bounding boxes zijn een uniforme rastersynthese, geen gemeten lay-out.
De orchestrator voor doorzoekbare overlays accepteert een gescande of gemengde PDF, detecteert welke pagina’s geen bruikbare tekstlaag hebben, stuurt de geconfigureerde OCR-backend aan en produceert een resultaat dat het aantal woorden per pagina en een gemiddelde confidence beschrijft. Onzichtbare tekst is het mechanisme voor een doorzoekbare gescande pagina: een tekstweergave-operator kan glyphs plaatsen terwijl de text rendering mode zo is ingesteld dat de tekst niet wordt gevuld of omlijnd — ISO 32000-2:2020 §9.3.3 — en tekstweergave-operatoren plaatsen glyphs in de content stream — ISO 32000-2:2020 §9.4. Wanneer de bron getagd is, brengt de logische-structuurhiërarchie inhoud naar een leesvolgorde — ISO 32000-2:2020 §14.7, ondersteunt getagde structuur hergebruik van inhoud — ISO 32000-2:2020 §14.8, en beschrijven tabelstructuurelementen rijen en cellen — ISO 32000-2:2020 §14.8.
De feitelijke rasterisatie en injectie van onzichtbare tekst worden uitgevoerd door een afzonderlijk sidecar-proces; het PHP-oppervlak orkestreert de workflow en produceert de resultaatmetadata. De uitvoer van een overlay-run is een afgeleid document: elke bestaande handtekening wordt ongeldig en de compliancestatus vereist hervalidatie. Confidence-waarden zijn passthrough of vaste standaardwaarden, geen gegarandeerd nauwkeurigheidscijfer.
Waarom het zo werkt
Sectie met titel “Waarom het zo werkt”Het oppervlak trekt een harde scheidslijn tussen structurering en herkenning. Typering en schemavalidatie draaien in-process, omdat ze deterministisch en goedkoop zijn. Herkenning — rasterisatie en injectie van onzichtbare tekst — wordt gedelegeerd aan een geïnjecteerde OCR-backend en een afzonderlijke sidecar, omdat ze zwaar en backendspecifiek is en het best buiten de PHP-trust boundary blijft. Die splitsing laat een implementatie kiezen waar documentafbeeldingen en herkende tekst worden berekend en opgeslagen, zonder de aanroepende code te wijzigen. De module weigert ook een precisiecijfer te verzinnen: een ongelabeld paar krijgt een vaste standaardwaarde en de gerapporteerde confidence wordt doorgegeven in plaats van berekend. Een caller krijgt nooit een gefabriceerd nauwkeurigheidscijfer aangereikt.
Ontwerpachtergrond: Een API die weigert te gokken.
API-oppervlak
Sectie met titel “API-oppervlak”| Type | Soort | Rol | Stabiliteit | Sinds |
|---|---|---|---|---|
StructuredExtractor | class | Typeert ruwe sleutel-waarde-paren; schemafilter en controle op vereiste velden | stabiel | 2.2.0 |
ExtractionSchema / SchemaField | classes | Velddefinities en set vereiste velden | stabiel | 2.2.0 |
KeyValuePair | class | Eén getypeerd sleutel-waarde-paar met confidence | stabiel | 2.2.0 |
TableExtractor | class | Bouwt gestructureerde tabellen uit ruwe rijrasters | stabiel | 2.2.0 |
TableResult / TableCell | classes | Tabelvorm met tekst, confidence en bounding box per cel | stabiel | 2.2.0 |
SearchableOverlay | class | Orkestreert OCR-ondersteunde generatie van doorzoekbare PDF’s | stabiel | 2.2.0 |
OverlayConfig / OverlayQuality | classes | Taalhint, DPI, kwaliteitspreset, overslaan van native pagina | stabiel | 2.2.0 |
SearchableOverlayResult / PageOverlayInfo | classes | Aantal woorden per pagina en gemiddelde confidence | stabiel | 2.2.0 |
ExtractionConfig / ExtractionStrategy | classes | Heuristische vs. OCR-ondersteunde strategie en OCR-hints | stabiel | 2.2.0 |
De OCR-backend is een geïnjecteerd contract. De orchestrator bedt geen OCR-model in; een implementatie levert de backend en is verantwoordelijk voor waar OCR wordt berekend.
Codevoorbeeld — Snelstart
Sectie met titel “Codevoorbeeld — Snelstart”<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Enterprise\Intelligence\StructuredExtractor;use NextPDF\Enterprise\Intelligence\ExtractionSchema;
/** * Type raw pairs against a schema and list any missing required fields. * * @param list<array{key: string, value: string, confidence?: float}> $rawPairs Upstream key-value data. * * @return list<string> Missing required field names (empty when compliant). */function validate(array $rawPairs, ExtractionSchema $schema): array{ $extractor = new StructuredExtractor(); $pairs = $extractor->extract($rawPairs, $schema);
return $extractor->validateSchema($schema, $pairs);}De extractor typeert en filtert gegevens die een stroomopwaartse stap al heeft geproduceerd. Hij voert zelf geen herkenning uit.
Codevoorbeeld — Productie
Sectie met titel “Codevoorbeeld — Productie”<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Enterprise\Accelerator\OcrStrategyInterface;use NextPDF\Enterprise\Intelligence\OverlayConfig;use NextPDF\Enterprise\Intelligence\SearchableOverlay;use Psr\Log\LoggerInterface;
final readonly class OverlayJob{ public function __construct( private OcrStrategyInterface $ocr, private LoggerInterface $logger, ) {}
/** * Generate a searchable PDF from a scanned input. * * @param string $pdfData Scanned or mixed PDF bytes. * * @return string The derived searchable PDF bytes. */ public function run(string $pdfData): string { try { $result = (new SearchableOverlay($this->ocr)) ->generate($pdfData, new OverlayConfig(language: 'eng'));
$this->logger->info('Overlay complete', [ 'pages' => $result->pageCount, 'words' => $result->wordCount, ]);
return $result->pdfData; } catch (\Throwable $e) { $this->logger->error('Overlay failed', ['error' => $e->getMessage()]);
throw $e; } }}De log draagt alleen het aantal pagina’s en woorden. Hij draagt geen herkende tekst en geen documentbytes. De catch gooit opnieuw; hij slikt de fout niet in.
Randgevallen en valkuilen
Sectie met titel “Randgevallen en valkuilen”- De gestructureerde en tabelextractor verwerken reeds geëxtraheerde gegevens. Ze parsen geen PDF, draaien geen model en meten geen precisie. Confidence is passthrough of een vaste standaardwaarde.
- Gesynthetiseerde tabel-bounding-boxes zijn een uniforme rasteronderverdeling, geen gemeten lay-out. Een caller die echte geometrie nodig heeft, moet die elders verkrijgen.
- De doorzoekbare overlay is een afgeleid document. Elke bestaande digitale handtekening wordt ongeldig; de compliancestatus moet na de overlay opnieuw worden gevalideerd.
- Wanneer de OCR-backend niet beschikbaar is, dragen de getroffen pagina’s nul woorden bij in plaats van de hele run stilzwijgend te laten falen — controleer het resultaat per pagina.
- Een pagina die al een bruikbare native tekstlaag heeft, wordt standaard overgeslagen. Schakel het overslaan uit in de configuratie als je opnieuw moet OCR’en.
- De OCR-nauwkeurigheid hangt volledig af van de aangeleverde backend, de invoerkwaliteit en de taalhint. NextPDF claimt geen herkenningsnauwkeurigheid of extractierecall.
Prestaties
Sectie met titel “Prestaties”Gestructureerde en tabelextractie zijn lineair in de invoergrootte. De kosten van de doorzoekbare overlay worden gedomineerd door de OCR-backend en de rasterisatie van de sidecar op de geconfigureerde DPI; de orkestratie-overhead is klein. Pagina- en groottegegevens zijn begrensd en falen gesloten bij overflow. Het reproduceerbaarheidsprofiel is structural: extractie is deterministisch voor vaste invoer, terwijl de overlay-uitvoer afhangt van de OCR-backend en kan verschillen tussen backends of versies.
Beveiligingsnotities
Sectie met titel “Beveiligingsnotities”De extractors zijn alleen-lezen structureringsstappen. Het overlay-oppervlak produceert een afgeleid document en begrenst de invoergrootte en het aantal pagina’s, falend gesloten bij overflow. De OCR-backend is een integratiepunt, geen onderdeel van de trust boundary; een implementatie kiest en bedient hem. In deze module vindt geen cryptografische operatie plaats, dus deze maakt geen FIPS-claim.
Datalocatie & PII-mitigaties
Sectie met titel “Datalocatie & PII-mitigaties”Gestructureerde en tabelextractie draaien in-process op de host. De orkestratie van de doorzoekbare overlay stuurt een geïnjecteerde OCR-backend aan: waar die backend draait — in-process, een lokale sidecar of een remote service — en dus waar documentafbeeldingen en herkende tekst worden berekend en opgeslagen, is een implementatieverantwoordelijkheid buiten de grens van de bibliotheek. Als de invoer persoonsgegevens bevat, geldt dat ook voor de herkende tekstlaag; behandel het afgeleide document dienovereenkomstig.
Veilige telemetrie & logopschoning
Sectie met titel “Veilige telemetrie & logopschoning”De bibliotheek werpt getypeerde excepties met structurele berichten en plaatst geen documentbytes of herkende tekst in exceptietekst. Een implementatie die rond dit oppervlak logt, moet aantallen en configuratie loggen — zoals getoond in het productievoorbeeld — en mag de ruwe PDF-payload of de herkende tekst niet naar logs of een APM-backend loggen.
FIPS-modusgedrag
Sectie met titel “FIPS-modusgedrag”In deze module vindt geen cryptografische operatie plaats, dus er is geen FIPS-modusspecifiek gedrag.
Conformiteit
Sectie met titel “Conformiteit”| Claim | Standaard | Clausule |
|---|---|---|
| De text rendering mode bepaalt of glyphs worden gevuld, omlijnd of geen van beide (de basis voor onzichtbare OCR-tekst). | ISO 32000-2:2020 | §9.3.3 |
| Tekstweergave-operatoren plaatsen glyphs in de content stream. | ISO 32000-2:2020 | §9.4 |
| De logische-structuurhiërarchie brengt inhoud naar een leesvolgorde. | ISO 32000-2:2020 | §14.7 |
| Getagde structuur ondersteunt hergebruik van inhoud. | ISO 32000-2:2020 | §14.8 |
| Tabelstructuurelementen beschrijven rijen en cellen. | ISO 32000-2:2020 | §14.8 |
| De structure tree brengt inhoud naar een leesvolgorde. | ISO 32000-2:2020 | §14.7 |
Alle clausules zijn geparafraseerd. NextPDF reproduceert geen normatieve tekst. Raadpleeg de gepubliceerde standaard voor de gezaghebbende formulering. NextPDF maakt geen claim over OCR-nauwkeurigheid of extractierecall; deze pagina vermeldt de geproduceerde structuren en de orkestratiegrens, geen kwaliteitsgarantie.
Gedragscontract
Sectie met titel “Gedragscontract”- De gestructureerde en tabelextractor verwerken reeds geëxtraheerde gegevens; ze parsen geen PDF, draaien geen model en meten geen precisie. Confidence is passthrough of een vaste standaardwaarde.
- Een schemafilter behoudt alleen paren waarvan de sleutel overeenkomt met een schemaveld en rapporteert de ontbrekende vereiste velden; gesynthetiseerde tabel-bounding-boxes zijn een uniforme rasteronderverdeling, geen gemeten lay-out.
- De doorzoekbare overlay is een afgeleid document: elke bestaande digitale handtekening wordt ongeldig en de compliancestatus moet opnieuw worden gevalideerd.
- Wanneer de OCR-backend niet beschikbaar is, dragen de getroffen pagina’s nul woorden bij in plaats van de hele run stilzwijgend te laten falen; een pagina met een bruikbare native tekstlaag wordt standaard overgeslagen.
- Pagina- en groottegegevens zijn begrensd en falen gesloten bij overflow. Extractie is deterministisch voor vaste invoer; de overlay-uitvoer hangt af van de aangeleverde OCR-backend.
Publicatiegrens
Sectie met titel “Publicatiegrens”Deze pagina documenteert uitsluitend extern waarneembaar gedrag en het ondersteunde publieke API-oppervlak. Interne namespace-paden, helperklassen, mechanismetabellen, runbook-bestandsnamen en ticketprefixen vallen buiten de scope.
Core-terugval
Sectie met titel “Core-terugval”NextPDF Core (Apache-2.0) heeft geen orkestratie van doorzoekbare overlays en geen oppervlak voor schemavalidatie structurering — niets; deze mogelijkheid heeft geen equivalent op Core-niveau. Het Core-AST-model is de basis van het geparseerde document, geen extractie- of OCR-oppervlak.
Pro-terugval
Sectie met titel “Pro-terugval”NextPDF Pro levert structurele, AST-gedreven extractie over een reeds geparseerd document; het biedt geen schemavalidatie sleutel-waarde-structurering, geen tabelreconstructie uit ruwe rasters en geen OCR-ondersteunde orkestratie van doorzoekbare overlays. Die zitten uitsluitend in het nextpdf/enterprise-pakket.
Opmerking over de Enterprise-grens
Sectie met titel “Opmerking over de Enterprise-grens”De gestructureerde/tabelextractor en de overlay-orchestrator worden op gedragsniveau beschreven. De feitelijke rasterisatie en injectie van onzichtbare tekst draaien in een afzonderlijk sidecar-proces; de sidecar-internals, het OCR-model en elk intern orkestratiedetail vallen buiten de scope van het openbare oppervlak. De OCR-backend is een geïnjecteerd contract dat door de implementatie wordt aangeleverd.
Implementatiegrens
Sectie met titel “Implementatiegrens”De implementatie levert en bedient de OCR-backend en kiest waar OCR wordt berekend (in-process, een lokale sidecar of een remote service) — en dus waar documentafbeeldingen en herkende tekst worden berekend en opgeslagen. NextPDF Enterprise orkestreert de workflow en produceert resultaatmetadata; het bedt geen OCR-model in en garandeert geen herkenningsnauwkeurigheid of extractierecall.
Juridische-compliancegrens
Sectie met titel “Juridische-compliancegrens”Er geldt geen exportcontrolebeperking voor het Intelligence-oppervlak. De bibliotheek claimt geen garantie op OCR-nauwkeurigheid of extractierecall en geen status van regelgevingsconformiteit. Deze documentatie is geen juridisch advies; raadpleeg uw eigen compliance- en juridische adviseurs.
Zie ook
Sectie met titel “Zie ook”- Intelligence reference — de diepgaande API-referentie voor deze mogelijkheid.
- Pro extraction — structurele, AST-gedreven citatieblokken.
- Privacy — PII-detectie over geëxtraheerde tekst.
- NextPDF Enterprise — het volledige Enterprise-functieoppervlak.
- Core AST — het model van het geparseerde document.
- Tagged PDF · OCR · Searchable PDF — woordenlijsttermen.