PDFium Delphi Component Docs

FPdfPreflightReport birimi

Unit: FPdfPreflightReport
Gömülü PDF standartları doğrulayıcılarından yeniden kullanılabilir, sorgulanabilir bir rapor nesnesi kurar ve metin, HTML, Markdown, JSON, CSV, SARIF 2.1.0, JUnit XML, NDJSON ya da yerel XML olarak dışa aktarır

Syntax

function BuildPdfPreflightReport(Pdf: TPdf): TPdfPreflightReport; overload;
function BuildPdfPreflightReport(Pdf: TPdf; Standards: TPdfPreflightStandards): TPdfPreflightReport; overload;
function PdfPreflightIssueSeverity(Standard: TPdfPreflightStandard; const Code, Category: string): TPdfPreflightSeverity;
function PdfPreflightSeverityName(Severity: TPdfPreflightSeverity): string;
function PdfPreflightStandardName(Standard: TPdfPreflightStandard): string;
function PdfPreflightStatusName(Status: TPdfPreflightStatus): string;
function CreateDefaultPdfValidationRuleRegistry: TPdfValidationRuleRegistry;
function ValidatePdfFilesParallel(const FileNames: array of string; Registry: TPdfValidationRuleRegistry; const Options: TPdfBatchValidationOptions): TPdfBatchValidationReport;

Public Types

