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 | Opis |
|---|---|
TPdfPreflightStandard | Standard selector with ppsPdfA, ppsPdfUa, ppsPdfE, ppsPdfX, ppsPdfR, and ppsPdfVT. |
TPdfPreflightStandards | Set type used by BuildPdfPreflightReport; AllPdfPreflightStandards selects every supported standard. |
TPdfPreflightStatus | Per-standard status: pfsPass, pfsActionRequired, or pfsReview. |
TPdfPreflightIssue | Issue row with standard, issue code, category, description, and recommendation. |
TPdfPreflightIssueCategoryCount | Aggregated issue-category row returned by IssueCategoryCounts. |
TPdfPreflightStandardResult | One standard result with conformance name, compliance flag, status text, priority, next action, and issue rows. |
TPdfPreflightReport | Complete report with source file, generation timestamp, scope note, standard results, summary counters, and export helpers. |
BuildPdfPreflightReport calls ValidatePdfA, ValidatePdfUa, ValidatePdfE, ValidatePdfX, ValidatePdfR, and ValidatePdfVT for an active TPdf document and returns a TPdfPreflightReport.
The report contains one row per selected standard, the detected conformance name, TPdfPreflightStatus, status text, priority, next-action guidance, issue codes, issue categories, issue-category counts from TPdfPreflightReport.IssueCategoryCounts, and a recommended action for each issue. StandardCount, CompliantStandardCount, TotalIssueCount, and IssueCategoryCounts expose the same summary data programmatically.
TPdfPreflightReport.ToText, ToHtml, ToMarkdown, ToJson, and ToCsv return report content, while SaveTextToFile, SaveHtmlToFile, SaveMarkdownToFile, SaveJsonToFile, and SaveCsvToFile write it to disk.
| Format | Struktura |
|---|---|
| Text | Tekst źródłowy, czas wygenerowania, uwaga o zakresie, podsumowanie, wiersze standardów, plan działania, kategorie problemów i szczegóły problemów |
| HTML | Samodzielny raport HTML ze stylowaniem statusu, tabelą kategorii problemów, tabelą standardów i tabelą problemów |
| Markdown | Nagłówki i tabele Markdown dla standardów, kategorii problemów, planu działania i szczegółów problemów |
| JSON | Strukturalny obiekt z format, sourceKind, summary, issueCategoryCounts i tablicami problemów dla poszczególnych standardów |
| CSV | Wiersze przyjazne arkuszom kalkulacyjnym identyfikowane przez RowType: Summary, Standard, Category i Issue |
ValidatePdf*Demo\Delphi\PreflightReport, Demo\Lazarus\PreflightReport oraz Demo\CBuilder\PreflightReport pokazują wybór standardów, wiersze podsumowania statusu i priorytetu, liczniki kategorii problemów w wygenerowanych raportach, przełączanie podglądu tekstu / Markdown / JSON / CSV oraz eksport TXT / HTML / Markdown / JSON / CSV. Przykład GUI dla Delphi zawiera także podgląd Action Plan, który skupia te same dane w liście działań naprawczychDemo\Delphi\PreflightReportCli pokazuje tę samą ścieżkę raportu w skryptowalnym przepływie konsolowym. Tryb pojedynczego pliku przyjmuje wejście, wyjście, opcjonalne hasło, format raportu, standards=, attach= i failon=. Format plan / actionplan zapisuje tekstową listę działań naprawczych dla uruchomień pojedynczych i wsadowych. Bez argumentów tworzy przykładowy PDF obok pliku wykonywalnego i zapisuje raport tekstowybatch=, pomija puste wiersze i komentarze # oraz rozwiązuje brakujące ścieżki względne względem folderu pliku listy. Tryb katalogu skanuje batchdir= w poszukiwaniu plików *.pdf, opcjonalnie schodzi rekurencyjnie i sortuje wykryte ścieżki przed przetwarzaniemoutdir= kieruje raporty wsadowe do wspólnego folderu. Jeśli wiele danych wejściowych rozwiązuje się do tej samej ścieżki raportu, późniejsze pliki otrzymują sufiksy -2, -3 i dalsze zamiast nadpisywać wcześniejsze raportysummary=batch.txt, summary=batch.json i summary=batch.html zawierają ustawienia uruchomienia, zagregowane sumy plików, łączną liczbę statusów standardów i jeden wiersz na dane wejściowe. summary=batch.csv to manifest zorientowany na wiersze, który powtarza ustawienia uruchomienia w każdym wierszu wejściowym i zawiera liczniki statusów dla poszczególnych plikówattach=output.pdf działa tylko dla pojedynczego pliku. Osadza wygenerowany raport jako załącznik na poziomie dokumentu w innej ścieżce PDF i nigdy nie zapisuje zmian z powrotem do pliku wejściowegofailon=issues dopasowuje każdy zgłoszony problem, failon=action dopasowuje każdy wiersz Action required, a failon=review dopasowuje wiersze Action required lub Review. CLI kończy działanie kodem 0 po powodzeniu, 1 przy błędach wykonania albo 2, gdy wybrana reguła failon= zostanie spełniona po zapisaniu raportów
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;