Ön kontrol raporları
Uyumluluk, Belge inceleme, Otomasyon
PDF/UA okuyucu profili seçimi
PDF/UA denetimleri, XMP pdfuaid:part=2 tanımlıyorsa bölüm 2'yi seçer, aksi hâlde bölüm 1 denetimlerini korur; burada anlatılan eski PDF/UA-1 denetimlerinin bölüm 2 için geçerli olduğu ima edilmez
PDF/UA-2 profili; çekirdek kimliklendirme, ad alanı, rol ve yapı denetimlerini uygular. Yapılandırılmış raporlar PDF/UA-2 ve ISO 14289-2 kullanır ve fullCertification=false ile doğrulanmamış kapsamı bildirir
Hedef bölümü zorlamak için CheckFilePDFUACompliance ya da RunPDFUAValidationPipelineTask'ı, yetenek sınırlarını incelemek için GetPDFUAReadValidationCoverageJSON'u kullanın
Genel bakış
PDF Library for Delphi, yerleşik PDF/A ve PDF/UA-1 dosya uyumluluk denetimlerini harici bir PDF üzerinde çalıştırabilir ve sonucu yeniden kullanılabilir rapor çıktısına dönüştürebilir. Bir uygulama veya derleme işlem hattı CheckFileCompliance ile aynı tanılamalara gerek duyuyor ancak dize listesi tanıtıcılarını doğrudan yönetmek istemiyorsa rapor API'lerini kullanın
Rapor işlem hattı kasıtlı olarak katmanlıdır. CheckFileCompliance, sorun listesi tanıtıcılarını döndüren düşük düzey API olarak kalır. CreatePreflightReport, seçili denetimleri kararlı bir düz metin gövdesi olarak biçimlendirir. CreatePreflightReportEx aynı metin raporunu metin, JSON, HTML veya CSV biçimine dönüştürür; böylece tüm biçimler aynı geçme/kalma durumunu ve sorun sayısını paylaşır
Kitaplık API'leri
| CheckFileCompliance | Bir PDF dosyasında seçili bir uyumluluk denetimini çalıştırır ve başarılı durumda 0, aksi durumda sorun satırlarını içeren bir StringListID döndürür |
|---|---|
| CreatePreflightReport | PDF/A, PDF/UA-1 veya her iki denetimi çalıştırır ve üst bilgi meta verilerini, her denetim için bir bölümü ve son özeti içeren düz metin raporu döndürür |
| CreatePreflightReportEx | Aynı raporu metin (0), JSON (1), HTML (2) veya CSV (3) biçiminde döndürür. Bilinmeyen biçim değerleri metne geri döner |
| SavePreflightReport | Düz metin raporunu UTF-8 olarak yazar ve gerektiğinde üst dizini oluşturur |
| SavePreflightReportEx | Metin, JSON, HTML veya CSV raporunu UTF-8 olarak yazar ve gerektiğinde üst dizini oluşturur |
| ComparePreflightReports | İki düz metin raporunu karşılaştırır, değişken Generated: zaman damgası satırlarını yok sayar ve yalnızca kararlı içerik değiştiğinde kısa bir fark döndürür |
Biçim sözleşmesi
| Metin | Standart rapor gövdesi. Generated, Input, Checks, Issue mode, seçili her denetim için bir bölüm ve Total issues ile Result alanlarını içeren bir Summary bloğu içerir |
|---|---|
| JSON | title, generated, input, checks, issueMode, sections ve summary alanlarını içeren tek bir nesne. Her bölümde ad, durum ve sorun dizeleri dizisi bulunur |
| HTML | Bağımsız bir UTF-8 HTML belgesi. Metin raporu HTML için kaçışlanır ve önceden biçimlendirilmiş bir blok içinde gösterilir; böylece rapor içeriği işaretleme olarak yorumlanmadan görünür |
| CSV | Satırlar sabit kind,section,status,code,message sütunlarını kullanır. meta satırları üst bilgi alanlarını, check satırları PASS/FAIL bölüm durumunu, issue satırları iletilerden ayrılmış sayısal sorun kodlarını ve summary satırları son toplamları taşır |
Uyumluluk Seçimi
Rapor API'leri ComplianceTests için bir bit maskesi kullanır: 1 PDF/A'yı, 2 PDF/UA-1'i ve 3 her ikisini seçer. 0 geçirilmesi de iki denetimi birden çalıştırır. Options şu anda seçili her denetimi ilk sorundan sonra durdurmak için 1 bitini kullanır; bildirilen tüm sorunları toplamak için 0 geçirin
Komut Satırı Demosu
Delphi PreflightReport konsol demosu, uygulamaya özgü bir kullanıcı arayüzü eklemeden rapor iş akışını gösterir. Tek bir PDF'yi doğrulayabilir, biçimlendirilmiş çıktı oluşturabilir, yeni bir metin raporunu temel çizgisiyle karşılaştırabilir veya bir dizini toplu olarak işleyebilir
PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.txt"
PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.json" --json
PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.csv" --format csv
PreflightReport.exe --input "C:\PDFs\invoice.pdf" --output "C:\Reports\invoice.preflight.txt" --compare "C:\Baselines\invoice.preflight.txt"
PreflightReport.exe --input-dir "C:\PDFs" --output-dir "C:\Reports" --recursive --format html
Tek dosya modu, seçili denetimler sorun bildirmediğinde 0, komut satırı veya çalışma zamanı hatalarında 1, herhangi bir sorun bildirildiğinde ya da temel çizgisi karşılaştırması farklı olduğunda 2 çıkış kodunu döndürür. Dizin modu, her PDF için bir <basename>.preflight.<ext> dosyası yazar ve kaynak yolu, geçme/kalma durumunu, sorun sayısını ve rapor yolunu içeren bir preflight-summary.csv dosyası ekler
Karşılaştırma Notları
ComparePreflightReports düz metin raporları için tanımlanmıştır. Aynı çalıştırmanın kullanıcıya yönelik çıktısı JSON, HTML veya CSV olsa bile temel düz metin raporu ile yeni oluşturulan düz metin raporu verilmelidir. Karşılaştırıcı, zaman damgaları her çalıştırmada değiştiği için Generated: satırlarını normalleştirir; diğer tüm kararlı satırlar, ekleme ve silme farklarını okunabilir tutan küçük bir ileri bakış penceresiyle sırayla karşılaştırılır
Ayrıca bakın
CheckFileCompliance, CreatePreflightReport, CreatePreflightReportEx, SavePreflightReport, SavePreflightReportEx, ComparePreflightReports, GetPDFUADiagnostics