Conformiteitsoverzicht: wat NextPDF produceert en wie vaststelt of het conform is
In een oogopslag
Sectie met titel “In een oogopslag”Afbakening. Ondersteuning voor een profiel is geen conformiteit; een onafhankelijke validator stelt de conformiteit vast.
Deze pagina geeft een overzicht van de standaardprofielen waarop NextPDF Core zich richt. Elke pagina in deze sectie volgt één regel uit de standaarden: de bibliotheek produceert uitvoer die bedoeld is om conform te zijn aan een profiel, en een onafhankelijke validator bepaalt of een gegeven Portable Document Format (PDF)-bestand daadwerkelijk conform is. Die validator kan veraPDF zijn, een PDF/UA-controleprogramma, een Schematron-validator voor e-facturen of de ontvangende instantie. Voor PDF/A maakt ISO 19005-4 §6.7.3 deze grens expliciet: de markeringen pdfaid:part/pdfaid:rev geven de intentie van de producent aan; zij bepalen de conformiteit niet. De beslissing valt onder de conformiteitsbepaling van de standaard en wordt genomen door een proces buiten de producerende bibliotheek.
NextPDF claimt geen conformiteit. Het levert de structurele artefacten die een profiel vereist. Wanneer een profiel is afgeschermd, faalt NextPDF direct op de API-grens, zodat een ontbrekende functie verschijnt als een duidelijke fout en niet als een stilzwijgend niet-conform bestand.
Installatie
Sectie met titel “Installatie”composer require nextpdf/core:^3Sommige profielen hieronder vereisen het Premium-pakket nextpdf/pro; elke betreffende pagina vermeldt die vereiste. Core bevat de conformiteitsdiscriminator (NextPDF\Conformance\ConformanceMode) en de byte-streamvalidators in NextPDF\Compliance. Het aanmaakpad voor OutputIntent, International Color Consortium (ICC) en Extensible Metadata Platform (XMP) voor archiveringsprofielen zit in nextpdf/pro.
Conceptueel overzicht
Sectie met titel “Conceptueel overzicht”NextPDF koppelt een document aan een conformiteitscontract via één getypeerde discriminator, NextPDF\Conformance\ConformanceMode. De enum is de bron van waarheid voor het ISO-contract dat de writer moet naleven. Die heeft cases voor Plain, PdfUa1, PdfUa2, PdfA2, PdfA3/PdfA3b/PdfA3u, en PdfA4/PdfA4e/PdfA4f. De writer leest de modus en levert de vereiste structuur; hij zet nooit een vlag die aangeeft dat het bestand conform is.
Op elke pagina in deze sectie gelden drie afbakeningen:
- Ondersteuning ≠ conformiteit. Het leveren van de metadata die een profiel vereist, is een functie, geen oordeel.
- Validatie ≠ certificering. Een validatorrapport zonder fouten is bewijs, geen certificaat.
- Een getest profiel ≠ certificering. De tests van NextPDF bevestigen dat de gegenereerde bytes in overeenstemming zijn met de aangehaalde bepalingen; zij vormen geen geaccrediteerde audit.
API-oppervlak
Sectie met titel “API-oppervlak”Op NextPDF\Core\Document zijn dit de conformiteitsingangen:
| Methode | Effect | Niveau |
|---|---|---|
enablePdfA(?object $version = null) | Stuurt het document naar een PDF/A-case van ConformanceMode (standaard PdfA4); plant OutputIntent + ICC + XMP tijdens save(). Werpt InvalidConfigException als nextpdf/pro ontbreekt. | Core-API, Premium-engine |
enableTaggedPdf(string $lang = 'en', ?ConformancePolicy $policy = null) | Stelt ConformanceMode::PdfUa2 in, koppelt de emitter voor getagde inhoud en valideert de taaltag aan de policy. | Core |
Codevoorbeeld — Snel aan de slag
Sectie met titel “Codevoorbeeld — Snel aan de slag”<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Core\Document;
$doc = Document::createStandalone();$doc->enableTaggedPdf('en'); // ConformanceMode::PdfUa2$doc->setTitle('Conformance index sample');$doc->writeHtml('<h1>Hello</h1><p>Tagged content.</p>');$doc->save(getenv('NEXTPDF_COOKBOOK_OUTPUT') ?: __DIR__ . '/out.pdf');Codevoorbeeld — Productie
Sectie met titel “Codevoorbeeld — Productie”Niet van toepassing. De afzonderlijke profielpagina’s bieden uitvoerbare productievoorbeelden; dit overzicht is een routeringspagina.
Randgevallen en valkuilen
Sectie met titel “Randgevallen en valkuilen”- Het overzicht claimt geen gedrag. De afzonderlijke profielpagina’s bevatten de geverifieerde claimtabellen. Deze pagina geeft alleen het leidende uitgangspunt weer.
- Een profielnaam in de metadata is een claim, geen bewijs. Een reader die
pdfaid:part=4aantreft, ziet de intentie van de producent, geen bewijs dat het bestand conform is. - Functieafscherming is fail-fast. Een installatie met alleen Core die een Premium-archiveringspad aanroept, krijgt
InvalidConfigExceptionmet een upgradebericht, nooit een stilzwijgend niet-conform bestand.
Prestaties
Sectie met titel “Prestaties”Niet van toepassing op deze overzichtspagina. De afzonderlijke profielpagina’s vermelden hun eigen budgetten.
Beveiligingsnotities
Sectie met titel “Beveiligingsnotities”Conformiteitsprofielen beperken de structuur, niet de beveiligingshouding. PDF/A-4 verbiedt versleuteling; PDF/UA-2 vereist een toegankelijke structuur. Geen van beide is een beveiligingsmaatregel. Raadpleeg het trustcenter voor het beveiligingsmodel van de engine.
Conformiteit
Sectie met titel “Conformiteit”| Claim | Spec | Bepaling | reference_id |
|---|---|---|---|
De pdfaid-markeringen van de producent geven de intentie aan; de conformiteitsbepaling van de standaard regelt de vaststelling door een validator of proces, niet door de bibliotheek. | ISO 19005-4 | §6.7.3 | |
| PDF/UA-2-conformiteit wordt beoordeeld aan de hand van de conformiteitsvereisten van de standaard, en niet geclaimd door de producerende software. | ISO 14289-2 | §7.2.2 | |
| Een conform PDF 2.0-bestand moet voldoen aan de gedefinieerde vereisten voor bestandsstructuur en trailer; de bibliotheek levert die structuur, maar beoordeelt het resultaat niet. | ISO 32000-2 | §7.5.5 |
Citaten verwijzen met clause-id + reference_id naar het verificatiecorpus. Er wordt geen tekst uit de standaarden gereproduceerd.