SetPDFAMode

Belge özellikleri, Uygunluk

Açıklama

Seçilen belge için PDF/A uyumluluk modunu etkinleştirir. Tek bir çağrı, seçilen PDF/A bölümü ve uyumluluk düzeyinin gerektirdiği tüm belge düzeyi kurulumunu gerçekleştirir: PDF sürümü gereken en düşük değere yükseltilir, etiketli PDF uyumluluk düzeyi (A) seçildiğinde /MarkInfo girdisi yazılır, Catalog öğesine bir çıkış amacı (DeviceRGB sRGB ICC profili) eklenir ve pdfaid:part/pdfaid:conformance XMP ad alanı girdileri yazılır. Kitaplık ayrıca seçilen bölümün yasakladığı içeriği oluşturacak sonraki çağrıları reddeden oluşturma tarafı uyumluluk korumasını etkinleştirir (bkz. Remarks)

Bunu yeni oluşturulmuş bir belgede ve herhangi bir içerik eklemeden önce bir kez çağırın. Bu veya başka bir kitaplık tarafından oluşturulmuş mevcut bir PDF/A dosyasını doğrulamak için CheckFileCompliance işlevini ComplianceTest = 1 ile kullanın

Sözdizimi

Delphi

Function TPDFlib.SetPDFAMode(NewMode: Integer): Integer;

ActiveX

Function PDFlib::SetPDFAMode(NewMode As Long) As Long

DLL

int DLSetPDFAMode(int InstanceID, int NewMode);

Parametreler

NewModeEtkinleştirilecek PDF/A uyumluluk modu. Her mod bir PDF/A bölümü (1, 2, 3 veya 4 — ISO 19005-1/-2/-3/-4) ve bir uyumluluk düzeyi (temel görsel üretim için B, etiketli PDF erişilebilirliği için A) ile tanımlanır.

0 — PDF/A modunu devre dışı bırak (varsayılan).
1 — PDF/A-1a (ISO 19005-1 Level A). PDF 1.4. Etiketli PDF gerekir.
2 — PDF/A-1b (ISO 19005-1 Level B). PDF 1.4. Yalnızca görsel üretim.
3 — PDF/A-2b (ISO 19005-2 Level B). PDF 1.7. Görsel üretim; saydamlığa ve katmanlara izin verilir.
4 — PDF/A-2a (ISO 19005-2 Level A). PDF 1.7. Etiketli PDF gerekir.
5 — PDF/A-3b (ISO 19005-3 Level B). PDF 1.7. PDF/A-2b gibidir ancak rastgele gömülü dosyalara izin verir.
6 — PDF/A-3a (ISO 19005-3 Level A). PDF 1.7. PDF/A-2a gibidir ancak rastgele gömülü dosyalara izin verir.
7 — PDF/A-3u (ISO 19005-3 Level U). PDF 1.7. PDF/A-3b gibidir ancak metnin Unicode eşlemelerine sahip olması gerektiğini bildirir.
8 — PDF/A-2u (ISO 19005-2 Level U). PDF 1.7. PDF/A-2b gibidir ancak metnin Unicode eşlemelerine sahip olması gerektiğini bildirir; gömülü dosyalar yasak kalır.
9 — PDF/A-4 (ISO 19005-4). PDF 2.0. Uyumluluk düzeyi yerine bölüm ve revizyon yılıyla tanımlanır; metin Unicode eşlemeleri gerektirir, etiketleme zorunlu değildir.
10 — PDF/A-4e (ISO 19005-4). PDF 2.0. PDF/A-4 gibidir ve mühendislik belgeleri için ayrıca 3D ile zengin medyaya izin verir.
11 — PDF/A-4f (ISO 19005-4). PDF 2.0. PDF/A-4 gibidir ve ayrıca herhangi bir biçimde gömülü dosyaya izin verir

Dönüş değerleri

0Başarısız — açık belge yok veya NewMode 0–11 aralığının dışında
1PDF/A modu başarıyla etkinleştirildi

Açıklamalar

