function SaveAsPdfVT(const FileName: string): Boolean; overload;
function SaveAsPdfVT(const FileName: string; const Options: TPdfVTSaveOptions): Boolean; overload;
SaveAsPdfVT는 먼저 일반 SaveAs를 수행한 뒤, 저장된 바이트 위에 파일을 단일 파일 PDF/VT-1 conformance로 승격시키는 증분 업데이트를 얹습니다. PDF/VT는 가변 데이터와 트랜잭션 인쇄를 위해 설계된 ISO 16612-2 PDF 부분집합입니다 — 개인화 메일, 명세서, 마케팅 자료처럼 수신자별 페이지를 Document Part Hierarchy로 묶는 대상입니다
PDF/VT-1은 PDF/X-4 위에 세워져 있습니다(ISO 16612-2 §6.2.1이 모든 PDF/VT-1 파일에 PDF/X-4 부합을 요구). 그래서 주입기는 PDF/VT 고유 속성과 함께 전체 PDF/X-4 마커 세트를 기록합니다
pdfxid:GTS_PDFXVersion = "PDF/X-4")과 PDF/VT 식별(§6.3 NOTE 1에 따라 xmp:ModifyDate와 일치하는 pdfvtid:GTS_PDFVTModDate를 갖춘 pdfvtid:GTS_PDFVTVersion = "PDF/VT-1")을 모두 선언하고, pdfxid와 pdfvtid 네임스페이스 양쪽의 pdfaExtension:schemas 기술을 더하는 XMP 메타데이터 스트림/GTS_PDFXVersion (PDF/X-4)과 /Trapped를 갖춘 재작성된 Document Information Dictionary. 기존 Info 항목은 보존됩니다/Metadata와 /OutputIntents 참조를 갖는 갱신된 catalog/Type /OutputIntent /S /GTS_PDFX와 임베드된 ICC 프로파일을 갖춘 OutputIntent 딕셔너리(기본 sRGB. 실제 인쇄용 CMYK는 Options.IccProfileData로 공급)/DPartRoot와 문서 수준 /DPart 계층. 각 페이지는 자신의 /DPart 항목으로 연결됩니다/ID 배열기본 옵션은 번들 sRGB
OutputIntent와 /Trapped /False로 PDF/VT-1을 대상으로 합니다. 두 오버로드의
차이는 설정을 넘기는 방식뿐입니다. 파일 이름만 받는 형태는
FPDF_GetMetaText / FPDF_GetFileIdentifier에서 Info 필드와 DocumentId를 자동 채움합니다
성공하면 True를 반환합니다
/DPartRoot 딕셔너리와 /DPart 노드 트리를 정의합니다. 소스 문서에 쓸 만한 계층이 없거나 그 계층이 ValidatePdfVT와 같은 트리/순서 검사를 통과하지 못하면, SaveAsPdfVT는 현재 페이지 트리 순서를 커버하는 문서 수준 DPart 하나를 만듭니다. 수신자, 제품, 메일 조각 메타데이터가 필요한 워크플로는 저장 전에 더 풍부한 DPart/DPM 트리를 만들거나 저장 후 생성된 트리를 확장해야 합니다TPdfVTSaveOptions.Conformance = pvc2는 호환성을 위해 받아들여지지만 단일 파일 작성기는 출력을 PDF/VT-1로 정규화합니다. PDF/VT-2는 파일 세트 프로필이며 유효한 PDF/X 기반은 PDF/X-4p, PDF/X-5g, PDF/X-5pg이므로, 이 단일 출력 파일 방식으로는 만들 수 없습니다Options.IccProfileData로 CMYK ICC 프로파일(FOGRA39 / GRACoL2006_Coated1v2 등)을 공급하고 맞는 OutputCondition / OutputConditionIdentifier / RegistryName을 함께 넘기세요
// 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;