Preflight tarifleri Bu tarif kitabı, preflight API'lerini ve örnekleri göreve yönelik tarifler hâlinde gruplar. Kesin imzalara ihtiyacınız olduğunda API başvurusunu kullanın; bir uygulama, derleme betiği veya CI işi için çalışan bir yola ihtiyacınız olduğunda bu sayfayı kullanın. Bir çıktı biçimi seçin 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;
Metin çıktısı bayt kararlıdır ve diff dostudur. JSON; hattı beslemeye uygundur ve her denetim, ipucu ve uyarıya, mantıksal kapsam, yol, PDF anahtarı ile mümkün olduğunda kesin nesne, sayfa veya bayt koordinatları içeren yapısal bir location ile birlikte kararlı ad alanlı bir ruleId kazandırır. HTML aynı tanımlayıcıları ve konumları gösterir; CSV ise hesap tablosu ve toplu rapor iş akışları için kararlı sütunlarını korur PDF/VT belgelerini doğrula 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;
PDF/VT raporu, ISO 16612-2 kimlik tespiti ve belge parçası yapısına odaklanır: öğe metni veya RDF öznitelik biçiminde XMP GTS_PDFVTVersion, değişiklik tarihi eşleşmesi, PDF/X temel işaretçisi, output intent, DPartRoot, DPartRootNode, NodeNameList ve sayfa düzeyi DPart kapsamı. Bir profil uygulayın 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;
Profiller; adlandırılmış denetimleri, uyarıları veya tüm ipuçlarını bastırır. Bayat bir adı sessizce yok saymak, hata hâlinde kapanmaktan daha önemli değilse kullanıcı yazımı bir profili uygulamadan önce ValidatePreflightProfile kullanın. Bir hazır ayardan yeniden kullanılabilir profil oluşturun 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;
Bir preset'i projeye özgü adlarla birleştirmek için MergePreflightProfiles kullanın. Paylaşılan bir yapılandırma dosyasını güncellemeden önce profil sapmasını gözden geçirmek için DiffPreflightProfiles kullanın Raporu PDF ile birlikte arşivleyin PDF.EmbedPreflightReportInPDF('Input.pdf', 'Input-with-report.pdf');
PDF.EmbedPreflightReportAsXMP('Input.pdf', 'Input-with-xmp-report.pdf');
Metin gömme yolu, son EOF işaretinin ardından okunabilir bir yorum bloğu ekler. XMP yolu, üst veri paketlerini tarayan arşiv iş akışları için RDF biçimli bir yük ekler. Gömülü bir raporu doğrulayın var
OriginalReport: AnsiString;
CurrentReport: AnsiString;
begin
if not PDF.LoadAndValidatePreflightReport(
'Input-with-report.pdf', OriginalReport, CurrentReport) then
WriteLn(string(PDF.ComparePreflightReports(OriginalReport, CurrentReport)));
end;
Doğrulama yolu, gömülü parmak izini kaynak baytlar üzerinde taze bir preflight çalıştırmasıyla karşılaştırır. Diff yardımcısı satır yönelimlidir ve HotPDF preflight raporları için ayarlanmıştır. Temkinli bir onarım geçişi çalıştırın var
RepairsApplied: AnsiString;
begin
if PDF.RepairPDFFromPreflightReport(
'Broken.pdf', 'Broken-repaired.pdf', RepairsApplied) then
WriteLn(string(RepairsApplied));
end;
Onarım yardımcısı bilinçli olarak dar kapsamlı kalır. Son EOF işaretinden sonraki baytları ve eksik EOF işaretlerini işler; ama çapraz başvuru tablolarını yeniden kurmaz ya da stream'leri yeniden yazmaz. Birden çok raporu birleştirin Reports[0] := PDF.CreatePreflightReport('A.pdf');
Reports[1] := PDF.CreatePreflightReport('B.pdf');
Summary := PDF.AggregatePreflightReports(Reports);
Toplu çıktı, PDF başına bir durum satırı ve işlenen raporlar, hatalar ve uyarılar için toplamlar listeler; ayrıntılı raporlar girdi dosyası başına tutulsa bile bir hattın tek özet gerektirdiği durumlarda kullanışlıdır. Komut satırı aracını kullanın 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, kitaplık iş akışını aynalar: tek dosya veya özyinelemeli dizin girdisi, metin / JSON / HTML çıktısı, isteğe bağlı parola, isteğe bağlı profil, yerleşik hazır ayar, ayrıntılı ilerleme ve toplu özet. Statik bir pano oluşturun PreflightDashboard C:\Archive C:\Archive\preflight-dashboard
Pano demosu bir index.html ve dosya başına HTML raporları yazar. Web sunucusu gerekmez; böylece çıktı statik bir artefakt olarak yayımlanabilir. veraPDF tarzı JSON tüketicilerine uyarlanın Report := PDF.CreatePreflightReport('Input.pdf');
JSON := PDF.ConvertPreflightReportToVeraPDFStyle(Report);
Bağdaştırıcı, veraPDF benzeri JSON'u hâlihazırda tüketen araçlar için hataları tanıdık bir doğrulama sonucu yapısına dönüştürürken HotPDF semantiğini korur. İhlalleri, yerel JSON raporuyla aynı kararlı ruleId ve yapısal location değerlerini taşır İlgili konular |