Seçilen mod, oluşturma tarafındaki bir uygunluk korumasını denetler. Etkinleştirildikten sonra kitaplık, ISO 19005 doğrultusunda ilgili bölümün yasakladığı içeriği oluşturacak sonraki çağrıları reddeder veya yeniden yazar:

CMYK / Separation / Shader colorsHer PDF/A modunda (1–11) engellenir — belge bir sRGB çıktı amacıyla ayarlanır ve yalnızca çıktı amacının aygıt sınıfıyla uyumlu renkler kullanılabilir
EncryptionHer PDF/A modunda engellenir. Şifrelemeyle ilişkili bir API çağırmadan önce modu ayarlayın
Transparency / blend modes / page transparency groups1 ve 2 modlarında engellenir (PDF/A-1 saydamlığı yasaklar). 3–11 modlarında izin verilir (PDF/A-2, -3 ve -4 saydamlığa izin verir)
JavaScript actionsTüm PDF/A modlarında engellenir — ISO 19005-1 §6.6.1 JavaScript kullanımını yasaklar ve bu yasak PDF/A-2/3 sürümlerinde de sürdürülür
Embedded files / file attachments1–4 modlarında engellenir (PDF/A-1 bunları yasaklar; PDF/A-2 yalnızca kitaplığın zorunlu kılmadığı PDF/A uyumlu gömülü PDF'lere izin verir). 5, 6, 7, 9, 10 ve 11 modlarında izin verilir. PDF/A-3, AFRelationship ilişkisi aracılığıyla herhangi bir MIME türündeki gömülü dosyalara izin verir ve PDF/A-4 bunu sürdürür; düz PDF/A-4'te gömülü dosyanın kendisi PDF/A ile uyumlu olmalıdır, PDF/A-4f bu kısıtlamayı kaldırır

Gerekli etiketli PDF içeriği (başlık yapısı, şekillerde alternatif metin, tablo kapsamı öznitelikleri, özel türler için RoleMap girdileri) a düzeylerinde (mod 1, 4, 6) çağıranın sorumluluğundadır. Yapı ağacını oluşturmak için BeginTag, BeginArtifact, AddRoleMap ve yapı öğesi ayarlayıcılarını kullanın. En yaygın etiketli PDF sorunlarını ortaya çıkarmak için kaydetmeden önce GetPDFUADiagnostics çağrısını yapın. u düzeyi (mod 7) için belgenin yazı tipi kaynaklarının işlenen tüm metinlere Unicode metin eşlemeleri sağladığından emin olun

PDF/A ve PDF/UA aynı belgede etkinleştirilebilir. Önce SetPDFAMode öğesini etkinleştirin (1a/2a/3a bölümleri zaten etiketli PDF anlamına gelir), ardından SetPDFUAMode çağrısıyla PDF/UA'ya özgü katalog kurulumunu (DisplayDocTitle, pdfuaid:part, otomatik /Tabs /S) ekleyin

Örnek

// PDF/A-1b — minimum-effort archival document
PDF.NewDocument;
PDF.SetPDFAMode(2);                              // PDF/A-1b
PDF.SetDocumentInfo('Title', 'Quarterly Report Q1 2026');
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.SetFontSize(12);
PDF.PrintText(50, 750, 'Quarterly Report — Q1 2026');
PDF.SaveToFile('Q1-Report-PDFA1b.pdf');

// PDF/A-3a — tagged report with an embedded source spreadsheet
PDF.NewDocument;
PDF.SetPDFAMode(6);                              // PDF/A-3a
PDF.SetPDFUAMode('en-US');                       // Optional: also satisfy PDF/UA-1
PDF.SetDocumentInfo('Title', 'Sales Analysis 2026');
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.BeginTag('H1', '', '');
PDF.PrintText(50, 750, 'Sales Analysis');
PDF.EndTag;
PDF.BeginTag('P', '', '');
PDF.PrintText(50, 720, 'See attached spreadsheet for source data.');
PDF.EndTag;
PDF.EmbedFile('Source data', 'data.xlsx', 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
PDF.SaveToFile('Sales-PDFA3a.pdf');

Ayrıca bkz

CheckFileCompliance, SetPDFUAMode, SetMarkInfo, EmbedFile, BeginTag, GetPDFUADiagnostics, SetInformation