ComparePreflightReports
انطباق، بازرسی سند
توضیحات
دو گزارش preflight متنی ساده را مقایسه و وقتی محتوای پایدارشان متفاوت است یک diff فشردهٔ خطبهخط برمیگرداند. از این API برای تشخیص رانش گزارش در تستهای رگرسیون، کارهای CI یا بررسیهای تحویلی که گزارش پایه را کنار فیکسچر PDF نگه میدارند استفاده کنید
نحو
Delphi
Function TPDFlib.ComparePreflightReports(Const ReportA, ReportB: WideString): WideString;
پارامترها
| ReportA | گزارش متنی سادهٔ پایه، معمولاً تولیدشده توسط CreatePreflightReport یا خواندهشده از فایلی که SavePreflightReport ساخته است |
|---|---|
| ReportB | گزارش plain-text فعلی برای مقایسه با baseline |
مقدار بازگشتی
وقتی گزارشها پس از نرمالسازی خطوط مهر زمانی ناپایدار یعنی Generated: منطبق شوند رشتهٔ خالی برمیگرداند. وقتی محتوای پایدار متفاوت باشد نتیجه با PDF Library for Delphi Preflight Report Diff آغاز میشود؛ خطوط مشترک پیشوند دو-فاصلهای، خطوط فقط در ReportA پیشوند - و خطوط فقط در ReportB پیشوند + میگیرند
ملاحظات
مقایسه برای خروجی متنی قطعی تولیدشده توسط CreatePreflightReport طراحی شده است. گزارشهای JSON، HTML یا CSV را تجزیه نمیکند؛ وقتی گردشکاری به دروازههای بازگشت پایدار نیاز دارد فرم متنی ساده را مقایسه کنید و بعد هر گزارش قالببندیشدهای که برای انسان یا ابزارهای پاییندستی لازم است تولید کنید. برای گردشکار کامل خط فرمانی و دستهای به Preflight Reports نگاه کنید
مثال
Baseline := TFile.ReadAllText('expected-preflight.txt', TEncoding.UTF8);
Current := PDF.CreatePreflightReport('output.pdf', '', 1 or 2, 0);
Diff := PDF.ComparePreflightReports(Baseline, Current);
if Diff <> '' then
TFile.WriteAllText('preflight.diff.txt', Diff, TEncoding.UTF8);
همچنین ببینید
Preflight Reports, CreatePreflightReport, CreatePreflightReportEx, SavePreflightReport, SavePreflightReportEx, CheckFileCompliance