الهيكل المنطقي

الهيكل المنطقي

الهيكل المنطقي

تتضمن ملفات PDF ذات العلامات شجرة بنية منطقية تُعرّف التسلسل الهرمي الدلالي للمستند — الفقرات، العناوين، الجداول، الأشكال، والقوائم. توفر Aspose.PDF FOSS for .NET الـ TaggedContent API لبناء وفحص هذه البنية، وهو أمر أساسي للامتثال لإمكانية الوصول PDF/UA.


الوصول إلى المحتوى الموسوم

using var doc = new Document();
var tagged = doc.TaggedContent;
tagged.SetTitle("Accessible Document");
tagged.SetLanguage("en-US");

إنشاء عناصر الهيكل

ITaggedContent يوفر طرق مصنع لكل نوع عنصر بنية قياسي. يتم تجميع العناصر في شجرة عن طريق استدعاء AppendChild.

var root = tagged.RootElement;

var heading = tagged.CreateHeaderElement(1);
heading.SetText("Chapter 1");
root.AppendChild(heading);

var paragraph = tagged.CreateParagraphElement();
paragraph.SetText("This is the first paragraph.");
root.AppendChild(paragraph);

جداول مُنظمة

TableElement ينشئ جداول قابلة للوصول مع أقسام الرأس، الجسم، والتذييل.

var table = tagged.CreateTableElement();
root.AppendChild(table);

var thead = table.CreateTHead();
var headerRow = thead.CreateTR();
headerRow.CreateTH().SetText("Name");
headerRow.CreateTH().SetText("Value");

var tbody = table.CreateTBody();
var dataRow = tbody.CreateTR();
dataRow.CreateTD().SetText("Width");
dataRow.CreateTD().SetText("612");

الرسوم التوضيحية والرسوم البيانية

IllustrationElement يَغْلِف الصور في شجرة الهيكل.

var figure = tagged.CreateFigureElement();
figure.SetImage("chart.png");
figure.SetAlternativeText("Sales chart for Q4");
root.AppendChild(figure);

أنواع عناصر البنية

يدعم API مجموعة كاملة من أنواع عناصر بنية PDF:

  • مستوى الكتلة: Paragraph, Heading (H1-H6), List, ListItem, Table, BlockQuote, Code
  • مضمن: Span, Link, Annotation, Figure, Formula
  • تجميع: Division, Article, Section, Part

نصائح وأفضل الممارسات

  • دائمًا قم بتعيين Title و Language على TaggedContent للامتثال لـ PDF/UA.
  • بنِ شجرة البنية من الأعلى إلى الأسفل: أنشئ العناصر، ثم أضف الأطفال.
  • استخدم SetAlternativeText على عناصر الشكل لتسهيل الوصول لقارئ الشاشة.
  • ضع وسوم للجداول باستخدام THead، TBody، TFoot للحصول على دلالات جدول صحيحة.
  • تحقق من امتثال PDF/UA باستخدام PdfFormatConversionOptions (انظر دليل التحويل).

مشكلات شائعة

IssueCauseFix
فشل التحقق من PDF/UAشجرة البنية تفتقد العناصر المطلوبةتأكد من أن جميع المحتويات لها عناصر بنية مقابلة
ترتيب العناوين خاطئH2 يظهر قبل H1اتبع تسلسل هرمي متسلسل للعناوين
الشكل لا يحتوي على نص بديلSetAlternativeText غير مستدعىقدم دائمًا نصًا بديلًا للرسوم التوضيحية
الجدول غير معترف به من قبل قارئ الشاشةبنية THead/TBody مفقودةاستخدم واجهة برمجة التطبيقات الكاملة لبنية الجدول

الأسئلة المتكررة

ما هو PDF الموسوم؟

يتضمن ملف PDF الموسوم شجرة بنية منطقية تُطابق المحتوى البصري مع العناصر الدلالية (العناوين، الفقرات، الجداول)، مما يتيح أدوات الوصول وإعادة تدفق المحتوى.

هل PDF الموسوم هو نفسه PDF/UA؟

PDF/UA هو معيار يتطلب وضع العلامات بالإضافة إلى قواعد وصول إضافية.
ملفات PDF ذات العلامات هي شرط مسبق للامتثال لـ PDF/UA.

هل يمكنني وضع علامة على ملف PDF موجود؟

يعمل TaggedContent API بشكل أفضل مع المستندات التي تم إنشاؤها من الصفر. بالنسبة لملفات PDF الموجودة، افحص شجرة البنية عبر Document.TaggedContent.


API ملخص المرجع

الفئة / الطريقةالوصف
TaggedContentنقطة الدخول لعمليات البنية المنطقية
TaggedContent.SetTitleتعيين عنوان المستند لسهولة الوصول
TaggedContent.SetLanguageتعيين لغة المستند
ITaggedContentواجهة مع طرق المصنع لجميع أنواع العناصر
StructureElementالفئة الأساسية لجميع عناصر البنية
StructureElement.AppendChildإضافة عنصر فرعي إلى الشجرة
StructureElement.SetTextتعيين محتوى النص لعنصر
TableElementعنصر بنية جدول سهل الوصول
TableElement.CreateTHeadإنشاء قسم رأس الجدول
TableElement.CreateTBodyإنشاء قسم جسم الجدول
TableTRElementعنصر صف جدول
TableTRElement.CreateTDإضافة خلية بيانات
TableTRElement.CreateTHإضافة خلية رأس
IllustrationElementعنصر بنية الشكل/التوضيح
IllustrationElement.SetImageإرفاق صورة بالتوضيح

انظر أيضًا

 العربية