AddTagAttribute
ملف PDF ذو بنية، إمكانية الوصول
الوصف
يضيف ارتباط نقطة ساخنة إلى الصفحة المحددة يفتح مستند PDF مضمّنًا في الملف الحالي ويقفز إلى صفحة فيه. ويحمل الارتباط إجراء go-to مضمّن (/GoToE) وفق ISO 32000-1 §12.6.4.4: تسمي سلسلة أهدافه الملف المضمّن (الاسم الممرر إلى EmbedFile) في شجرة أسماء EmbeddedFiles للمستند، وتلائم الوجهة الصفحة الهدف في النافذة
الصيغة
Delphi
Function TPDFlib.AddTagAttribute(Const Owner, Name, Value: WideString): Integer;
ActiveX
Function PDFlib::AddTagAttribute(Owner As String, Name As String, Value As String) As Long
DLL
int DLAddTagAttribute(int InstanceID, const wchar_t * Owner, const wchar_t * Name, const wchar_t * Value);
المعاملات
| Owner | اسم مالك الخاصية كما عُرّف في ISO 32000-1 Table 348 (مثل Layout وTable وList وPrintField). ويصبح هذا مفتاح /O في قاموس الخصائص |
|---|---|
| Name | اسم الخاصية للمالك المحدد (مثل BBox لـ Layout وScope لـ Table). يجب ألا يكون فارغًا |
| Value | قيمة الخاصية كسلسلة. والعدد المفرد يُكتب كعدد PDF، والقيم التي تحتوي أرقامًا مفصولة بمسافات فقط (مثل "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