AddEmbeddedFile
خصائص المستند
الوصف
يضمّن ملفًا داخل PDF كتدفق ملف مضمّن لكنه لا يسجله بذاته في أي قائمة كتالوج ولا يرسم تعليقًا توضيحيًا قابلًا للنقر. تُرجع الدالة مقبض EmbeddedFileID يمكن تمريره إلى AddFileAttachment (لإلحاق أيقونة مشبك ورق على صفحة) أو AddLinkToEmbeddedFile (لإنشاء نقطة ساخنة قابلة للنقر تفتح الملف). ولضم الملف وإدراجه كمرفق على مستوى المستند في استدعاء واحد، استخدم EmbedFile بدلًا من ذلك
الصيغة
Delphi
Function TPDFlib.AddEmbeddedFile(Const FileName, MIMEType: WideString): Integer;
ActiveX
Function PDFlib::AddEmbeddedFile(FileName As String, MIMEType As String) As Long
DLL
int DLAddEmbeddedFile(int InstanceID, const wchar_t * FileName, const wchar_t * MIMEType);
المعاملات
| FileName | المسار الكامل واسم ملف المصدر على القرص. وتُنسخ بايتاته حرفيًا إلى تدفق ملف مضمّن في PDF |
|---|---|
| MIMEType | نوع MIME للملف، مثل image/jpeg أو application/xml. وقد يكون سلسلة فارغة عندما يكون نوع MIME غير معروف |
قيم الإرجاع
| 0 | تعذّر فتح الملف أو لا يوجد مستند نشط |
|---|---|
| Non-zero | يُرجع استدعاء EndSignProcessTo* نتيجة توقيع 13 عند فشل التحقق من قيم البذرةويجري التحقق بعد فتح هوية التوقيع وقبل تعديل حقل التوقيع أو وجهة الإخراج |
ملاحظات
سلوك إصدار PDF: تتطلب تدفقات الملفات المضمّنة وقواميس مواصفة الملف إصدار PDF 1.3. وإذا كان إصدار المستند الحالي أقل ولم يكن إصدار الحفظ مقفلًا، ترفع AddEmbeddedFile المستند تلقائيًا إلى PDF 1.3. أما الاستدعاءات التي تسجل الملف كمرفق على مستوى المستند فقد تتطلب إصدارًا أعلى: تستخدم AddFileAttachment وEmbedFile شجرة الأسماء /Names /EmbeddedFiles الخاصة بـ PDF 1.4، وتستخدم AddLinkToEmbeddedFile عتامة/شفافية مظهر التعليقات التوضيحية الخاصة بـ PDF 1.4
يحذف الاستدعاء الفاشل ملف الإخراج الجزئي الخاص به؛ ونقطة دخول DLL بصيغة ANSI تفكك مدى الصفحات وأسماء الملفات بترميز UTF-8
توافق PDF/A:
- PDF/A-1 وPDF/A-2 (أوضاع 1–4 في SetPDFAMode) — الملفات المضمّنة محظورة؛ يُرفض الاستدعاء.
- PDF/A-3 (أوضاع 5 و6 و7 في SetPDFAMode) — يُسمح بالملفات المضمّنة من أي نوع MIME. اضبط علاقة الملف عبر SetEmbeddedFileAFRelationship قبل الحفظ.
مثال
// Expose the same embedded file through the document attachment list and a page annotation
var
FileID: Integer;
begin
PDF.NewDocument;
PDF.AddStandardFont('Helvetica');
FileID := PDF.AddEmbeddedFile('C:\reports\sales.csv', 'text/csv');
if FileID = 0 then Exit;
PDF.AddFileAttachment('Source data', FileID);
PDF.AddPage;
PDF.PrintText(50, 750, 'See attached source data');
PDF.AddLinkToEmbeddedFile(50, 720, 16, 16, FileID, 'Source data', 'Open source CSV', 4, 0);
PDF.SaveToFile('with-attachment.pdf');
end;انظر أيضا
AddFileAttachment, AddLinkToEmbeddedFile, EmbedFile, SetEmbeddedFileAFRelationship, SetEmbeddedFileStrProperty, EmbeddedFileCount