TypeDescription
TPdfPreflightStandardppsPdfA, ppsPdfUa, ppsPdfE, ppsPdfX, ppsPdfR ve ppsPdfVT seçeneklerini sunan standart seçici
TPdfPreflightStandardsBuildPdfPreflightReport işlevinin kullandığı küme türü; AllPdfPreflightStandards desteklenen her standardı seçer
TPdfPreflightStatusStandart başına durum: pfsPass, pfsActionRequired ya da pfsReview
TPdfPreflightSeveritypsevInfo, psevWarning ya da psevError sorun önem düzeyleri; TPdfPreflightSeverities karşılık gelen filtre kümesidir
TPdfPreflightIssueStandardName, sorun kodu, kategori, önem düzeyi, açıklama ve Recommendation taşıyan sorun satırı; ayrıca MatchesText büyük/küçük harf duyarsız arama ve bir StableKey kimliği
TPdfPreflightIssueCategoryCountIssueCategoryCounts işlevinin döndürdüğü toplulaştırılmış sorun kategorisi satırı
TPdfPreflightSeverityCountSeverityCounts işlevinin Severity, SeverityName ve Count ile döndürdüğü toplulaştırılmış önem satırı
TPdfPreflightIssueCodeCountIssueCodeCounts işlevinin StandardName, Code ve Count ile döndürdüğü toplulaştırılmış standart ve sorun kodu satırı
TPdfPreflightStandardResultStandardName, ConformanceName, IsCompliant, StatusName, Priority, NextAction, Issues dizisi, ErrorCount ve WarningCount önem sayaçları, HighestSeverity, IssueCount ve HasIssueCode sorun kodu araması taşıyan tek bir standart sonucu
TPdfPreflightReportSourceFile adı, GeneratedAt zaman damgası, ScopeNote, standart sonuçlarının Results dizisi, ActionRequiredStandardCount, CompliantStandardCount, NonCompliantStandardCount, PassedStandardCount, ReviewStandardCount, StandardCount, HighestSeverity ve TotalIssueCount özet sayaçları, FilterByStandards, FilterByCategory, FilterBySeverities, SearchIssues, FlattenIssues, HasIssueCode, FindStandard, Fingerprint, IssueCategoryCounts, IssueCodeCounts ve SeverityCounts sorgu yardımcıları ile SaveXxxToFile procedure'larıyla eşleşen ToCsv, ToHtml, ToMarkdown, ToJson, ToNdjson, ToSarif, ToJUnitXml, ToText, ToXml dışa aktarma yardımcılarıyla eksiksiz rapor
TPdfValidationRuleId ile Profile, Clause, önem düzeyi, DependencyIds, FixHint onarım rehberliği, IssueCode ve PredicateKind tarafından seçilen bir sorun, standart ya da özel Predicate taşıyan bildirimsel profil maddesi
TPdfValidationBudgetSeçilen kuralları (MaxRules), bildirilen hataları (MaxIssues), ziyaret edilen nesneleri (MaxObjects), özyinelemeyi (MaxRecursionDepth), kanıt baytlarını (MaxEvidenceBytes), ayrılan belleği (MaxMemoryBytes) ve geçen süreyi (TimeoutMilliseconds) sınırlar
TPdfValidationOptionsProfiles ve Severities seçer, Budget sağlar, FastFail etkinleştirir ve CancellationToken üzerinden işbirlikçi iptali destekler
TPdfValidationExecutionContextÖzel önermelere verilen sınırlı yürütme bağlamı; Create seçenekleri saklar ve çalıştırma saatini başlatır; Checkpoint, ConsumeEvidence, ConsumeObjects, EnterRecursion, LeaveRecursion, ReserveMemory ve ReleaseMemory bütçeyi zorunlu kılar; BudgetExceeded, BudgetReason, EvidenceBytes, ObjectsVisited, RecursionDepth, ReservedMemory, PeakReservedMemory ve StartTick canlı sayaçları açığa çıkarır
TPdfValidationRuleRegistryİş parçacığı açısından güvenli kural kayıt defteri; Create ve Destroy critical section yönetir, RegisterRule ve Clear kayıtlı kümeyi değiştirir, Count ve Snapshot kilit altında okur, Execute ise madde başına kanıt ve zamanlamayla bir raporu doğrular
TPdfBatchValidationOptionsWorkerCount değerini, standartları, iç içe ValidationOptions değerini, belge düzeyi FailFast seçeneğini ve CancellationToken üzerinden iptali denetler
TPdfBatchValidationReportToplu sorun dağılımları, ElapsedMilliseconds, son durum ve WorkerCount, PassedDocumentCount, FailedDocumentCount, CancelledDocumentCount ile ErrorDocumentCount toplamlarıyla girdi sıralı belge başına sonuçlar
TPdfARepairPlanKategori, güvenlik, yeniden yazma gereksinimi, imza etkisi ve engelleme durumuna göre sınıflanmış, bağımlılık sıralı iyileştirme Steps adımları; DocumentHasSignatures, AllowSignatureInvalidation, BlockedStepCount, AutomaticStepCount ve ManualStepCount toplamları, IsExecutable ve ToJson JSON çıktısı dahildir
TPdfARepairCategoryOnarım işini parcSecurity, parcFonts, parcColour, parcAttachments, parcStructure, parcMetadata ya da parcOther işi olarak sınıflandırır
TPdfARepairSafetyparsAutomatic, parsReviewRequired ya da parsManual
TPdfARepairStepOrder, kategori, IssueCode, eylem, Evidence, bağımlılık ve Safety değerleriyle tek bir sıralı onarım eylemi; ayrıca RequiresFullRewrite, InvalidatesSignatures ve Blocked
TPdfXProductionPreflightOptionsMinimumImageDpi eşiğini, TreatTransparencyAsErrorBeforePdfX4 ve IncludeInformationalColourants bildirimini denetler
TPdfXProductionPreflightReportPDF/X Validation sonucu artı sayfa başına Pages bilgileri, HasOutputIntent, HasEmbeddedFonts, HasTransparency, HasOverprint, SeparationCount, DeviceNCount, MinimumEffectiveDpi, Issues dizisi, ErrorCount, IsProductionReady ve ToJson JSON çıktısı
TPdfXProductionIssueKindpxpikOutputIntent, pxpikPageBox, pxpikFont, pxpikColourant, pxpikTransparency, pxpikOverprint, pxpikSeparation ve pxpikImageResolution sorunlarını sınıflandırır
TPdfXProductionIssueKind, önem düzeyi, PageNumber, ObjectIndex ve Evidence değerleriyle tek bir odaklı üretim bulgusu
TPdfXProductionPagePageNumber, HasMediaBox, HasTrimBox, HasBleedBox, HasArtBox, TextObjectCount, PathObjectCount, ImageCount, HasTransparency ve MinimumEffectiveDpi için sayfa başına bilgiler
TPdfValidationPredicateKindpvpkIssueAbsent, pvpkStandardPass ya da pvpkCustom kural değerlendirmesini seçer
TPdfValidationRuleStatuspvrrsPass, pvrrsFail, pvrrsSkipped ya da pvrrsError
TPdfValidationRunStatuspvrsComplete, pvrsFastFailed, pvrsBudgetExceeded, pvrsCancelled ya da pvrsError bildirir
TPdfValidationRuleResultRuleId, Profile, Clause, durum, Evidence, FixHint onarım rehberliği ve ElapsedMilliseconds taşıyan kural başına sonuç
TPdfValidationRunResults dizisi, PassedRuleCount, FailedRuleCount, SkippedRuleCount ve ErrorRuleCount sayaçları, ObjectsVisited, EvidenceBytes, PeakReservedMemory, ElapsedMilliseconds, IncompleteReason ve uyumluluk yardımcılarıyla tek bir sınırlı kayıt defteri çalıştırması
TPdfPreflightIssues, TPdfPreflightStandardResultsSorun satırlarını ve standart başına sonuçları tutan dinamik diziler
TPdfPreflightIssueCategoryCounts, TPdfPreflightSeverityCounts, TPdfPreflightIssueCodeCountsKategori, önem ve kararlı sorun kodu toplulaştırıcılarının döndürdüğü dinamik diziler
TPdfARepairStepsTPdfARepairPlan tarafından saklanan, bağımlılık sıralı PDF/A onarım adımları
TPdfXProductionPages, TPdfXProductionIssuesSayfa başına üretim bilgileri ve odaklı PDF/X üretim sorunları
TPdfValidationProfiles, TPdfValidationRules, TPdfValidationRuleResultsSeçilen profil adları, kayıtlı bildirimsel kurallar ve kural başına yürütme sonuçları
TPdfValidationRulePredicateBir raporu sınırlı yürütme bağlamı üzerinden değerlendiren ve tanı kanıtı döndüren özel kural geri çağırması
TPdfBatchValidationItemStatusBelge başına pbvisPending, pbvisPass, pbvisFail, pbvisCancelled ya da pbvisError durumu
TPdfBatchValidationStatusTüm toplu iş için pbvsComplete, pbvsPartial, pbvsCancelled ya da pbvsFailed durumu
TPdfBatchValidationItemKendi Preflight raporu, kural Validation sonucu, durumu, ErrorMessage metni ve ElapsedMilliseconds değeriyle tek bir girdi dosyası
TPdfBatchValidationItemsParalel doğrulamanın döndürdüğü girdi sıralı belge başına sonuçlar

