Konformitätsübersicht: was NextPDF erzeugt und wer über die Konformität entscheidet
Auf einen Blick
Abschnitt betitelt „Auf einen Blick“Grenzaussage. Unterstützung für ein Profil ist keine Konformität; ein unabhängiger Validator stellt die Konformität fest.
Diese Seite führt die Standardprofile auf, auf die NextPDF Core abzielt. Jede Seite in diesem Abschnitt folgt einer Regel, die sich unmittelbar aus den Standards selbst ergibt: Die Bibliothek erzeugt eine Ausgabe, die einem Profil entsprechen soll, und ein unabhängiger Validator — veraPDF, ein PDF/UA-Prüfer, ein Schematron-E-Rechnungs-Validator oder die empfangende Stelle — entscheidet, ob eine bestimmte Datei tatsächlich konform ist. ISO 19005-4 §6.7.3 hält dies für PDF/A ausdrücklich fest: Die pdfaid:part-/pdfaid:rev-Marker, die ein Writer ausgibt, „bestimmen für sich genommen keine Konformität“. Die Feststellung erfolgt, wie in der Konformitätsklausel des Standards vorgesehen, durch einen Prozess außerhalb der erzeugenden Bibliothek.
NextPDF sichert keine Konformität zu. Es gibt die strukturellen Artefakte aus, die ein Profil verlangt. Wo ein Profil ein Gate vorsieht, schlägt der Aufruf früh an der API-Grenze fehl, sodass eine fehlende Fähigkeit als klarer Fehler zutage tritt statt als stillschweigend nicht-konforme Datei.
Installation
Abschnitt betitelt „Installation“composer require nextpdf/core:^3Einige der unten aufgeführten Profile erfordern das Premium-Paket nextpdf/pro (auf der jeweiligen Seite vermerkt). Core liefert den Konformitätsdiskriminator (NextPDF\Conformance\ConformanceMode) und die Byte-Stream-Validatoren in NextPDF\Compliance; der OutputIntent-/ICC-/XMP-Erstellungspfad für Archivierungsprofile wird mit nextpdf/pro ausgeliefert.
Konzeptioneller Überblick
Abschnitt betitelt „Konzeptioneller Überblick“NextPDF leitet ein Dokument über einen einzigen typisierten Diskriminator, NextPDF\Conformance\ConformanceMode, an einen Konformitätsvertrag weiter. Das Enum ist die maßgebliche Quelle dafür, „welchen ISO-Vertrag der Writer einhalten muss“. Es enthält Fälle für Plain, PdfUa1, PdfUa2, PdfA2, PdfA3/PdfA3b/PdfA3u und PdfA4/PdfA4e/PdfA4f. Der Writer liest den Modus und gibt die geforderte Struktur aus; er setzt niemals ein Flag im Sinne von „diese Datei ist konform“.
Drei Grenzen gelten auf jeder Seite in diesem Abschnitt:
- Unterstützung ≠ Konformität. Die Metadaten auszugeben, die ein Profil verlangt, ist eine Fähigkeit, kein Urteil.
- Validierung ≠ Zertifizierung. Einen Validator auszuführen, der keine Fehler meldet, ist ein Nachweis, kein Zertifikat.
- Ein getestetes Profil ≠ Zertifizierung. Die eigenen Tests von NextPDF prüfen, dass die ausgegebenen Bytes den zitierten Klauseln entsprechen; sie sind kein akkreditiertes Audit.
API-Oberfläche
Abschnitt betitelt „API-Oberfläche“Die Konformitätseinstiegspunkte von NextPDF\Core\Document:
| Methode | Wirkung | Stufe |
|---|---|---|
enablePdfA(?object $version = null) | Leitet das Dokument an einen PDF/A-ConformanceMode-Fall weiter (Standard PdfA4); plant OutputIntent + ICC + XMP für save() ein. Wirft InvalidConfigException, wenn nextpdf/pro fehlt. | Core-API, Premium-Engine |
enableTaggedPdf(string $lang = 'en', ?ConformancePolicy $policy = null) | Setzt ConformanceMode::PdfUa2, verdrahtet den Emitter für getaggte Inhalte und validiert den Sprach-Tag gegen die Policy. | Core |
Code-Beispiel — Schnellstart
Abschnitt betitelt „Code-Beispiel — Schnellstart“<?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');Code-Beispiel — Produktion
Abschnitt betitelt „Code-Beispiel — Produktion“Nicht zutreffend. Die einzelnen Profilseiten enthalten die lauffähigen Produktionsbeispiele; dieses Verzeichnis ist eine Wegweiserseite.
Grenzfälle & Fallstricke
Abschnitt betitelt „Grenzfälle & Fallstricke“- Das Verzeichnis sichert kein Verhalten zu. Die einzelnen Profilseiten führen die verifizierten Aussagetabellen. Diese Seite nennt nur die maßgebliche Regel.
- Ein Profilname in den Metadaten ist eine Aussage, kein Beweis. Ein Reader, der
pdfaid:part=4findet, erfährt die Absicht des Producers, nicht, dass die Datei konform ist. - Das Gating von Fähigkeiten scheitert früh. Eine reine Core-Installation, die einen Premium-Archivierungspfad aufruft, erhält
InvalidConfigExceptionmit einer Upgrade-Meldung statt einer stillschweigend nicht-konformen Datei.
Performance
Abschnitt betitelt „Performance“Für dieses Verzeichnis nicht zutreffend. Die einzelnen Profilseiten deklarieren ihre eigenen Budgets.
Sicherheitshinweise
Abschnitt betitelt „Sicherheitshinweise“Konformitätsprofile schränken die Struktur ein, nicht die Sicherheitslage. PDF/A-4 verbietet Verschlüsselung; PDF/UA-2 schreibt eine barrierefreie Struktur vor. Beides ist keine Sicherheitsmaßnahme. Das Sicherheitsmodell der Engine finden Sie im Trust Center.
Konformität
Abschnitt betitelt „Konformität“| Aussage | Spezifikation | Klausel | reference_id |
|---|---|---|---|
Die pdfaid-Marker des Producers bestimmen für sich genommen keine Konformität; die Feststellung erfolgt gemäß der Konformitätsklausel des Standards (das heißt durch einen Validator/Prozess, nicht durch die Bibliothek). | ISO 19005-4 | §6.7.3 | |
| Die PDF/UA-2-Konformität wird anhand der Konformitätsanforderungen des Standards bewertet, nicht von der erzeugenden Software zugesichert. | ISO 14289-2 | §7.2.2 | |
| Eine konforme PDF 2.0-Datei muss die definierten Anforderungen an Dateistruktur und Trailer erfüllen; die Bibliothek gibt sie aus, entscheidet aber nicht über das Ergebnis. | ISO 32000-2 | §7.5.5 |
Zitate sind clause-id- und reference_id-Zeiger in den Verifikationskorpus. Es wird kein Normtext wiedergegeben.