function SaveAsPdfVT(const FileName: string): Boolean; overload;
function SaveAsPdfVT(const FileName: string; const Options: TPdfVTSaveOptions): Boolean; overload;
SaveAsPdfVT executa primeiro o SaveAs normal e depois aplica uma atualização incremental sobre os bytes salvos que promove o arquivo à conformidade PDF/VT-1 de arquivo único. PDF/VT é o subconjunto de PDF ISO 16612-2 criado para impressão de dados variáveis e transacional — correspondência personalizada, extratos, material de marketing — em que as páginas de cada destinatário são agrupadas por meio de uma Document Part Hierarchy
PDF/VT-1 é construído sobre PDF/X-4 (ISO 16612-2 §6.2.1 exige que todo arquivo PDF/VT-1 também esteja em conformidade com PDF/X-4), então o injetor grava o conjunto completo de marcadores PDF/X-4 junto com as propriedades específicas de PDF/VT:
pdfxid:GTS_PDFXVersion = "PDF/X-4") and PDF/VT identification (pdfvtid:GTS_PDFVTVersion = "PDF/VT-1" with pdfvtid:GTS_PDFVTModDate matching xmp:ModifyDate per §6.3 NOTE 1), plus a pdfaExtension:schemas description for both pdfxid and pdfvtid namespaces./GTS_PDFXVersion (PDF/X-4) and /Trapped. Existing Info entries are preserved./Metadata and /OutputIntents references./Type /OutputIntent /S /GTS_PDFX and an embedded ICC profile (sRGB by default; supply CMYK via Options.IccProfileData for production print)./DPartRoot and document-level /DPart hierarchy when the source document does not already contain a usable one, with each page linked through its /DPart entry./ID array.As opções padrão têm como alvo PDF/VT-1 com o OutputIntent sRGB
integrado e /Trapped /False. As duas sobrecargas
diferem apenas em como a configuração é passada: o formato somente
com nome de arquivo preenche automaticamente os campos Info e DocumentId
a partir de FPDF_GetMetaText / FPDF_GetFileIdentifier
Retorna True em caso de sucesso
/DPartRoot no catálogo com uma árvore de nós /DPart. Quando o documento de origem não tem uma hierarquia utilizável, ou a hierarquia falha nas mesmas verificações de árvore ou ordem que ValidatePdfVT, SaveAsPdfVT cria um único DPart no nível do documento que cobre a ordem atual da árvore de páginas. Fluxos que precisem de metadados de destinatário, produto ou peça postal devem criar uma árvore DPart / DPM mais rica antes de salvar ou estender a gerada depoisTPdfVTSaveOptions.Conformance = pvc2 é aceito por compatibilidade, mas o gravador de arquivo único normaliza a saída para PDF/VT-1. PDF/VT-2 é um perfil de conjunto de arquivos cujas bases PDF/X válidas são PDF/X-4p, PDF/X-5g ou PDF/X-5pg, então ele não pode ser produzido por este método de saída em arquivo únicoOptions.IccProfileData junto com OutputCondition / OutputConditionIdentifier / RegistryName correspondentes
// 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;