function SaveAsPdfVT(const FileName: string): Boolean; overload;
function SaveAsPdfVT(const FileName: string; const Options: TPdfVTSaveOptions): Boolean; overload;
SaveAsPdfVT effectue d’abord le SaveAs ordinaire, puis superpose une mise à jour incrémentale par-dessus les octets sauvegardés qui promeut le fichier en conformité PDF/VT-1 à fichier unique. PDF/VT est le sous-ensemble de PDF d’ISO 16612-2 conçu pour l’impression transactionnelle et à données variables — courrier personnalisé, relevés, supports marketing — où les pages de chaque destinataire sont groupées via une hiérarchie de parties de document
PDF/VT-1 est construit par-dessus PDF/X-4 (ISO 16612-2 §6.2.1 exige que chaque fichier PDF/VT-1 soit aussi conforme à PDF/X-4), donc l’injecteur écrit l’ensemble complet de marqueurs PDF/X-4 à côté des propriétés spécifiques PDF/VT
pdfxid:GTS_PDFXVersion = "PDF/X-4") et l’identification PDF/VT (pdfvtid:GTS_PDFVTVersion = "PDF/VT-1" avec pdfvtid:GTS_PDFVTModDate correspondant à xmp:ModifyDate selon §6.3 NOTE 1), plus une description pdfaExtension:schemas pour les espaces de noms pdfxid et pdfvtid/GTS_PDFXVersion (PDF/X-4) et /Trapped. Les entrées Info existantes sont préservées/Metadata et /OutputIntents/Type /OutputIntent /S /GTS_PDFX et un profil ICC intégré (sRGB par défaut ; fournissez du CMYK via Options.IccProfileData pour l’impression de production)/DPartRoot minimale et un /DPart au niveau document lorsque le document source n’en contient pas déjà une utilisable, avec chaque page liée via son entrée /DPart/ID de trailerLes options par défaut ciblent PDF/VT-1 avec l’OutputIntent sRGB embarqué et /Trapped /False. Les deux surcharges ne diffèrent que par la façon dont la configuration est passée : la forme à nom de fichier seul auto-remplit les champs Info et DocumentId depuis FPDF_GetMetaText / FPDF_GetFileIdentifier
Renvoie True en cas de succès
/DPartRoot dans le catalogue avec un arbre de nœuds /DPart. Lorsque le document source manque d’une hiérarchie utilisable, ou que la hiérarchie échoue aux mêmes vérifications d’arbre/ordre que ValidatePdfVT, SaveAsPdfVT crée un DPart au niveau document couvrant l’ordre d’arbre de pages courant. Les flux de travail qui ont besoin de métadonnées de destinataire, de produit ou de courrier doivent écrire un arbre DPart/DPM plus riche avant l’enregistrement ou étendre celui généré ensuiteTPdfVTSaveOptions.Conformance = pvc2 est accepté pour compatibilité mais l’écrivain à fichier unique normalise la sortie en PDF/VT-1. PDF/VT-2 est un profil d’ensemble de fichiers dont les bases PDF/X valides sont PDF/X-4p, PDF/X-5g ou PDF/X-5pg, il ne peut donc pas être produit par cette méthode à fichier de sortie uniqueOptions.IccProfileData avec des OutputCondition / OutputConditionIdentifier / RegistryName correspondants
// Simple PDF/VT-1 with bundled sRGB OutputIntent
if Pdf1.SaveAsPdfVT('C:\Statements.pdfvt.pdf') then
ShowMessage('Saved PDF/VT-1');
// PDF/VT-1 with a CMYK ICC profile for commercial print
var
Opts: TPdfVTSaveOptions;
begin
Opts := TPdfVTSaveOptions.Default;
Opts.IccProfileData := TFile.ReadAllBytes('C:\ICC\FOGRA39.icc');
Opts.OutputCondition := 'Coated FOGRA39 (ISO 12647-2:2004)';
Opts.OutputConditionIdentifier:= 'FOGRA39';
Pdf1.SaveAsPdfVT('C:\BillingRun.pdfvt.pdf', Opts);
end;