เพิ่มหรืออัปเดตไฮเปอร์ลิงก์ใน PDF โดยใช้ Java

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

Aspose.PDF for Java เป็น API ที่น่าทึ่งสำหรับการสร้างและจัดการ PDF เมื่อใช้ API คุณสามารถสร้าง ประมวลผล และแปลงไฟล์ PDF ของเลย์เอาต์ที่เรียบง่ายและซับซ้อนได้อย่างราบรื่น เราจะใช้ API นี้เพื่อเพิ่มและอัปเดตไฮเปอร์ลิงก์ในไฟล์ PDF คุณสามารถ ดาวน์โหลด JAR ของ 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 ใหม่หรือโหลดไฟล์ที่มีอยู่โดยใช้คลาส Document
  • รับข้อมูลอ้างอิงของหน้าที่คุณต้องการเพิ่มไฮเปอร์ลิงก์จากคอลเล็กชัน Document.getPages()
  • สร้างวัตถุของคลาส LinkAnnotation และตั้งค่าคุณสมบัติ
  • ใช้เมธอด LinkAnnotation.setAction() เพื่อกำหนดวัตถุ GoToURIaction ที่มี URL
  • เพิ่มไฮเปอร์ลิงก์ไปยังหน้าโดยใช้เมธอด Page.getAnnotations().add()
  • บันทึก PDF โดยใช้วิธี Document.save(String)

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

// เปิดเอกสาร
Document document = new Document("input.pdf");

// รับการอ้างอิงของหน้า
Page page = document.getPages().get_Item(1);

// สร้างวัตถุคำอธิบายประกอบลิงก์
LinkAnnotation link = new LinkAnnotation(page, new com.aspose.pdf.Rectangle(100, 100, 300, 300));

// สร้างวัตถุเส้นขอบสำหรับ LinkAnnotation
Border border = new Border(link);

// ตั้งค่าความกว้างของเส้นขอบเป็น 0
border.setWidth ( 0);

// กำหนดเส้นขอบสำหรับ LinkAnnotation
link.setBorder(border);

// ระบุประเภทลิงก์เป็น URI ระยะไกล
link.setAction( new GoToURIAction("www.aspose.com"));

// เพิ่มคำอธิบายประกอบลิงก์ไปยังคอลเลกชันคำอธิบายประกอบของหน้าแรกของไฟล์ PDF
page.getAnnotations().add(link);

// บันทึกเอกสารที่อัปเดต
document.save("output.pdf");

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

  • สร้าง PDF ใหม่หรือโหลดไฟล์ที่มีอยู่โดยใช้คลาส Document
  • รับข้อมูลอ้างอิงของหน้าที่คุณต้องการเพิ่มไฮเปอร์ลิงก์จากคอลเล็กชัน Document.getPages()
  • สร้างวัตถุของคลาส LinkAnnotation และตั้งค่าคุณสมบัติ
  • ใช้เมธอด LinkAnnotation.setAction() เพื่อตั้งค่าการดำเนินการกับวัตถุ GoToRemoteAction ที่มีเส้นทางไปยัง PDF ภายนอก
  • เพิ่มไฮเปอร์ลิงก์ไปยังหน้าโดยใช้เมธอด Page.getAnnotations().add()
  • บันทึก PDF โดยใช้วิธี Document.save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มไฮเปอร์ลิงก์สำหรับ PDF ภายนอกใน Java

// เปิดเอกสาร
Document document = new Document("input.pdf");

// รับการอ้างอิงของหน้า
Page page = document.getPages().get_Item(1);

// สร้างไฮเปอร์ลิงก์
LinkAnnotation link = new LinkAnnotation(page, new com.aspose.pdf.Rectangle(100, 100, 300, 300));
link.setColor(Color.getGreen());

// กำหนดการกระทำ
link.setAction( new GoToRemoteAction("external.pdf", 1));

// เพิ่มคำอธิบายประกอบลิงก์ไปยังคอลเลกชันคำอธิบายประกอบของหน้าแรกของไฟล์ PDF
page.getAnnotations().add(link);

