PDF 2.0-Baseline: ISO 32000-2-Klauseln, die NextPDF implementiert
Auf einen Blick
Abschnitt betitelt „Auf einen Blick“Grenzaussage. NextPDF implementiert die zitierten Klauseln; volle ISO 32000-2-Konformität wird nicht pauschal zugesichert.
ISO 32000-2:2020 ist der Basisstandard für PDF 2.0. Die Standardausgabe von NextPDF Core (ConformanceMode::Plain) ist unbeschränktes PDF 2.0: ein %PDF-2.0-Header, ein Dokumentkatalog, eine Querverweisstruktur und ein konformer Trailer. Diese Seite dokumentiert die Baseline-Klauseln, die NextPDF implementiert, sowie die ausdrückliche Grenze. Die Bibliothek implementiert die zitierten Klauseln. Sie erhebt keinen pauschalen Anspruch, „voll ISO 32000-2-konform“ zu sein. Eine konforme Datei ist eine Datei, die ein konformer Reader gemäß dem Standard verarbeiten kann. Diese Feststellung trifft ein Prüfer; sie ist kein Flag, das die Bibliothek setzt.
Installation
Abschnitt betitelt „Installation“composer require nextpdf/core:^3Die PDF 2.0-Baseline-Ausgabe ist die Core-Voreinstellung; ein Profil-Aufruf ist nicht nötig. ConformanceMode::Plain ist der Standard-Diskriminator; die Profile PDF/A-4, PDF/UA-2, PDF/X und ZUGFeRD sind eingeschränkte Teilmengen, die auf dieser Baseline aufbauen.
Konzeptioneller Überblick
Abschnitt betitelt „Konzeptioneller Überblick“Jedes NextPDF-Dokument ist zunächst eine PDF 2.0-Datei, bevor ein Profil angewendet wird. Der Writer erfüllt die strukturellen Pflichten, die ISO 32000-2 einer konformen Datei auferlegt:
- Dokumentkatalog — §7.7.2: das Wurzelobjekt, auf das der Trailer-Eintrag
/Rootverweist; in jeder Ausgabe vorhanden. - Querverweisstruktur — §7.5.8: eine Querverweistabelle oder ein Querverweis-Stream zur Lokalisierung jedes Objekts.
- Trailer — §7.5.5: das Trailer-Dictionary, das eine konforme Datei führen muss, einschließlich des Datei-Identifiers
/ID. Die/IDist dateieindeutig und wird für den Vergleich herausnormalisiert. Deshalb gilt für die meisten Ausgaben mit mehreren Objektenreproducibility_profile: structural, nicht bitweise. - Logische Struktur — §14.7.2: bei aktiviertem getaggtem Modus die
StructTreeRoot-Baseline, auf der das PDF/UA-2-Profil aufbaut. - Versionserweiterung — §7.12: wenn eine Entwickler-Erweiterung deklariert ist: der Mechanismus aus Extensions-Dictionary / Entwickler-Präfix.
NextPDF implementiert diese Klauseln. Es führt keine vollständige ISO 32000-2-Konformitätsbewertung durch. Das bleibt Aufgabe eines externen Validators (zum Beispiel des Arlington-Grammatikprüfers oder von veraPDF). NextPDF\Compliance liefert die Byte-Stream-Gegenprüfungen (ArlingtonValidator), die strukturelle Abweichungen sichtbar machen. Sie unterstützen die Verifizierung, sind aber kein Zertifikat.
API-Oberfläche
Abschnitt betitelt „API-Oberfläche“| Symbol | Wirkung |
|---|---|
ConformanceMode::Plain | Standard — unbeschränkte PDF 2.0-Ausgabe. |
ConformanceMode::requiresPdf17(): bool | False für PDF 2.0-Modi; der Writer gibt einen %PDF-2.0-Header aus. |
NextPDF\Compliance\Validator\ArlingtonValidator | Grammatik-Gegenprüfung gegen das Arlington-PDF-Modell (unterstützt die Verifizierung). |
Codebeispiel — Schnellstart
Abschnitt betitelt „Codebeispiel — Schnellstart“<?php
declare(strict_types=1);
require_once __DIR__ . '/vendor/autoload.php';
use NextPDF\Core\Document;
$out = getenv('NEXTPDF_COOKBOOK_OUTPUT') ?: __DIR__ . '/baseline.pdf';
$doc = Document::createStandalone(); // ConformanceMode::Plain — PDF 2.0$doc->setTitle('PDF 2.0 baseline');$doc->writeHtml('<h1>Hello PDF 2.0</h1><p>Unconstrained baseline output.</p>');$doc->save($out);
echo "Wrote {$out} (%PDF-2.0). Validate structure with an external checker.\n";Codebeispiel — Produktion
Abschnitt betitelt „Codebeispiel — Produktion“Im Produktionsbetrieb besteht die Baseline-Haltung darin, in der CI einen externen Strukturvalidator (Arlington / veraPDF) gegen repräsentative Ausgaben laufen zu lassen und anhand seines Reports Gates zu setzen. Die Bibliothek gibt die Struktur aus; der Prüfer entscheidet, ob sie konform ist. Die Bibliothek erhebt keinen pauschalen Konformitätsanspruch.
Sonderfälle & Fallstricke
Abschnitt betitelt „Sonderfälle & Fallstricke“/IDist dateieindeutig. Eine Baseline-Ausgabe, die einen Trailer-/ID, eine/CreationDateoder Font-Subset-Präfixe enthält, ist nicht byte-stabil. Vergleichen Sie mit dem strukturellen Profil (qpdf-normalize), nicht mit einem rohen sha256.- Plain ≠ archivierungstauglich.
ConformanceMode::Plainist kein PDF/A. Es trägt keinen OutputIntent und keinenpdfaid-Marker. Behandeln Sie es nicht als archivierungstauglich. - Implementiert ≠ voll konform. Diese Seite listet die Klauseln auf, die NextPDF implementiert. Sie sagt nicht aus, dass jede ISO 32000-2-Klausel für jedes Dokument erfüllt ist — das ist ein Prüferurteil pro Dokument.
- Erweiterungen sind namespaced. Eine Entwickler-Erweiterung nutzt das §7.12-Extensions-Dictionary mit einem registrierten Präfix. Ein nicht präfigierter privater Schlüssel ist eine Baseline-Abweichung.
Performance
Abschnitt betitelt „Performance“Die Baseline-Erzeugung liegt im Kernpfad der Engine. Budgetiert wird mit Wall ≤ 1500 ms und Peak ≤ 64 MB für ein typisches Dokument. Die Backport-Matrix (PHP 8.1–8.4) wird für den Baseline-Writer unterstützt.
Sicherheitshinweise
Abschnitt betitelt „Sicherheitshinweise“PDF 2.0-Baseline-Ausgabe enthält keine Verschlüsselung und keine Signatur, sofern diese nicht ausdrücklich hinzugefügt werden. Verschlüsselung dient der Vertraulichkeit (ein eigenes Recipe). ISO-Berechtigungsbits sind reader-kooperativ, aber keine Zugriffskontrolle. Die Baseline gibt keine Sicherheitsgarantie.
Konformität
Abschnitt betitelt „Konformität“| Aussage | Spec | Klausel | reference_id |
|---|---|---|---|
| Eine konforme PDF 2.0-Datei muss einen konformen Trailer / eine konforme Dateistruktur führen. | ISO 32000-2 | §7.5.5 | |
| Jedes Objekt ist über eine Querverweistabelle oder einen Querverweis-Stream lokalisierbar. | ISO 32000-2 | §7.5.8 | |
| Die Datei hat einen Dokumentkatalog als Wurzelobjekt. | ISO 32000-2 | §7.7.2 | |
| Konformität ist über konforme Writer und Reader definiert. | ISO 32000-2 | §7.2 | |
| Versionserweiterungen nutzen das Extensions-Dictionary / Entwickler-Präfix. | ISO 32000-2 | §7.12 | |
| Getaggte Ausgabe baut auf der Baseline für logische Struktur aus ISO 32000-2 auf. | ISO 32000-2 | §14.7.2 |
Zitate sind Klausel-ID- + reference_id-Zeiger auf den Verifizierungskorpus. Es wird kein Standardtext wiedergegeben; die Klauseln sind in den Worten von NextPDF zusammengefasst.