function SaveAsPdfVT(const FileName: string): Boolean; overload;
function SaveAsPdfVT(const FileName: string; const Options: TPdfVTSaveOptions): Boolean; overload;
تنفّذ SaveAsPdfVT أولًا عملية SaveAs العادية، ثم تُلحق بالبايتات المحفوظة تحديثًا تزايديًا يرقّي الملف إلى مطابقة PDF/VT-1 أحادية الملف. وPDF/VT هو subset ISO 16612-2 من PDF المصمم للطباعة المتغيرة البيانات والتعاملية — بريد مخصص، وكشوف حسابات، ومطبوعات تسويقية — حيث تُجمَّع صفحات كل مستلم عبر تسلسل هرمي لأجزاء المستند (Document Part Hierarchy)
يبني PDF/VT-1 فوق PDF/X-4 (البند §6.2.1 من ISO 16612-2 يشترط أن يمتثل كل ملف PDF/VT-1 أيضًا لـ PDF/X-4)، لذا يكتب الحاقن مجموعة علامات PDF/X-4 الكاملة إلى جانب خصائص PDF/VT الخاصة:
pdfxid:GTS_PDFXVersion = "PDF/X-4") وتعريف PDF/VT معًا (pdfvtid:GTS_PDFVTVersion = "PDF/VT-1" مع pdfvtid:GTS_PDFVTModDate المطابق لـ xmp:ModifyDate وفق §6.3 NOTE 1)، إضافة إلى وصف pdfaExtension:schemas لكلا ناميي pdfxid و pdfvtid/GTS_PDFXVersion (PDF/X-4) و /Trapped. وتُحفظ مدخلات Info الموجودة/Metadata و /OutputIntents/Type /OutputIntent /S /GTS_PDFX وملف ICC مضمّن (sRGB افتراضيًا؛ وزوّد CMYK عبر Options.IccProfileData للطباعة الإنتاجية)/DPartRoot و /DPart على مستوى المستند بالحد الأدنى عندما لا يحتوي المستند المصدر على واحد قابل للاستخدام، مع ربط كل صفحة عبر مدخل /DPart الخاص بها/ID للتذييلتستهدف الخيارات الافتراضية PDF/VT-1 مع OutputIntent الـ sRGB المرفق
و /Trapped /False. والفرق الوحيد بين الصيغتين الزائدتين
هو طريقة تمرير الإعداد: الصيغة باسم الملف فقط
تتعبأ تلقائيًا حقول Info و DocumentId من
FPDF_GetMetaText / FPDF_GetFileIdentifier
يُرجع 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 مع 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;