สร้างไฟล์ PDF ที่ติดแท็กใน C# .NET

ไฟล์ PDF ที่ติดแท็กคือไฟล์ PDF ประเภทหนึ่งที่ใช้แท็กเพื่อกำหนดโครงสร้างเชิงตรรกะของเนื้อหาในเอกสาร ใช้เพื่อเพิ่มประสบการณ์การอ่านสำหรับผู้ที่ใช้เทคโนโลยีช่วยเหลือและโปรแกรมอ่านหน้าจอ ใน โพสต์ก่อนหน้า เราได้กล่าวถึงการสร้างไฟล์ PDF ภายในแอปพลิเคชัน .NET ในบทความนี้ เราจะสาธิตวิธีสร้างไฟล์ PDF ที่ติดแท็กโดยทางโปรแกรมใน C# .NET

C# .NET API เพื่อสร้าง PDF ที่ติดแท็ก - ดาวน์โหลดฟรี

Aspose.PDF for .NET เป็น API ที่มีประสิทธิภาพสำหรับการสร้างและจัดการ PDF ภายในแอปพลิเคชัน .NET เมื่อใช้ API คุณสามารถสร้าง ประมวลผล และแปลงไฟล์ PDF ของเลย์เอาต์ที่เรียบง่ายและซับซ้อนได้อย่างราบรื่น คุณสามารถ ดาวน์โหลด ไบนารีของ API หรือติดตั้งโดยใช้ NuGet

PM> Install-Package Aspose.PDF

สร้างไฟล์ PDF ที่ติดแท็กใน C# .NET

หากต้องการสร้างองค์ประกอบโครงสร้างใน PDF ที่ติดแท็ก Aspose.PDF for .NET จะมีอินเทอร์เฟซ ITaggedContent มาดูวิธีใช้อินเทอร์เฟซนี้เพื่อสร้างไฟล์ PDF ที่ติดแท็กใน C#

  • สร้าง PDF ใหม่หรือโหลดไฟล์ที่มีอยู่โดยใช้คลาส Document
  • รับการอ้างอิงของ TaggedContent ของเอกสารลงในวัตถุ ITaggedContent
  • ตั้งชื่อเรื่อง ส่วนหัว และภาษา และเพิ่มองค์ประกอบให้กับ PDF โดยใช้วัตถุ ITaggedContent
  • สร้าง ParagraphElement ใหม่โดยใช้เมธอด ITaggedContent.CreateParagraphElement() และตั้งค่าข้อความ
  • เพิ่มย่อหน้าลงในเอกสารโดยใช้เมธอด ITaggedContent.RootElement.AppendChild()
  • สุดท้าย บันทึกไฟล์ PDF โดยใช้วิธี Document.Save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีสร้าง PDF ที่ติดแท็กใน C#

// สร้างเอกสาร PDF
Document document = new Document();

// รับเนื้อหาสำหรับงานด้วยแท็ก PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;
            
// ตั้งชื่อเรื่องและภาษาสำหรับเอกสาร
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// เพิ่มส่วนหัว
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// เพิ่มย่อหน้า
ParagraphElement paragraphElement = taggedContent.CreateParagraphElement();
paragraphElement.SetText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. " +
"Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. " +
"Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet" +
"nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus." +
"Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat" +
"sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper" +
"pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus" +
"ac iaculis eget, tempus et magna. Sed non consectetur elit. Sed vulputate, quam sed lacinia luctus," +
"ipsum nibh fringilla purus, vitae posuere risus odio id massa. Cras sed venenatis lacus.");

rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphElement);

// บันทึก PDF ที่ติดแท็ก
document.Save("tagged-pdf.pdf");

ต่อไปนี้เป็นผลลัพธ์ของตัวอย่างโค้ดด้านบน

สร้างไฟล์ PDF ที่ติดแท็กใน C#

C# สร้าง PDF ที่ติดแท็กด้วยองค์ประกอบที่ซ้อนกัน

