โครงสร้างเชิงตรรกะ

โครงสร้างเชิงตรรกะ

โครงสร้างเชิงตรรกะ

Tagged PDFs มีโครงสร้างต้นไม้ตรรกะที่กำหนดลำดับชั้นเชิงความหมายของเอกสาร — ย่อหน้า, หัวเรื่อง, ตาราง, รูปภาพ, และรายการ. 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:

  • Block-level: ย่อหน้า, หัวเรื่อง (H1-H6), รายการ, รายการย่อย, ตาราง, บล็อกอ้างอิง, โค้ด
  • Inline: ส่วน, ลิงก์, คำอธิบาย, รูปภาพ, สูตร
  • Grouping: ส่วน, บทความ, หัวข้อ, ส่วน

เคล็ดลับและแนวทางปฏิบัติที่ดีที่สุด

  • ตั้งค่า Title และ Language บน TaggedContent เสมอเพื่อให้สอดคล้องกับ PDF/UA.
  • สร้างโครงสร้างต้นไม้จากบนลงล่าง: สร้างองค์ประกอบแล้วต่อท้ายลูก.
  • ใช้ SetAlternativeText บนองค์ประกอบ figure เพื่อการเข้าถึงด้วยโปรแกรมอ่านหน้าจอ.
  • ทำเครื่องหมายตารางด้วย THead, TBody, TFoot เพื่อให้มีความหมายของตารางที่ถูกต้อง.
  • ตรวจสอบความสอดคล้องกับ PDF/UA ด้วย PdfFormatConversionOptions (ดูคู่มือการแปลง).

ปัญหาทั่วไป

IssueCauseFix
การตรวจสอบ PDF/UA ล้มเหลวโครงสร้างต้นไม้ขาดองค์ประกอบที่จำเป็นตรวจสอบให้แน่ใจว่าทุกเนื้อหามีองค์ประกอบโครงสร้างที่สอดคล้องกัน
ลำดับหัวข้อไม่ถูกต้องH2 ปรากฏก่อน H1ปฏิบัติตามลำดับชั้นหัวข้ออย่างต่อเนื่อง
รูปภาพไม่มีข้อความแทน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แนบภาพไปยังภาพประกอบ

ดูเพิ่มเติม

 ภาษาไทย