EmbedFileA

خصائص المستند

الوصف

الحرف المُلحق A يُشير إلى نقطة دخول ANSI (char) في DLL؛ بينما تكشف واجهة ActiveX/COM الشكل Unicode فقط. السلوك مطابق لـ EmbedFile وتُفسَّر وسائط السلاسل النصية باستخدام صفحة الرموز الحالية لـ SetAnsiMode

يضمّن ملفًا خارجيًا داخل PDF ويسجله كمرفق على مستوى المستند. ويعرض Acrobat وقارئات أخرى المرفقات على مستوى المستند في اللوحة الجانبية للمرفقات. وهذا الاستدعاء اختصار لـ AddEmbeddedFile يليه AddToFileList: يُخزَّن الملف كتدفق ملف مضمّن، ويُضاف مدخل يشير إليه إلى شجرة الأسماء /Names /EmbeddedFiles في الكتالوج تحت العنوان المزود

سلوك إصدار PDF: تتطلب تدفقات الملفات المضمّنة وقواميس مواصفة الملف إصدار PDF 1.3، بينما تتطلب شجرة الأسماء /Names /EmbeddedFiles على مستوى المستند التي يستخدمها هذا الاستدعاء الميسر إصدار PDF 1.4. إذا كان إصدار المستند الحالي أقل ولم يكن إصدار الحفظ مقفلًا، يرفع EmbedFile المستند تلقائيًا إلى PDF 1.4 ويسجل /EmbeddedFiles name tree في AutoBumpedFeatures. وإذا قفل المستدعي إصدار حفظ أقل، فترفض بوابة التوافق الحفظ مع LastErrorCode 602

الصيغة

Delphi

Function DLEmbedFileA(InstanceID: Integer; Title, FileName, MIMEType: PAnsiChar): Integer;

DLL

int DLEmbedFileA(int InstanceID, const char * Title, const char * FileName, const char * MIMEType);

المعاملات

Titleالاسم المعروض في لوحة مرفقات القارئ والمستخدم كمفتاح في شجرة الأسماء /EmbeddedFiles. يجب أن يكون فريدًا داخل المستند؛ وإذا وُجد ملف بهذا العنوان سلفًا يفشل الاستدعاء
FileNameالمسار الكامل لملف المصدر على القرص. وتُنسخ بايتات هذا الملف إلى PDF
MIMETypeنوع MIME الذي يحدد محتوى الملف (مثل image/jpeg، وtext/csv، وapplication/xml). مرر سلسلة فارغة عندما يكون نوع MIME غير معروف؛ وسيستخدم العارضون امتداد الملف كبديل

قيم الإرجاع

0تعذّر تضمين الملف — ملف المصدر مفقود أو العنوان مستخدم سلفًا أو لا يوجد مستند مفتوح
1تم تضمين الملف وإدراجه في شجرة أسماء مرفقات المستند

ملاحظات

ينشئ هذا الاستدعاء مرفقًا على مستوى المستند فقط. لرسم تعليق توضيحي بأيقونة مشبك ورق قابلة للنقر على صفحة معينة يشير إلى الملف المضمّن، استخدم بدلًا من ذلك AddEmbeddedFile يليه AddFileAttachment‏ (أو AddLinkToEmbeddedFile)

PDF/A compatibility:

عندما يكون SetPDFUAMode نشطًا تكتب المكتبة AFRelationship=Unspecified تلقائيًا لأي ملف مضمّن بلا علاقة صريحة؛ وتجاوزها بـ SetEmbeddedFileAFRelationship استيفاءً لـ ISO 14289-1 §7.11

مثال

// Embed a CSV of the source data as a document attachment
PDF.NewDocument;
PDF.AddStandardFont('Helvetica');
PDF.AddPage;
PDF.PrintText(50, 750, 'Sales summary, Q1 2026');

if PDF.EmbedFile('Source data — sales-Q1.csv', 'C:\reports\sales-Q1.csv', 'text/csv') = 1 then
  WriteLn('Attachment added')
else
  WriteLn('Failed to embed file');

PDF.SaveToFile('Q1-Summary.pdf');

انظر أيضا

AddEmbeddedFile, AddFileAttachment, AddLinkToEmbeddedFile, SetEmbeddedFileAFRelationship, EmbeddedFileCount, SetPDFAMode