ในตัวอย่างก่อนหน้านี้ เราสร้าง PDF ที่ติดแท็กอย่างง่ายซึ่งมีย่อหน้า มาดูวิธีเพิ่มองค์ประกอบที่ซ้อนกันใน PDF ที่ติดแท็ก ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้

  • สร้าง PDF ใหม่หรือโหลดไฟล์ที่มีอยู่โดยใช้คลาส Document
  • รับการอ้างอิงของ TaggedContent ของเอกสารลงในวัตถุ ITaggedContent
  • ตั้งชื่อเรื่อง ส่วนหัว และภาษา และเพิ่มองค์ประกอบให้กับ PDF โดยใช้วัตถุ ITaggedContent
  • สร้าง ParagraphElement ใหม่โดยใช้เมธอด ITaggedContent.CreateParagraphElement() และตั้งค่าข้อความ
  • ใช้คลาส SpanElement เพื่อเพิ่มองค์ประกอบที่ซ้อนกัน
  • เพิ่มองค์ประกอบที่ซ้อนกันในย่อหน้าโดยใช้เมธอด ParagraphElement.AppendChild()
  • เพิ่มย่อหน้าลงในเอกสารโดยใช้เมธอด ITaggedContent.RootElement.AppendChild()
  • สุดท้าย บันทึกไฟล์ PDF โดยใช้วิธี Document.Save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มองค์ประกอบที่ซ้อนกันใน PDF ที่ติดแท็กใน C#

// สร้างเอกสาร PDF
Document document = new Document();

// รับเนื้อหาสำหรับงานด้วยแท็ก PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// ตั้งชื่อเรื่องและภาษาสำหรับเอกสาร
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// เพิ่มส่วนหัว
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// สร้างย่อหน้า
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
paragraphWithQuotes.StructureTextState.Font = FontRepository.FindFont("Calibri");
paragraphWithQuotes.StructureTextState.MarginInfo = new MarginInfo(10, 5, 10, 5);

// เพิ่มองค์ประกอบช่วง
SpanElement spanElement1 = taggedContent.CreateSpanElement();
spanElement1.SetText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean nec lectus ac sem faucibus imperdiet. Sed ut erat ac magna ullamcorper hendrerit. Cras pellentesque libero semper, gravida magna sed, luctus leo. Fusce lectus odio, laoreet nec ullamcorper ut, molestie eu elit. Interdum et malesuada fames ac ante ipsum primis in faucibus. Aliquam lacinia sit amet elit ac consectetur. Donec cursus condimentum ligula, vitae volutpat sem tristique eget. Nulla in consectetur massa. Vestibulum vitae lobortis ante. Nulla ullamcorper pellentesque justo rhoncus accumsan. Mauris ornare eu odio non lacinia. Aliquam massa leo, rhoncus ac iaculis eget, tempus et magna. Sed non consectetur elit. ");
QuoteElement quoteElement = taggedContent.CreateQuoteElement();
quoteElement.SetText("Sed vulputate, quam sed lacinia luctus, ipsum nibh fringilla purus, vitae posuere risus odio id massa.");
quoteElement.StructureTextState.FontStyle = FontStyles.Bold | FontStyles.Italic;
SpanElement spanElement2 = taggedContent.CreateSpanElement();
spanElement2.SetText(" Sed non consectetur elit.");

// ต่อท้ายย่อหน้า
paragraphWithQuotes.AppendChild(spanElement1);
paragraphWithQuotes.AppendChild(quoteElement);
paragraphWithQuotes.AppendChild(spanElement2);

// เพิ่มไปยังองค์ประกอบราก
rootElement.AppendChild(mainHeader);
rootElement.AppendChild(paragraphWithQuotes);

// บันทึก PDF ที่ติดแท็ก
document.Save("tagged-pdf-nested-elements.pdf");

ภาพหน้าจอต่อไปนี้แสดง PDF ที่ติดแท็กพร้อมองค์ประกอบที่ซ้อนกัน