Description

BuildPdfPreflightReport, etkin bir TPdf belgesi için ValidatePdfA, ValidatePdfUa, ValidatePdfE, ValidatePdfX, ValidatePdfR ve ValidatePdfVT işlevlerini çağırır ve bir TPdfPreflightReport döndürür

Rapor, seçilen her standart için bir satır; saptanan uyum, durum, öncelik, sonraki eylem, sorun kodu, kategori, Info / Warning / Error önem düzeyi, açıklama ve öneri içerir. Durum, önem, kategori ve sorun kodu sayaçları yeniden kullanılabilir özet verisi açığa çıkarır

FindStandard, HasIssueCode, FlattenIssues, SearchIssues, FilterByStandards, FilterBySeverities ve FilterByCategory bellek içi sorgu görünümleri sağlar. Filtrelenen raporlar, bağımsız sorun dizileri döndürürken özgün uyum ve durum değerlerini korur

Fingerprint, sıralı standart ve sorun sonuç kümesi için küçük harfli bir SHA-256 kimliği döndürür. Kaynak yolları ve üretim zaman damgaları bilinçli olarak dışlanır; böylece eşdeğer doğrulama sonuçları tek bir parmak izini paylaşır

Her To* dışa aktarmanın eşleşen bir Save*ToFile methodu vardır. Dosyalar doğrudan UTF-8 olarak yazılır; CSV, Excel algılaması için BOM tutar ve formül işleciyle başlayan hücreleri etkisizleştirir

TPdfValidationRuleRegistry, bildirimsel profil maddelerini tek parça standart doğrulayıcıların dışında yürütür. Kurallar önceki maddelere bağımlı olabilir, gömülü bir sorun ya da profil önermesi seçebilir ya da sınırlı kanıt kaydeden özel bir önerme sağlayabilir

