|
Sổ tay Preflight
Sổ tay này gom các API và demo preflight thành các công thức theo tác vụ
Dùng trang tham khảo API khi cần chữ ký chính xác; dùng trang này khi cần
một lộ trình chạy được cho ứng dụng, script build hoặc job CI
Chọn định dạng đầu ra
var
PDF: THotPDF;
begin
PDF := THotPDF.Create(nil);
try
PDF.SavePreflightReport('Input.pdf', 'Input.preflight.txt');
PDF.SavePreflightReport('Input.pdf', 'Input.preflight.json', '', pfJSON);
PDF.SavePreflightReport('Input.pdf', 'Input.preflight.html', '', pfHTML);
PDF.SavePreflightReport('Input.pdf', 'Input.preflight.csv', '', pfCSV);
finally
PDF.Free;
end;
end;
Đầu ra văn bản ổn định theo byte và thân thiện với diff. JSON phù hợp
để nạp vào pipeline. HTML tự chứa và có thể mở trực tiếp hoặc lưu như
một artifact CI. CSV dùng các cột ổn định cho luồng bảng tính và báo
cáo hàng loạt
Xác thực tài liệu PDF/VT
var
PDF: THotPDF;
Report: AnsiString;
begin
PDF := THotPDF.Create(nil);
try
if not PDF.ValidatePDFVT('Input.pdf', Report) then
WriteLn(string(Report));
finally
PDF.Free;
end;
end;
Báo cáo PDF/VT tập trung vào nhận dạng theo ISO 16612-2 và cấu trúc
document-part: XMP GTS_PDFVTVersion ở dạng văn bản phần tử
hoặc thuộc tính RDF, khớp ngày sửa đổi, marker gốc PDF/X, output intent,
DPartRoot, DPartRootNode,
NodeNameList và độ phủ DPart ở cấp trang
Áp dụng profile
var
PDF: THotPDF;
Report: AnsiString;
begin
PDF := THotPDF.Create(nil);
try
Report := PDF.CreatePreflightReportWithProfile(
'Input.pdf', '', 'project-preflight.ini', pfJSON);
finally
PDF.Free;
end;
end;
Profile có thể tắt các kiểm tra có tên, cảnh báo hoặc toàn bộ gợi ý
Hãy dùng ValidatePreflightProfile trước khi áp dụng một
profile do người dùng soạn khi việc fail closed quan trọng hơn việc bỏ
qua âm thầm một tên đã lỗi thời
Tạo profile tái sử dụng từ preset
var
PDF: THotPDF;
Profile: THPDFPreflightProfile;
begin
PDF := THotPDF.Create(nil);
try
Profile := PDF.GetBuiltInPreflightProfile('compact');
Profile.DisableWarnings := 'OpenAction,JavaScript,URIAction';
PDF.SavePreflightProfile(Profile, 'compact-no-actions.ini');
finally
PDF.Free;
end;
end;
Dùng MergePreflightProfiles để kết hợp một preset với các
tên riêng của dự án. Dùng DiffPreflightProfiles để xem độ
lệch profile trước khi cập nhật một tệp cấu hình dùng chung
Lưu trữ báo cáo cùng PDF
PDF.EmbedPreflightReportInPDF('Input.pdf', 'Input-with-report.pdf');
PDF.EmbedPreflightReportAsXMP('Input.pdf', 'Input-with-xmp-report.pdf');
Đường nhúng văn bản sẽ nối thêm một khối chú thích có thể đọc được sau
marker EOF cuối cùng. Đường XMP nối thêm một payload dạng RDF cho các
luồng lưu trữ quét packet siêu dữ liệu
Xác thực báo cáo nhúng
var
OriginalReport: AnsiString;
CurrentReport: AnsiString;
begin
if not PDF.LoadAndValidatePreflightReport(
'Input-with-report.pdf', OriginalReport, CurrentReport) then
WriteLn(string(PDF.ComparePreflightReports(OriginalReport, CurrentReport)));
end;
Đường xác thực so sánh fingerprint đã nhúng với một lần chạy preflight
mới trên byte nguồn. Helper diff được tổ chức theo dòng và được tinh
chỉnh cho báo cáo preflight của HotPDF
Chạy một lượt sửa chữa bảo thủ
var
RepairsApplied: AnsiString;
begin
if PDF.RepairPDFFromPreflightReport(
'Broken.pdf', 'Broken-repaired.pdf', RepairsApplied) then
WriteLn(string(RepairsApplied));
end;
Helper sửa chữa cố ý giữ phạm vi hẹp. Nó xử lý byte dư sau marker EOF
cuối cùng và các marker EOF bị thiếu, nhưng không dựng lại bảng tham
chiếu chéo hay ghi lại luồng
Tổng hợp nhiều báo cáo
Reports[0] := PDF.CreatePreflightReport('A.pdf');
Reports[1] := PDF.CreatePreflightReport('B.pdf');
Summary := PDF.AggregatePreflightReports(Reports);
Đầu ra tổng hợp liệt kê một dòng trạng thái cho mỗi PDF và các tổng
cho báo cáo đã xử lý, lỗi và cảnh báo. Nó hữu ích khi pipeline cần một
bản tóm tắt duy nhất dù các báo cáo chi tiết vẫn được giữ theo từng tệp
đầu vào
Dùng công cụ dòng lệnh
HotPDFPreflight Input.pdf -f json -o reports
HotPDFPreflight Input.pdf --pdfvt -o reports
HotPDFPreflight C:\Archive -r --preset compact -f text -o reports --aggregate reports\Aggregate.txt
HotPDFPreflight C:\Archive -r --profile project-preflight.ini -f html -o reports
CLI phản chiếu luồng làm việc của thư viện: đầu vào một tệp hoặc thư
mục đệ quy, đầu ra text / JSON / HTML, mật khẩu tùy chọn, profile tùy
chọn, preset dựng sẵn, tiến trình chi tiết và bản tóm tắt tổng hợp
Dựng dashboard tĩnh
PreflightDashboard C:\Archive C:\Archive\preflight-dashboard
Demo dashboard ghi ra một index.html cùng các báo cáo HTML
cho từng tệp. Không cần web server nên đầu ra có thể phát hành như một
artifact tĩnh
Thích ứng với JSON kiểu veraPDF phía consumer
Report := PDF.CreatePreflightReport('Input.pdf');
JSON := PDF.ConvertPreflightReportToVeraPDFStyle(Report);
Adapter này giữ nguyên ngữ nghĩa của HotPDF trong khi định dạng lại
các lỗi thành cấu trúc kết quả xác thực quen thuộc cho những công cụ đã
tiêu thụ JSON kiểu veraPDF
Chủ đề liên quan
|