สร้าง PDF ที่ติดแท็กด้วยองค์ประกอบที่ซ้อนกันใน C #

จัดรูปแบบโครงสร้างข้อความใน PDF ที่ติดแท็กใน C#

คุณยังสามารถใส่สไตล์ให้กับข้อความใน PDF ที่ติดแท็กได้ด้วยการตั้งค่าสไตล์ฟอนต์ ตระกูล ขนาด ฯลฯ สำหรับสิ่งนี้ Aspose.PDF for .NET มี Font, FontSize, [FontStyle] คุณสมบัติ 25 และ ForegroundColor ของคลาส StructureTextState ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการใช้การจัดรูปแบบข้อความใน PDF ที่ติดแท็กใน C#

// สร้างเอกสาร PDF
Document document = new Document();

// รับเนื้อหาสำหรับงานด้วยแท็ก PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// ตั้งชื่อเรื่องและภาษาสำหรับเอกสาร
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

// เพิ่มส่วนหัว
HeaderElement mainHeader = taggedContent.CreateHeaderElement();
mainHeader.SetText("Main Header");

// สร้างย่อหน้า
ParagraphElement paragraphWithQuotes = taggedContent.CreateParagraphElement();
taggedContent.RootElement.AppendChild(paragraphWithQuotes);

// ตั้งค่าสไตล์
paragraphWithQuotes.StructureTextState.FontSize = 18F;
paragraphWithQuotes.StructureTextState.ForegroundColor = Color.Red;
paragraphWithQuotes.StructureTextState.FontStyle = FontStyles.Italic;
            
// เพิ่มข้อความ
paragraphWithQuotes.SetText("Red italic text.");

// บันทึก PDF ที่ติดแท็ก
document.Save("tagged-pdf-text-styling.pdf");

C # แสดงองค์ประกอบโครงสร้างใน PDF ที่ติดแท็ก

เพื่อแสดงองค์ประกอบโครงสร้าง Aspose.PDF for .NET มีคลาส IllustrationElement ตัวอย่างโค้ดต่อไปนี้แสดงวิธีใช้คลาสนี้เพื่อแสดงองค์ประกอบโครงสร้างใน PDF ที่ติดแท็ก

// สร้างเอกสาร PDF
Document document = new Document();

// รับเนื้อหาสำหรับงานด้วยแท็ก PDF
ITaggedContent taggedContent = document.TaggedContent;
var rootElement = taggedContent.RootElement;

// ตั้งชื่อเรื่องและภาษาสำหรับเอกสาร
taggedContent.SetTitle("Tagged Pdf Document");
taggedContent.SetLanguage("en-US");

IllustrationElement figure1 = taggedContent.CreateFigureElement();
taggedContent.RootElement.AppendChild(figure1);
figure1.AlternativeText = "Figure One";
figure1.Title = "Image 1";
figure1.SetTag("Fig1");
figure1.SetImage("aspose_pdf.png");

// บันทึก PDF ที่ติดแท็ก
document.Save("tagged-pdf-illustrating-structure.pdf");

C# API เพื่อสร้าง PDF ที่ติดแท็ก - รับใบอนุญาตฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อใช้ Aspose.PDF for .NET โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ คุณได้เรียนรู้วิธีสร้างไฟล์ PDF ที่ติดแท็กใน C# นอกจากนี้ คุณได้เห็นวิธีสร้างองค์ประกอบซ้อน ใช้สไตล์กับข้อความ และแสดงองค์ประกอบโครงสร้างใน PDF ที่ติดแท็กโดยทางโปรแกรม นอกจากนี้ คุณสามารถสำรวจเพิ่มเติมเกี่ยวกับ .NET PDF API โดยใช้ เอกสารประกอบ ในกรณีที่คุณมีคำถามหรือข้อสงสัย คุณสามารถติดต่อเราผ่านทาง ฟอรัม

ดูสิ่งนี้ด้วย