TPdfValidationExecutionContext, nesneler, özyineleme, UTF-8 kanıtı ve ayrılan bellek için işbirlikçi checkpoint'ler ve açık sayaçlar sağlar. Bir çalıştırma, hızlı başarısızlığı, iptali ya da bütçe tükenmesini eksiksiz bir uyumluluk sonucu değil eksik bir durum olarak bildirir

ValidatePdfFilesParallel her workere özel bir TPdf belgesi verir, girdi sırasını korur, sorun kodu sayılarını toplulaştırır ve her dosya için geçme, kalma, iptal ya da yükleme hatalarını bağımsız kaydeder

PDFium belgeler arasında iş parçacığı açısından güvenli değildir; bu yüzden worker'lar dosyaları paylaşılan bir kilit altında tek tek açıp inceler ve yalnızca kural değerlendirmesini paralel yürütür; daha büyük bir WorkerCount bu nedenle belge yüklemeyi değil, kural yoğun kayıt defterlerini hızlandırır

BuildPdfARepairPlan, PDF/A kanıtını bağımlılık sırasıyla güvenlik, yazı tipi, renk, ek, yapı, üst veri ve artan adımlara eşler. İmzayı geçersiz kılan adımlar, çağıran açık yetkilendirme sağlamadıkça engellenir

BuildPdfXProductionPreflight, PDF/X profil sonucunu yerel sayfa ve görüntü bilgileriyle, yapısal renkli madde ve overprint taramalarıyla ve sayfa kutusu denetimleriyle birleştirir. Çözünürlük analizi sırasında asla görüntü yükünü çözmez ya da kopyalamaz

Output Formats

FormatShape
TextDüz metin kaynak, üretim zamanı, kapsam notu, özet, standart satırları, eylem planı, sorun kategorileri ve sorun ayrıntıları
HTMLDurum stili, sorun kategorisi tablosu, standart tablosu ve sorun tablosu içeren tek başına HTML raporu
MarkdownStandartlar, sorun kategorileri, eylem planı ve sorun ayrıntıları için Markdown başlıkları ve tabloları
JSONformat, sourceKind, summary, issueCategoryCounts ve standart başına sorun dizileri taşıyan yapılandırılmış nesne
CSVRowType ile tanımlanan tablo işlemi dostu satırlar: Summary, Standard, Category ve Issue
SARIF 2.1.0Kararlı kural ID'leri, önem düzeyleri, iyileştirme iletileri, özellikler ve kısmi parmak izleriyle CI ve kod tarama sonuçları
JUnit XMLSeçilen her standart için bir test senaryosu; Action required sonuçları hata, Review sonuçları atlanan senaryo olarak üretilir
NDJSONBüyük tek bir JSON belgesi yüklemeden kademeli alım için satır başına bir özet, standart ya da sorun JSON nesnesi
XMLRapor üst verisi, özet öznitelikleri, standart sonuçları, önem düzeyi, açıklamalar ve önerilerle yerel preflight XML'i

Remarks

Example

uses FPdfPreflightReport;

var
  Report: TPdfPreflightReport;
begin
  Pdf1.FileName := 'C:\Incoming\job.pdf';
  Pdf1.Active := True;
  Report := BuildPdfPreflightReport(Pdf1, [ppsPdfA, ppsPdfX]);
  Memo1.Lines.Text := Report.ToText;
  Report.SaveHtmlToFile('C:\Incoming\job.preflight.html');
  Report.SaveMarkdownToFile('C:\Incoming\job.preflight.md');
  Report.SaveJsonToFile('C:\Incoming\job.preflight.json');
  Report.SaveCsvToFile('C:\Incoming\job.preflight.csv');
  Report.SaveSarifToFile('C:\Incoming\job.preflight.sarif');
  Report.SaveJUnitXmlToFile('C:\Incoming\job.preflight.junit.xml');
  Report.SaveNdjsonToFile('C:\Incoming\job.preflight.ndjson');
  Report.SaveXmlToFile('C:\Incoming\job.preflight.xml');
end;

See Also

ValidatePdfA, ValidatePdfX