function BuildPdfPreflightReport(Pdf: TPdf): TPdfPreflightReport; overload;
function BuildPdfPreflightReport(Pdf: TPdf; Standards: TPdfPreflightStandards): TPdfPreflightReport; overload;
function PdfPreflightStandardName(Standard: TPdfPreflightStandard): string;
function PdfPreflightStatusName(Status: TPdfPreflightStatus): string;
| Typ | Beschreibung |
|---|---|
TPdfPreflightStandard | Standardauswahl mit ppsPdfA, ppsPdfUa, ppsPdfE, ppsPdfX, ppsPdfR und ppsPdfVT |
TPdfPreflightStandards | Mengentyp, der von BuildPdfPreflightReport verwendet wird; AllPdfPreflightStandards wählt jeden unterstützten Standard aus |
TPdfPreflightStatus | Status pro Standard: pfsPass, pfsActionRequired oder pfsReview |
TPdfPreflightIssue | Fehlerzeile mit Standard, Fehlercode, Kategorie, Beschreibung und Empfehlung |
TPdfPreflightIssueCategoryCount | Aggregierte Fehlerkategoriezeile, zurückgegeben von IssueCategoryCounts |
TPdfPreflightStandardResult | Ein Standardergebnis mit Konformitätsnamen, Compliance-Kennzeichen, Statustext, Priorität, nächstem Schritt und Fehlerzeilen |
TPdfPreflightReport | Vollständiger Bericht mit Quelldatei, Erstellungszeitstempel, Umfangshinweis, Standardergebnissen, Zusammenfassungszählern und Exporthilfen |
BuildPdfPreflightReport ruft ValidatePdfA, ValidatePdfUa, ValidatePdfE, ValidatePdfX, ValidatePdfR und ValidatePdfVT für ein aktives TPdf-Dokument auf und gibt einen TPdfPreflightReport zurück
Der Bericht enthält eine Zeile pro ausgewähltem Standard, den erkannten Konformitätsnamen, TPdfPreflightStatus, Statustext, Priorität, Hinweise zum nächsten Schritt, Fehlercodes, Fehlerkategorien, Fehlerkategorie-Zählungen aus TPdfPreflightReport.IssueCategoryCounts und für jeden Fehler eine empfohlene Aktion. StandardCount, CompliantStandardCount, TotalIssueCount und IssueCategoryCounts stellen dieselben Zusammenfassungsdaten programmgesteuert bereit
TPdfPreflightReport.ToText, ToHtml, ToMarkdown, ToJson und ToCsv geben Berichtsinhalt zurück, während SaveTextToFile, SaveHtmlToFile, SaveMarkdownToFile, SaveJsonToFile und SaveCsvToFile ihn auf die Festplatte schreiben
| Format | Darstellung |
|---|---|
| Text | Klartextquelle, Erstellungszeit, Umfangshinweis, Zusammenfassung, Standardzeilen, Aktionsplan, Fehlerkategorien und Fehlerdetails |
| HTML | Eigenständiger HTML-Bericht mit Statusformatierung, einer Fehlerkategorien-Tabelle, einer Standardtabelle und einer Fehlertabelle |
| Markdown | Markdown-Überschriften und Tabellen für Standards, Fehlerkategorien, Aktionsplan und Fehlerdetails |
| JSON | Strukturiertes Objekt mit format, sourceKind, summary, issueCategoryCounts und Fehler-Arrays pro Standard |
| CSV | Tabellenkalkulationsfreundliche Zeilen, gekennzeichnet durch RowType: Summary, Standard, Category und Issue |
ValidatePdf*-MethodenDemo\Delphi\PreflightReport, Demo\Lazarus\PreflightReport und Demo\CBuilder\PreflightReport zeigen die Standardauswahl, Status-/Prioritätszusammenfassungszeilen, Fehlerkategorie-Zählungen in erzeugten Berichten, das Umschalten der Vorschau zwischen Text / Markdown / JSON / CSV sowie den TXT / HTML / Markdown / JSON / CSV-Export. Das Delphi-GUI-Beispiel enthält außerdem eine Aktionsplan-Vorschau, die dieselben Daten in eine Behebungsliste verdichtetDemo\Delphi\PreflightReportCli zeigt denselben Berichtspfad in einem skriptbaren Konsolen-Workflow. Der Einzeldatenmodus akzeptiert Eingabe, Ausgabe, optionales Kennwort, Berichtsformat, standards=, attach= und failon=. Das plan / actionplan-Format schreibt eine textuelle Behebungsliste für Einzeldatei- und Batch-Läufe. Ohne Argumente erstellt es neben der ausführbaren Datei ein Beispiel-PDF und schreibt einen Textberichtbatch=, überspringt Leerzeilen und #-Kommentare und löst fehlende relative Pfade aus dem Ordner der Listendatei auf. Der Verzeichnismodus durchsucht batchdir= nach *.pdf-Dateien, rekursiert optional und sortiert gefundene Pfade vor der Verarbeitungoutdir= leitet Batch-Berichte in einen gemeinsamen Ordner um. Wenn mehrere Eingaben zum selben Berichtspfad führen, erhalten spätere Dateien -2, -3 und weitere Suffixe statt frühere Berichte zu überschreibensummary=batch.txt, summary=batch.json und summary=batch.html enthalten Laufzeiteinstellungen, aggregierte Dateisummen, Standard-Statussummen und eine Zeile pro Eingabe. summary=batch.csv ist ein zeilenorientiertes Manifest, das die Laufzeiteinstellungen auf jeder Eingabezeile wiederholt und Dateistatus-Zählungen enthältattach=output.pdf ist nur für Einzeldateien verfügbar. Es bettet den erzeugten Bericht als Dokumentanhang in einen anderen PDF-Pfad ein und schreibt nie zurück in die Eingabedateifailon=issues trifft auf jeden gemeldeten Fehler zu, failon=action trifft auf jede Zeile mit Action required zu und failon=review trifft auf Action required- oder Review-Zeilen zu. Die CLI endet mit 0 bei Erfolg, 1 bei Laufzeitfehlern oder 2, wenn eine ausgewählte failon=-Regel nach dem Schreiben der Berichte zutrifft
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');
end;