function SaveAsPdfVT(const FileName: string): Boolean; overload;
function SaveAsPdfVT(const FileName: string; const Options: TPdfVTSaveOptions): Boolean; overload;
SaveAsPdfVT realiza primero el SaveAs normal, y luego coloca una actualización incremental sobre los bytes guardados que promueve el archivo a conformidad PDF/VT-1 de archivo único. PDF/VT es el subconjunto de PDF de ISO 16612-2 diseñado para impresión transaccional y de datos variables — correo personalizado, extractos, material de marketing — donde las páginas de cada destinatario se agrupan mediante una Jerarquía de Partes del Documento
PDF/VT-1 se construye sobre PDF/X-4 (ISO 16612-2 §6.2.1 requiere que cada archivo PDF/VT-1 también conforme a PDF/X-4), así que el inyector escribe el conjunto completo de marcadores PDF/X-4 junto con las propiedades específicas PDF/VT:
pdfxid:GTS_PDFXVersion = "PDF/X-4") como la identificación PDF/VT (pdfvtid:GTS_PDFVTVersion = "PDF/VT-1" con pdfvtid:GTS_PDFVTModDate coincidiendo con xmp:ModifyDate según §6.3 NOTA 1), más una descripción pdfaExtension:schemas para ambos espacios de nombres pdfxid y pdfvtid/GTS_PDFXVersion (PDF/X-4) y /Trapped. Las entradas Info existentes se preservan/Metadata y /OutputIntents/Type /OutputIntent /S /GTS_PDFX y un perfil ICC incrustado (sRGB de forma predeterminada; suministre CMYK mediante Options.IccProfileData para impresión de producción)/DPartRoot y /DPart a nivel de documento cuando el documento de origen aún no contiene una utilizable, con cada página enlazada a través de su entrada /DPart/ID en el trailerLas opciones predeterminadas apuntan a PDF/VT-1 con el OutputIntent sRGB incluido y /Trapped /False. Las dos sobrecargas difieren solo en cómo se pasa la configuración: la forma solo de nombre de archivo autorrellena los campos Info y DocumentId desde FPDF_GetMetaText / FPDF_GetFileIdentifier
Devuelve True en caso de éxito
/DPartRoot en el catálogo con un árbol de nodos /DPart. Cuando el documento de origen carece de una jerarquía utilizable, o la jerarquía falla las mismas comprobaciones de árbol/orden que ValidatePdfVT, SaveAsPdfVT crea un DPart de nivel de documento que cubre el orden actual del árbol de páginas. Los flujos de trabajo que necesiten metadatos de destinatario, producto o pieza de correo deberían crear un árbol DPart/DPM más rico antes de guardar o extender el generado despuésTPdfVTSaveOptions.Conformance = pvc2 se acepta por compatibilidad pero el escritor de archivo único normaliza la salida a PDF/VT-1. PDF/VT-2 es un perfil de conjunto de archivos cuyas bases PDF/X válidas son PDF/X-4p, PDF/X-5g o PDF/X-5pg, de modo que no puede ser producido por este método de archivo de salida únicoOptions.IccProfileData junto con OutputCondition / OutputConditionIdentifier / RegistryName coincidentes
// PDF/VT-1 simple con OutputIntent sRGB incluido
if Pdf1.SaveAsPdfVT('C:\Statements.pdfvt.pdf') then
ShowMessage('Saved PDF/VT-1');
// PDF/VT-1 con un perfil ICC CMYK para impresión comercial
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;