Arşivleme ve PDF/A
Spec: ISO 19005-4:2020, PDF/A-4ISO 19005-4:2020 PDF/A-4Spec: ISO 19005-2, PDF/A-2ISO 19005-2 PDF/A-2
Bir bakışta
“Bir bakışta” başlıklı bölümPDF/A, bir belgenin onlarca yıl sonra, henüz var olmayan yazılımlarda da okunabilir kalması ve aslına sadık görünmesi gerektiğinde başvurduğunuz biçimdir. Bu sayfa bu garantinin gerçekte neyi kapsadığını, NextPDF’in uyumlu bir dosyayı nasıl ürettiğini ve ekipleri şaşırtan noktayı açıklar: PDF/A üretmek ile kanıtlamak (bir dosyanın PDF/A olduğunu) iki ayrı iştir. İkincisi hâlâ sizin sorumluluğunuzdadır.
Bu neden önemli
“Bu neden önemli” başlıklı bölümArşivleme yükümlülükleri hataları sessizce affetmez. Dosya bugün düzgün görünür, bu yüzden arşive konur. Hata — gömülmemiş bir yazı tipi, aygıta bağlı bir renk, şifrelenmiş bir trailer — yıllar sonra, özgün ortam artık yokken ve belgenin nasıl görünmesi gerektiğini kimse yeniden oluşturamazken ortaya çıkar. O noktada maliyet yeniden işleme değildir; artık güvenemeyeceğiniz bir kayıttır.
PDF/A tam olarak bu tür hataları ortadan kaldırmak için vardır. Ancak “bir PDF/A kitaplığı kullandık” demek, “bu dosya uyumludur” demekle aynı şey değildir. İkisini birbirine karıştırmak, arşivlerin yalnızca korunmuş gibi görünen belgelerle dolmasının yoludur.
Kısaca
“Kısaca” başlıklı bölüm- PDF/A’nın amacı, zaman içinde aslına sadık, kendi kendine yeten ve aygıttan bağımsız yeniden üretim sağlamaktır — bir belgenin statik görsel görünümünü, onu üreten araçlardan bağımsız olarak korur (ISO 19005-2 Giriş).
- Bu, somut kısıtlamalar gerektirir: tüm yazı tiplerinin gömülü olması, aygıttan bağımsız renk (doğrudan veya bir output intent aracılığıyla; ISO 19005-4 §6.2.4.1) ve trailer içinde şifreleme olmaması.
- NextPDF, PDF/A biçimini, sessizce uyumlu olmayan bir dosya üretmek yerine uyumsuz işlemleri reddeden açık ve isteğe bağlı bir kip aracılığıyla üretir.
- Uygunluk, üreticinin iddiasıyla değil, bir denetleme aracının kararıyla belirlenir. Standardın başarısı bile çevredeki arşivleme ortamına ve prosedürlere bağlıdır (ISO 19005-4 Giriş). Çıktıyı doğrulamak, hâlâ yerine getirmeniz gereken bir adımdır.
NextPDF buna nasıl yaklaşıyor
“NextPDF buna nasıl yaklaşıyor” başlıklı bölümNextPDF, PDF/A biçimini sonradan uygulanan bir işleme filtresi olarak değil, belgenin içinde bulunduğu bir kip olarak ele alır. Bu kip isteğe bağlıdır. Etkinleştirildiğinde, belgeyi uygunluğu bozacak işlemlere karşı etkin biçimde korur. Tasarım ilkesi, hızlı hata vermedir (fail-fast). Şifrelenmiş bir PDF/A isteğini açıkça reddetmek, arşivlenebilir görünen ama öyle olmayan bir dosyayı geri vermekten daha iyidir.
Senaryonun dört aşaması vardır. Üçüncüsü, ekiplerin en sık atladığı aşamadır.
- Compose for permanenceEmbed every font, use device-independent colour or an output intent, and avoid features the chosen PDF/A part forbids.
- Enable the PDF/A modeOpt in explicitly to the target conformance level. The mode now guards the document against incompatible operations.
- Validate independentlyRun a conformance checker. A passing report — not the producing library — is the evidence the archive needs.
- Preserve with procedureStore under records-management policy. The standard itself notes archival success depends on the environment, not the file alone.
Bu isteğe bağlı seçim bir bayrak değil, gerçek bir korumadır. PDF/A kipi etkinken uyumsuz bir işlem denendiğinde — AES-GCM’yi veya standart şifreleme işleyicisini etkinleştirmek gibi — motor, türlenmiş bir uyumsuzluk hatası yükseltir. Koruma her iki sırada da çalışır: önce PDF/A etkinleştirilip sonra şifreleme istenebilir veya önce şifreleme istenip sonra PDF/A etkinleştirilebilir. Her iki durumda da sonuç açık bir reddetmedir.
ISO 19005, uyumlu bir dosyanın trailer’ında Encrypt anahtarını
yasaklar ve motor bunu tavsiye niteliğinde değil, bağlayıcı olarak ele alır.
Kip ayrıca kendi durumunu da tutarlı tutar. PDF/A’yı belirli bir bölüm için etkinleştirmek (örneğin PDF/A-4 yerine bayt düzeyinde aslına sadık bir PDF/A-3 düzeyi), belgenin uygunluk ayırt edicisini buna uyacak şekilde ayarlar. Bölüme bağlı yazar tarafı geçitleri böylece eski bir varsayılanı değil, doğru değeri görür. Bir doğrulayıcının dosyayı geçirip geçirmeyeceğine işte bu türden bir iç tutarlılık karar verir.
Uygulamalı örnek
“Uygulamalı örnek” başlıklı bölümAşağıdaki kod, birleşim noktasındaki koruma davranışını gösterir. PDF/A kipinin kendisi bir Premium katmanı yeteneğidir. Uygunluk denetimi ise ayrı, bağımsız bir adımdır.
<?php
declare(strict_types=1);
use NextPDF\Contracts\PdfDocumentInterface;use NextPDF\Security\Exception\IncompatiblePdfAModeException;
/** * Produce an archival candidate, then prove it independently. * * The engine refuses conformance-breaking combinations; it does NOT * certify the result. A validator does that. * * @param PdfDocumentInterface $doc A document with all fonts embedded * @param object $pdfaLevel The target PDF/A version (Premium enum) * * @return string The archival candidate's bytes — not yet a verified PDF/A */function buildArchivalCandidate( PdfDocumentInterface $doc, object $pdfaLevel,): string { try { // Opt in explicitly. From here the mode guards the document. $doc->enablePdfA($pdfaLevel); } catch (IncompatiblePdfAModeException $e) { // e.g. encryption was already requested — refused, not silently // downgraded into a non-conforming "archival" file. throw new \RuntimeException( 'PDF/A and encryption are mutually exclusive for a conforming ' . 'file; resolve before archiving.', previous: $e, ); }
$bytes = $doc->getPdfData();
// The step teams skip: this is a CANDIDATE. Run an independent // conformance validator before treating it as a preserved record. return $bytes;}Dönüş satırındaki yorum asıl dersi verir. İşlev adı bilerek aday der. Motor, uyumlu olması gereken bir şey üretti. “Olması gereken”i kanıta yalnızca bir denetleyici dönüştürür.
Yaygın yanlış anlama
“Yaygın yanlış anlama” başlıklı bölümTek bir yanlış anlama arşivleri korunmamış belgelerle doldurur: “kitaplık PDF/A diyor, dolayısıyla dosya PDF/A’dır.” Bu kararı vermek kitaplığın işi değildir. Bir üretici, uyumlu olması amaçlanan bir dosya üretebilir ve yine de normatif bir gereksinimi atlayabilir. Uygunluk, standarda göre bir doğrulama aracı tarafından belirlenir. Bir denetçinin veya gelecekteki bir okuyucunun dayandığı şey tam da bu belirlemedir. Üreten kitaplığın niyetini kanıt saymak temel hatadır.
İkinci ve daha incelikli tuzak: yalnızca PDF/A’nın belgeyi koruduğunu varsaymak. Standardın kendisi arşivleme başarısını çevredeki ortama ve prosedürlere bağlar. Disiplinsiz bir depoda duran uyumlu bir dosya yine de risk altındadır. Biçim gereklidir, ancak yeterli değildir.
Sınırlamalar ve sınırlar
“Sınırlamalar ve sınırlar” başlıklı bölüm- NextPDF uyumlu bir aday üretir; uygunluğu onaylamaz. Bağımsız bir doğrulayıcı çalıştırın. Kanıt, üreten kitaplık değil, başarılı bir rapordur.
- PDF/A uygunluk kipleri bir Premium katmanı yeteneğidir. Core, düz PDF 2.0 üretir ve uygulanabilir bir yükseltme yolu sunar. PDF/A garantisi sağlamaz. Aşağıdaki sınıra bakın.
- Uyumlu bir dosya için PDF/A ile şifreleme birbirini dışlar. Motor, sessizce bozulmak yerine bu birleşimi her iki sırada da reddeder.
- Motor, kendisine verilmeyen yazı tiplerini gömemez veya sizin sağladığınız aygıta bağlı rengi düzeltemez. Kalıcılık için oluşturmak — gömülü yazı tipleri, aygıttan bağımsız renk — bir girdi sorumluluğudur.
- Arşivleme dayanıklılığı yalnızca dosyaya değil, sürece bağlıdır. ISO 19005, kurumsal saklamayı ve kayıt yönetimi prosedürlerini başarılı korumanın bir parçası kılar.
- Bu sayfa standart dayanaklıdır ve Premium yüzeyinde davranış düzeyindedir. Herhangi bir sertifikasyon iddia etmez veya vermez.
| Edition | Availability |
|---|---|
| Core | Core yalnızca düz PDF 2.0 üretir. |
| Pro | PDF/A uygunluk kipleri (bayt düzeyinde aslına sadık PDF/A-3 düzeyleri ve PDF/A-4 dâhil) şifreleme uyumsuzluğu koruması ile birlikte kullanılabilir. |
| Enterprise | Yapısal bir PDF/A uygunluk politikası ve raporu ekler (yine de bir yapısal denetimdir, bir sertifikasyon değil — nihai belirleme bir doğrulayıcıya ve uyum ekibinize aittir). |
İlgili belgeler
“İlgili belgeler” başlıklı bölüm- Yazı tipleri: en zor kısım — doğru görünen bir yazı tipinin bile dosyayı neden uyumsuz veya aranamaz hâle getirebileceği.
- Golden-file testing — sabitlenmiş referans çıktısının, arşivleme garantilerini sessizce bozan bayt kaymasını nasıl yakaladığı.
- Faturalar ve e-faturalama — en yakın ilgili konu: hibrit bir fatura taşıyıcısı kendisi bir PDF/A dosyasıdır.
Sözlük
“Sözlük” başlıklı bölüm- PDF/A — ISO 19005 ailesi: uzun vadeli koruma için kısıtlanmış bir PDF profili; bir belgenin statik görünümünü, üreten araçlardan bağımsız olarak zaman içinde yeniden üretmek üzere tasarlanmıştır.
- Uygunluk düzeyi / bölümü — belirli PDF/A varyantı (örneğin PDF/A-2, PDF/A-3, PDF/A-4 ve alt düzeyleri); her biri hangi PDF özelliklerinin kullanılabileceğini kısıtlar.
- Output intent — aygıta bağlı rengin aygıttan bağımsız olarak yorumlanmasını sağlayan, gömülü bir renk karakterizasyon profili.
- Aygıttan bağımsız renk — işleme aygıtından bağımsız olarak tutarlı biçimde yeniden üretilecek şekilde belirtilen renk; bir PDF/A gereksinimidir.
- Uygunluk denetleyicisi / doğrulayıcı — bir dosyayı standardın normatif gereksinimlerine karşı değerlendiren bağımsız yazılım; uygunluk kararının kaynağı.
- Arşivleme adayı — uyumlu olmayı amaçlayarak üretilen, ancak bağımsız bir doğrulayıcı gerçekten uyumlu olduğunu onaylamadan önceki dosya.