ISO 19005-4 (PDF/A-4): NextPDF özellik eşleştirmesi
Bir bakışta
“Bir bakışta” başlıklı bölümInternational Organization for Standardization (ISO) 19005-4:2020, PDF/A-4 olarak bilinen Portable Document Format (PDF) 2.0 arşivleme profilidir. Bu sayfa, söz konusu profili desteği olduğundan fazla göstermeden NextPDF’e eşler: Core’un ne ürettiğini, nextpdf/pro uzantısının ne eklediğini ve NextPDF’in açıkça neleri kapsamadığını gösterir. NextPDF, PDF/A-4 ile ilgili yapıları üretir; bir dosyanın uyumlu olduğunu ancak bir doğrulayıcı ileri sürebilir.
Kurulum
“Kurulum” başlıklı bölümcomposer require nextpdf/core:^3# PDF/A-4 file authoring (OutputIntent + ICC + XMP) requires:# composer require nextpdf/proKavramsal genel bakış
“Kavramsal genel bakış” başlıklı bölümISO 19005-4:2020, ISO 32000-2:2020 (PDF 2.0) üzerine kuruludur; PDF/A-2 ve PDF/A-3 ise ISO 32000-1:2008 (PDF 1.7) üzerine kuruludur. NextPDF, bu soy ağacı farkını ConformanceMode::requiresPdf17() içinde yakalar. Bu yöntem, her PDF/A-4 durumu için false, PDF/A-2 ve PDF/A-3 için ise true döndürür.
PDF/A-4, üç uygunluk biçimi tanımlar. Temel profil, bir pdfa:conformance harfi kullanmaz. PDF/A-4e (Ek B, mühendislik / 3B içerik), bunu pdfa:conformance = E olarak ayarlar. PDF/A-4f (Ek A, gömülü dosyalar), bunu pdfa:conformance = F olarak ayarlar. ISO 19005-4:2020 §6.7.3, PDF/A tanımlama şemasını Association for Intelligent Information Management (AIIM) ad alanında belirtir. Buna göre, ne PDF/A-4e ne de PDF/A-4f ile uyumlu olan bir dosya hiçbir pdfa:conformance girdisi sunmaz. NextPDF, bu davranışı ConformanceMode::pdfaConformanceLetter() içinde birebir yansıtır: PdfA4 boş dizge döndürür, PdfA4e E döndürür, PdfA4f F döndürür.
Kritik sürüm sınırı, PDF/A-4 dosya oluşturma aşamasındadır. OutputIntent sözlüğü, gömülü International Color Consortium (ICC) profili, Extensible Metadata Platform (XMP) uzantı şeması, yazı tipi alt kümesi güvenceleri ve şifreleme yasağı Enterprise PdfAManager tarafından uygulanır. Enterprise PdfAManager, nextpdf/pro uzantısında sunulur. Yalnızca Core kurulumunda, Document::enablePdfA(), InvalidConfigException oluşturur; çünkü security.pdfa yeteneği kayıtlı değildir. Çalıştırılabilir örnek (examples/32-pdfa4-icc.php), bunu yetenek kaydını denetleyerek ve bir yığın izi yerine açık bir iletiyle kontrollü biçimde geri düşerek gösterir.
Bu nedenle, Core’daki PDF/A-4 yüzeyi tek başına yalnızca ayırt edicidir. NextPDF, bir belgenin hangi PDF/A-4 türevini bildirdiğini kaydeder. NextPDF, şemanın tanımladığı pdfaid:part = 4 / pdfa:conformance işaretçilerini üretir. Tam bir PDF/A-4 dosyası üretmek ve uyumlu olduğunu doğrulamak ayrı adımlardır. İlk adım nextpdf/pro gerektirir. İkinci adım veraPDF gerektirir.
API yüzeyi
“API yüzeyi” başlıklı bölüm| Yüzey | Sürüm | Neyi sağladığı |
|---|---|---|
ConformanceMode::PdfA4 / PdfA4e / PdfA4f | core | Türev ayırt edicisi |
ConformanceMode::pdfaPart() → 4 | core | ISO 19005 bölüm numarası |
ConformanceMode::pdfaConformanceLetter() → '' / 'E' / 'F' | core | §6.7.3 uygunluk harfi |
ConformanceMode::requiresPdf17() → false | core | PDF 2.0 soy ağacı kapısı |
Document::enablePdfA() | pro | OutputIntent + ICC + XMP oluşturma; Core’da InvalidConfigException oluşturur |
Kod örneği — hızlı başlangıç
“Kod örneği — hızlı başlangıç” başlıklı bölüm<?php
declare(strict_types=1);
use NextPDF\Conformance\ConformanceMode;
// Core: introspect the declared PDF/A-4f contract.$mode = ConformanceMode::PdfA4f;$mode->pdfaPart(); // 4$mode->pdfaConformanceLetter(); // 'F' (ISO 19005-4:2020 §6.7.3 / Annex A)$mode->requiresPdf17(); // false (PDF/A-4 is PDF 2.0 lineage)Kod örneği — üretim
“Kod örneği — üretim” başlıklı bölüm<?php
declare(strict_types=1);
use NextPDF\Core\Document;use NextPDF\Exception\InvalidConfigException;use NextPDF\Support\CapabilityRegistry;
// PDF/A-4 file authoring requires the Premium extension. Probe first so a// Core-only install gets a clear rationale, not a stack trace.$registry = CapabilityRegistry::getInstance();if (!$registry->get('security.pdfa')->isAvailable()) { throw new InvalidConfigException( configKey: 'security.pdfa', givenValue: 'Core-only install', expectedType: 'nextpdf/pro extension (Enterprise PdfAManager)', );}
$doc = Document::createStandalone();$doc->enablePdfA(); // Emits OutputIntent + ICC + pdfaid XMP (Premium).// … write content …$doc->save(__DIR__ . '/out/archive-a4.pdf');
// The file now CARRIES PDF/A-4 structures. Conformance is still unproven// until veraPDF asserts it://// verapdf --flavour 4 out/archive-a4.pdfSınır durumları ve dikkat edilecek noktalar
“Sınır durumları ve dikkat edilecek noktalar” başlıklı bölüm- Core bir PDF/A-4 dosyası oluşturamaz.
enablePdfA()Core’da istisna oluşturur. Core yalnızca ayırt ediciyi ve XMP işaretçilerini sunar. - Temel PDF/A-4 hiçbir
pdfa:conformanceüretmez. ISO 19005-4:2020 §6.7.3 uyarınca, harfi yalnızca PDF/A-4e ve PDF/A-4f ayarlar.ConformanceMode::PdfA4tasarım gereği boş dizge döndürür. - PDF 1.7 değil, PDF 2.0 soy ağacıdır. Sık yapılan bir hata,
%PDF-1.7bekleyen bir PDF/A-3 işlem hattını yeniden kullanmaktır. PDF/A-4, PDF 2.0’dır;requiresPdf17()tüm PDF/A-4 durumları içinfalsedöndürür. - ICC doğrulaması Premium kapsamındadır. ISO 19005-4:2020 §6.2.2 OutputIntent ICC doğrulaması (
acspsihirli değeri, etiket tablosu, D50 beyaz noktası) Core tarafından değil, EnterprisePdfAManagertarafından gerçekleştirilir. - Kitaplık dosyayı sertifikalandırmaz.
PdfA4fayarlamak ve işaretçileri üretmek, çıktıyı geçerli bir PDF/A-4f dosyası yapmaz. veraPDF ile doğrulayın.
Performans
“Performans” başlıklı bölümCore PDF/A-4 yüzeyi, yalnızca değer türü iç gözlemi sağlar: enum match gönderimi O(1)‘dir ve bellek ayırma yapmaz. Premium oluşturma yolu, yazma sırasında OutputIntent ve ICC paketini ekler. Maliyeti, yazıcı bütçesi içinde ele alınan gömülü profil boyutundan gelir. veraPDF doğrulaması üretim sırasında değil, ayrı bir kanalda çalışır.
Güvenlik notları
“Güvenlik notları” başlıklı bölümPDF/A-4 şifrelemeyi yasaklar. Enterprise PdfAManager, şifreleme yasağı değişmezini uygular ve bu denetimi enablePdfA() ile ilişkili sırada çalıştırır; böylece bir çağıran, Advanced Encryption Standard in Galois/Counter Mode (AES-GCM) ile arşivleme modunu yanlışlıkla birleştiremez. Core’un HasSecurity::enablePdfA() içindeki ön koruması, herhangi bir bayt yazılmadan önce desteklenmeyen birleşimi reddeder. Arşivleme işlem hattı ayrıntıları için proje tehdit modeline bakın.
Uygunluk
“Uygunluk” başlıklı bölümBu sayfa bir uygunluk iddiası değil, bir özellik eşlemesidir.
| ISO 19005-4:2020 alanı | Madde | NextPDF kapsamı | Durum |
|---|---|---|---|
| Türev tanımlama şeması | §6.7.3 | ConformanceMode, pdfaid:part = 4 ve pdfa:conformance harfini üretir | Beyan edildi (Core; tests/Unit/Conformance/ içinde birim testi yapıldı) |
| PDF 2.0 soy ağacı kapısı | §6.7.3 / temel | requiresPdf17() tüm PDF/A-4 durumları için false döndürür | Doğrulandı (birim testi yapıldı) |
| OutputIntent + gömülü ICC | §6.2.2 | Enterprise PdfAManager (nextpdf/pro) | Yalnızca Premium (Core değil) |
| XMP uzantı şeması, yazı tipi alt kümeleme, şifreleme yasağı | §6 / Ek A/B | Enterprise PdfAManager (nextpdf/pro) | Yalnızca Premium (Core değil) |
| Uygunluk belirleme | Madde 5 | NextPDF tarafından gerçekleştirilmez — veraPDF | Açıkça kapsam dışında |
Destek, uygunluk anlamına gelmez — ve bu sayfa ikisini bilinçli olarak ayırır. (a) NextPDF Core, ISO 19005-4:2020 §6.7.3’ün türev tanımlaması için tanımladığı yapıları üretir; bu, tests/Unit/Conformance/ConformanceModePdfAVariantTest.php (geçen) ile kanıtlanan bir uygulamadır. (b) Bir dosyanın PDF/A-4 ile uyumlu olması, ISO 19005-4:2020 Madde 5 uyarınca yalnızca bir doğrulayıcının ileri sürebileceği ayrı bir iddiadır. Madde 5, uygunluğun normatif gereksinimlere göre asıl belirlemesini bir denetim aracının gerçekleştirdiğini belirtir. NextPDF, (a) iddiasında bulunur. NextPDF, (b) iddiasında bulunmaz. veraPDF ile doğrulayın (verapdf --flavour 4 … veya oracle düzeneği için php oracle/run.php — yalnızca veraPDF ikili dosyası mevcut olduğunda çalışan, isteğe bağlı bir kapı).
“PDF/A-4 uyumlu”, “uyumlu (byte-identical değil)” ve “PDF/A-4 sertifikalı” ifadeleri bu sayfadan bilinçli olarak çıkarılmıştır. NextPDF, PDF/A-4 ile ilgili yapıları üretir; uyumlu bir dosya garantisi vermez.
Alıntılar, NextPDF uygunluk derlemine göre başka sözcüklerle ifade edilmiştir. Tam 64 karakterlik reference_id özetleri, sayfa ön bilgisinde ve docs/public/modules/core/_normative-evidence-conf.md içinde kaydedilir.
Ayrıca bakınız
“Ayrıca bakınız” başlıklı bölüm- Uygunluk modülü —
ConformanceModeyönlendirmesi ve veraPDF oracle’ı - Uyum modülü — PDF/R-1 doğrulayıcı ve Arlington dilbilgisi
- PDF/UA-2 belirtim eşlemesi — erişilebilirlik profilinin eşlemesi