// บันทึกเอกสารที่อัปเดต
document.save("output.pdf");

ในบางกรณี คุณต้องเลื่อนจากหน้าหนึ่งไปอีกหน้าหนึ่งภายในเอกสาร PDF คลาส LocalHyperlink ใช้เพื่อนำทางไปยังหน้าเฉพาะใน PDF ต่อไปนี้เป็นขั้นตอนในการบรรลุเป้าหมายนี้

  • สร้าง PDF ใหม่หรือโหลดไฟล์ที่มีอยู่โดยใช้คลาส Document
  • รับข้อมูลอ้างอิงของหน้าที่คุณต้องการเพิ่มไฮเปอร์ลิงก์จากคอลเล็กชัน Document.getPages()
  • สร้างอินสแตนซ์ของคลาส TextFragment เพื่อตั้งค่าข้อความของไฮเปอร์ลิงก์
  • สร้างอินสแตนซ์ของคลาส LocalHyperlink และใช้เมธอด LocalHyperlink.setTargetPageNumber() เพื่อกำหนดหมายเลขหน้าเป้าหมาย
  • กำหนดวัตถุ LocalHyperlink โดยใช้เมธอด TextFragment.setHyperlink()
  • เพิ่มข้อความในหน้าโดยใช้เมธอด Page.getParagraphs().add(TextFragment)
  • บันทึก PDF โดยใช้วิธี Document.save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มไฮเปอร์ลิงก์เพื่อไปยังหน้าเฉพาะใน PDF

// เปิดเอกสาร
Document document = new Document("input.pdf");

// รับการอ้างอิงของหน้า
Page page = document.getPages().get_Item(1);

// สร้างตัวอย่าง TextFragment
TextFragment text = new TextFragment("link page number test to page 7");

// สร้างอินสแตนซ์การเชื่อมโยงหลายมิติในเครื่อง
LocalHyperlink link = new LocalHyperlink();

// ตั้งค่าหน้าเป้าหมายสำหรับลิงค์อินสแตนซ์
link.setTargetPageNumber( 7);

// ตั้งค่าการเชื่อมโยงหลายมิติ TextFragment
text.setHyperlink(link);

// เพิ่มข้อความในคอลเลกชันย่อหน้าของหน้า
page.getParagraphs().add(text);

// บันทึกเอกสารที่อัปเดต
document.save("output.pdf");

คุณยังสามารถเรียกไฮเปอร์ลิงก์จากไฟล์ PDF และอัปเดตคุณสมบัติได้ ต่อไปนี้เป็นขั้นตอนในการดำเนินการนี้

  • สร้าง PDF ใหม่หรือโหลดไฟล์ที่มีอยู่โดยใช้คลาส Document
  • รับข้อมูลอ้างอิงของหน้าที่เป็นที่ตั้งของไฮเปอร์ลิงก์จากคอลเล็กชัน Document.getPages()
  • แยกวัตถุ LinkAnnotation ที่ต้องการตามดัชนีโดยใช้เมธอด Page.getAnnotations().getitem()
  • อัปเดตคุณสมบัติที่จำเป็นของไฮเปอร์ลิงก์และบันทึก PDF โดยใช้วิธี Document.save(String)

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีอัปเดตไฮเปอร์ลิงก์ใน PDF โดยใช้ Java

// เปิดเอกสาร
Document document = new Document("input.pdf");

// รับคำอธิบายประกอบลิงก์แรกจากหน้าแรกของเอกสาร
LinkAnnotation linkAnnot = (LinkAnnotation)document.getPages().get_Item(1).getAnnotations().get_Item(1);

// เปลี่ยนการดำเนินการเชื่อมโยงและกำหนดเป้าหมายเป็นที่อยู่เว็บ
linkAnnot.setAction(new GoToURIAction("www.aspose.com"));

// เปลี่ยนคุณสมบัติอื่นๆ ตามต้องการ

// บันทึกเอกสารที่อัปเดต
document.save("output.pdf");

Java API เพื่อเพิ่มไฮเปอร์ลิงก์ใน PDF - รับใบอนุญาตฟรี

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

บทสรุป

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

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