AddTagAttributeA
ملف PDF ذو بنية، إمكانية الوصول
الوصف
الحرف المُلحق A يُشير إلى نقطة دخول ANSI (char) في DLL؛ بينما تكشف واجهة ActiveX/COM الشكل Unicode فقط. السلوك مطابق لـ AddTagAttribute وتُفسَّر وسائط السلاسل النصية باستخدام صفحة الرموز الحالية لـ SetAnsiMode
يضيف ارتباط نقطة ساخنة إلى الصفحة المحددة يفتح مستند PDF مضمّنًا في الملف الحالي ويقفز إلى صفحة فيه. ويحمل الارتباط إجراء go-to مضمّن (/GoToE) وفق ISO 32000-1 §12.6.4.4: تسمي سلسلة أهدافه الملف المضمّن (الاسم الممرر إلى EmbedFile) في شجرة أسماء EmbeddedFiles للمستند، وتلائم الوجهة الصفحة الهدف في النافذة
الصيغة
Delphi
Function DLAddTagAttributeA(InstanceID: Integer; Owner, Name, Value: PAnsiChar): Integer;
DLL
int DLAddTagAttributeA(int InstanceID, const char * Owner, const char * Name, const char * Value);
المعاملات
| Owner | اسم مالك الخاصية كما عُرّف في ISO 32000-1 Table 348 (مثل Layout وTable وList وPrintField). ويصبح هذا مفتاح /O في قاموس الخصائص |
|---|---|
| Name | اسم الخاصية للمالك المحدد (مثل BBox لـ Layout وScope لـ Table). يجب ألا يكون فارغًا |
| Value | قيمة الخاصية كسلسلة. والقيم التي تحتوي أرقامًا مفصولة بمسافات فقط (مثل "0 0 200 100") تُكتب كمصفوفة PDF من أعداد حقيقية. وأي قيمة أخرى تُكتب ككائن اسم PDF (دون / بادئة). يجب ألا تكون فارغة |
قيمة الإرجاع
تُرجع 1 عند النجاح. وتُرجع 0 إذا لم يكن هناك مستند مفتوح أو لا يوجد وسم مفتوح حاليًا أو كان Owner أو Name فارغًا
ملاحظات
تتتراكم الاستدعاءات المتعددة لـ AddTagAttribute على الوسم المفتوح نفسه. وعندما تنتمي الخصائص إلى مالك واحد تكتب المكتبة قاموس خصائص /A واحدًا. وعند استخدام ملاك متعددين تُجمَّع الخصائص حسب المالك وتُكتب كمصفوفة من قواميس الخصائص
للخصائص المشتركة يمكن استخدام الغلافين الميسرين SetStructElemScope وSetStructElemBBox بدلًا من استدعاء AddTagAttribute مباشرة
عند الحفظ تتلقى جميع الصفحات المفتوحة تلقائيًا مدخل /Tabs /S (ترتيب تبويب قائم على البنية) عندما يكون وضع PDF/UA نشطًا، استيفاءً لـ ISO 14289-1 §7.18.3. كما تتولى تصحيحات وقت الحفظ ملء تلميحات العناصر الناقصة (/TU) ومدخلات /Contents للتعليقات التوضيحية تلقائيًا، وإلحاق /AFRelationship بالملفات المضمّنة، وإزالة أي تعليقات توضيحية TrapNet (محظورة وفق ISO 14289-1 §7.18.2)، وإلحاق /O = List /ListNumbering = None بأي عنصر بنية L ينقصه خاصية ListNumbering صريحة (ISO 14289-1 §7.6)
مثال
// Mark a table header cell with column scope
PDFlib.BeginTag('TH', '', '', '');
PDFlib.AddTagAttribute('Table', 'Scope', 'Column');
// ... draw cell content
PDFlib.EndTag;
// Mark a figure with a bounding box
PDFlib.BeginTag('Figure', 'Company logo', '', '');
PDFlib.AddTagAttribute('Layout', 'BBox', '72 600 200 700');
PDFlib.EndTag;انظر أيضا
BeginTag, BeginTagEx, EndTag, SetStructElemScope, SetStructElemBBox