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
| NewMode | Etkinleş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
| 0 | Başarısız — açık belge yok veya NewMode 0–11 aralığının dışında |
|---|---|
| 1 | PDF/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 colors | Her 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 |
|---|---|
| Encryption | Her PDF/A modunda engellenir. Şifrelemeyle ilişkili bir API çağırmadan önce modu ayarlayın |
| Transparency / blend modes / page transparency groups | 1 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 actions | Tü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 attachments | 1–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