function SaveAsPdfX(const FileName: string): Boolean; overload;
function SaveAsPdfX(const FileName: string; const Options: TPdfXSaveOptions): Boolean; overload;
SaveAsPdfX wykonuje najpierw zwykłe SaveAs, a następnie nakłada na zapisane bajty przyrostową aktualizację, która promuje plik do zgodności z PDF/X — rodziną standardów ISO 15930 do wymiany poligrafią, używaną w przemyśle graficznym. Postprocessing wstrzykuje do zapisanego strumienia pięć klas bajtów:
pdfxid:GTS_PDFXVersion, plus pdfxid:GTS_PDFXConformance dla PDF/X-1a / PDF/X-3) wraz z pasującym opisem pdfaExtension:schemas dla przestrzeni nazw pdfxid oraz mostkowanymi właściwościami Dublin Core / xmp / pdf dla Title / Author / Producer / dat/GTS_PDFXVersion, opcjonalny /GTS_PDFXConformance (tylko PDF/X-1a / PDF/X-3; PDF/X-4 dezaktualizuje ten wpis) oraz nazwę /Trapped (domyślnie /False). Istniejące wpisy Info (Title / Author / Subject / itd.) są zachowywane/Metadata N 0 R i /OutputIntents [M 0 R]/Type /OutputIntent /S /GTS_PDFX i wymaganymi wpisami /OutputCondition / /OutputConditionIdentifier / /RegistryName / /Info, odwołujący się do osadzonego profilu ICC przez /DestOutputProfileOptions.IccProfileData dla druku komercyjnego)Trailer jest przepisywany, aby dodać tablicę /ID. Wyjście
pozostaje identyczne bajt po bajcie z wynikiem bazowego SaveAs aż
do końca pierwotnego PDF; doklejana jest jedynie przyrostowa
aktualizacja. Dwa przeciążenia różnią się jedynie sposobem
przekazania konfiguracji: forma wyłącznie z nazwą pliku używa
TPdfXSaveOptions.Default (PDF/X-4 + sRGB +
/Trapped /False) z automatycznym wypełnieniem pól
Info / DocumentId z FPDF_GetMetaText i
FPDF_GetFileIdentifier
Zwraca True w przypadku powodzenia. Zwraca False,
gdy bazowe SaveAs nie powiodło się albo gdy przyrostowa aktualizacja
nie mogła zostać dołączona
Options.IccProfileData z bajtami ICC dla charakteryzacji docelowej prasy (FOGRA39, ISO Coated v2, GRACoL2006_Coated1v2, JapanColor2011Coated itd.) i odpowiednio zaktualizuj OutputConditionIdentifier / RegistryName / OutputIntentInfoSaveAs(..., saRemoveSecurity) na zaszyfrowanych źródłach przed SaveAsPdfXOptions.Conformance, ale nie może wymusić tych reguł na poziomie zawartości. Potwierdź przez preflight
// Simple PDF/X-4 with bundled sRGB OutputIntent
if Pdf1.SaveAsPdfX('C:\AdProof.pdfx.pdf') then
ShowMessage('Saved PDF/X-4');
// PDF/X-1a with a custom CMYK ICC profile (e.g. FOGRA39)
var
Opts: TPdfXSaveOptions;
begin
Opts := TPdfXSaveOptions.Default;
Opts.Conformance := pxc1a;
Opts.IccProfileData := TFile.ReadAllBytes('C:\ICC\FOGRA39.icc');
Opts.OutputCondition := 'Coated FOGRA39 (ISO 12647-2:2004)';
Opts.OutputConditionIdentifier:= 'FOGRA39';
Opts.RegistryName := 'http://www.color.org';
Opts.Trapped := ptFalse;
Pdf1.SaveAsPdfX('C:\AdProof.cmyk.pdfx.pdf', Opts);
end;