ساختار منطقی

ساختار منطقی

ساختار منطقی

PDFهای برچسب‌دار شامل یک درخت ساختار منطقی هستند که سلسله‌مراتب معنایی سند را تعریف می‌کند — پاراگراف‌ها، عناوین، جداول، شکل‌ها و فهرست‌ها. Aspose.PDF FOSS برای .NET API TaggedContent را برای ساخت و بررسی این ساختار فراهم می‌کند که برای انطباق دسترسی‌پذیری 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 جداول قابل دسترس با بخش‌های head، body و footer ایجاد می‌کند.

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 را پشتیبانی می‌کند:

  • Block-level: پاراگراف، عنوان (H1-H6)، فهرست، مورد فهرست، جدول، نقل‌قول بلوکی، کد
  • Inline: بازه، پیوند، حاشیه‌نویسی، شکل، فرمول
  • Grouping: تقسیم‌بندی، مقاله، بخش، قسمت

نکات و بهترین شیوه‌ها

  • همیشه Title و Language را بر روی TaggedContent تنظیم کنید برای سازگاری PDF/UA.
  • درخت ساختار را از بالا به پایین بسازید: عناصر را ایجاد کنید، سپس فرزندان را اضافه کنید.
  • از SetAlternativeText بر روی عناصر figure برای دسترسی‌پذیری خواننده صفحه استفاده کنید.
  • جداول را با THead، TBody، TFoot برچسب‌گذاری کنید برای معنای صحیح جدول.
  • سازگاری PDF/UA را با PdfFormatConversionOptions اعتبارسنجی کنید (راهنمای تبدیل را ببینید).

مسائل رایج

IssueCauseFix
اعتبارسنجی PDF/UA ناموفق استدرخت ساختار عناصر مورد نیاز را ندارداطمینان حاصل کنید که تمام محتواها عناصر ساختاری متناظر دارند
ترتیب عناوین نادرست استH2 قبل از H1 ظاهر می‌شوداز سلسله‌مراتب عناوین متوالی پیروی کنید
تصویر توضیح متنی (alt text) نداردSetAlternativeText فراخوانی نشده استهمیشه برای تصاویر توضیح متنی ارائه دهید
جدول توسط صفحه‌خوان شناسایی نمی‌شودساختار THead/TBody موجود نیستاز API کامل ساختار جدول استفاده کنید

سوالات متداول

PDF برچسب‌دار چیست؟

یک PDF برچسب‌دار شامل یک درخت ساختار منطقی است که محتوای بصری را به عناصر معنایی (سرفصل‌ها، پاراگراف‌ها، جدول‌ها) نگاشت می‌کند و ابزارهای دسترسی و بازآفرینی محتوا را امکان‌پذیر می‌سازد.

آیا PDF برچسب‌دار همان PDF/UA است؟

PDF/UA یک استاندارد است که برچسب‌گذاری به‌همراه قوانین دسترسی اضافی را می‌طلبد.
PDFهای برچسب‌دار پیش‌نیاز سازگاری با PDF/UA هستند.

آیا می‌توانم یک PDF موجود را برچسب‌گذاری کنم؟

API TaggedContent بهترین عملکرد را با اسنادی که از ابتدا ایجاد شده‌اند دارد. برای PDFهای موجود، درخت ساختار را از طریق Document.TaggedContent بررسی کنید.


خلاصه مرجع API

Class / MethodDescription
TaggedContentنقطه ورود برای عملیات ساختار منطقی
TaggedContent.SetTitleتنظیم عنوان سند برای دسترس‌پذیری
TaggedContent.SetLanguageتنظیم زبان سند
ITaggedContentرابط کاربری با متدهای کارخانه برای تمام انواع عنصر
StructureElementکلاس پایه برای تمام عناصر ساختار
StructureElement.AppendChildافزودن یک عنصر فرزند به درخت
StructureElement.SetTextتنظیم محتوای متنی یک عنصر
TableElementعنصر ساختار جدول قابل دسترس
TableElement.CreateTHeadایجاد بخش سرجدول
TableElement.CreateTBodyایجاد بخش بدنه جدول
TableTRElementعنصر ردیف جدول
TableTRElement.CreateTDافزودن یک سلول داده
TableTRElement.CreateTHافزودن یک سلول سرصفحه
IllustrationElementعنصر ساختار شکل/تصویر
IllustrationElement.SetImageپیوست کردن یک تصویر به تصویرسازی

همچنین ببینید

 فارسی