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

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

Java API เพื่อสร้างไฟล์ PDF ที่ติดแท็ก

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

พื้นที่เก็บข้อมูล:

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

การพึ่งพา:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.4</version>
</dependency>

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

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

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

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

// สร้างเอกสารใหม่
Document document = new Document();

// รับเนื้อหาสำหรับงานด้วยแท็ก PDF
ITaggedContent taggedContent = document.getTaggedContent();
StructureElement rootElement = taggedContent.getRootElement();
            
// ตั้งชื่อเรื่องและภาษาสำหรับเอกสาร
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 ที่ติดแท็กใน Java

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

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

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

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

// สร้างเอกสารใหม่
Document document = new Document();

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

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

// สร้างย่อหน้า
ParagraphElement paragraphWithQuotes = taggedContent.createParagraphElement();
paragraphWithQuotes.getStructureTextState().setFont(FontRepository.findFont("Calibri"));
paragraphWithQuotes.getStructureTextState().setMarginInfo(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.getStructureTextState().setFontStyle(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.pdf");

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

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

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

คุณยังสามารถใส่สไตล์ให้กับข้อความใน PDF ที่ติดแท็กได้ด้วยการตั้งค่าสไตล์ฟอนต์ ตระกูล ขนาด และอื่นๆ สำหรับสิ่งนี้ Aspose.PDF for Java ให้คุณตั้งค่าฟอนต์ ขนาดฟอนต์ สไตล์ฟอนต์ และสีพื้นหน้าโดยใช้ StructureTextState ชั้น ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการใช้สไตล์ข้อความใน PDF ที่ติดแท็กใน Java

// สร้างเอกสารใหม่
Document document = new Document();

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

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

// สร้างย่อหน้า
ParagraphElement paragraphWithQuotes = taggedContent.createParagraphElement();
taggedContent.getRootElement().appendChild(paragraphWithQuotes);

// ตั้งค่าสไตล์
paragraphWithQuotes.getStructureTextState().setFontSize(18F);
paragraphWithQuotes.getStructureTextState().setForegroundColor(Color.getRed());
paragraphWithQuotes.getStructureTextState().setFontStyle(FontStyles.Italic);
            
// เพิ่มข้อความ
paragraphWithQuotes.setText("Red italic text.");

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

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

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

// สร้างเอกสารใหม่
Document document = new Document();

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

// สร้าง illustrationElement
IllustrationElement figure1 = taggedContent.createFigureElement();
taggedContent.getRootElement().appendChild(figure1);
figure1.setAlternativeText( "Figure One");
figure1.setTitle("Image 1");
figure1.setTag("Fig1");
figure1.setImage("aspose_pdf.png");

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

รับใบอนุญาตฟรี

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

บทสรุป

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

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