AddRoleMapA
ملف PDF ذو بنية، إمكانية الوصول
الوصف
تشير اللاحقة A إلى نقطة دخول DLL بصيغة ANSI (char)؛ وتبقى واجهة ActiveX/COM مكشوفةً بالصيغة Unicode فقط. والسلوك مطابق لـ AddRoleMap وتُفسر وسائط السلاسل بصفحة شيفرة SetAnsiMode الحالية
يسجل مطابقة من اسم نوع عنصر بنية مخصص إلى نوع بنية PDF قياسي في قاموس RoleMap للمستند
عندما يستخدم محتوى PDF الموسوم أسماء وسوم غير قياسية (مثل أنواع عناصر خاصة بشركة أو تطبيق)، تتطلب مواصفة PDF مطابقة تلك الأسماء بنوع بنية PDF قياسي في مدخل /RoleMap لجذر شجرة البنية. وتفرض ISO 14289-1 §7.1 هذه المطابقة على جميع مستندات PDF/UA-1 التي تحتوي أنواع عناصر بنية غير قياسية
استدعِ EndTag مرة واحدة عن كل استدعاء ناجح لـ BeginTagEx2 لسحب العنصر من رصة الوسوم. ويمكن تداخل عناصر البنية: استدعاء BeginTagEx2 أثناء وجود عنصر مفتوح ينشئ عنصرًا ابنًا
تُكتب RoleMap إلى جذر شجرة البنية عند حفظ المستند إذا سُجلت مطابقة واحدة على الأقل
الصيغة
Delphi
Function DLAddRoleMapA(InstanceID: Integer; CustomType, StandardType: PAnsiChar): Integer;
DLL
int DLAddRoleMapA(int InstanceID, const char * CustomType, const char * StandardType);
المعاملات
| CustomType | اسم نوع عنصر البنية المخصص (غير القياسي) المستخدم في استدعاءات BeginTag أو BeginTagEx، مثل Headline وCaption وCallout |
|---|---|
| StandardType | نوع بنية PDF القياسي الذي يُطابق النوع المخصص: P، H1–H6، Figure، Table، Span، Link، Note وهكذا (راجع ISO 32000-1 §14.8.4). يجب أن يكون نوعًا قياسيًا معروفًا حتى تستوفي المطابقة مدققات امتثال PDF/UA |
قيم الإرجاع
| 0 | فشل (لا يوجد مستند مفتوح) |
|---|---|
| 1 | سُجلت المطابقة بنجاح |
مثال
// Document with custom element types mapped to standard PDF structure types
PDF.SetPDFUAMode('en-US');
PDF.AddRoleMap('Headline', 'H1');
PDF.AddRoleMap('Subheadline', 'H2');
PDF.AddRoleMap('Caption', 'P');
PDF.BeginTag('Headline', '', '');
PDF.PrintText(50, 750, 'Annual Report 2026');
PDF.EndTag;
PDF.BeginTag('Subheadline', '', '');
PDF.PrintText(50, 720, 'Financial Highlights');
PDF.EndTag;