Thêm hoặc cập nhật siêu liên kết trong PDF bằng Java

PDF là định dạng tài liệu phổ biến cung cấp hỗ trợ đa nền tảng với một loạt các tính năng để tạo tài liệu phong phú. Hơn nữa, nó hỗ trợ nhiều yếu tố như phương tiện, biểu mẫu, chú thích, tạo tác, v.v. Trong số các yếu tố này, các siêu liên kết được sử dụng khá thường xuyên để điều hướng trong PDF, từ PDF này sang PDF khác, để mở URL, v.v. Vì vậy trong bài viết này, bạn sẽ học cách thêm và cập nhật các siêu liên kết trong tệp PDF theo lập trình bằng Java.

Aspose.PDF dành cho Java là một API tuyệt vời để tạo và thao tác PDF. Sử dụng API, bạn có thể tạo, xử lý và chuyển đổi liền mạch các tệp PDF có bố cục đơn giản và phức tạp. Chúng tôi sẽ sử dụng API này để thêm và cập nhật các siêu liên kết trong tệp PDF. Bạn có thể tải xuống JAR của API hoặc cài đặt nó bằng cách sử dụng các cấu hình Maven sau.

Kho:

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

Sự phụ thuộc:

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

Sau đây là các bước để thêm siêu liên kết vào tệp PDF trong Java.

Mẫu mã sau đây cho thấy cách thêm siêu liên kết trong PDF trong Java.

// Mở tài liệu
Document document = new Document("input.pdf");

// Tham khảo trang
Page page = document.getPages().get_Item(1);

// Tạo đối tượng chú thích liên kết
LinkAnnotation link = new LinkAnnotation(page, new com.aspose.pdf.Rectangle(100, 100, 300, 300));

// Tạo đối tượng đường viền cho LinkAnnotation
Border border = new Border(link);

// Đặt giá trị chiều rộng đường viền là 0
border.setWidth ( 0);

// Đặt đường viền cho LinkAnnotation
link.setBorder(border);

// Chỉ định loại liên kết là URI từ xa
link.setAction( new GoToURIAction("www.aspose.com"));

// Thêm chú thích liên kết vào bộ sưu tập chú thích của trang đầu tiên của tệp PDF
page.getAnnotations().add(link);

// Lưu tài liệu cập nhật
document.save("output.pdf");

Bạn cũng có thể điều hướng đến tệp PDF bên ngoài từ tệp PDF bằng siêu liên kết. Các bước sau đây trình bày cách thêm siêu liên kết cho tệp PDF bên ngoài trong Java.

Mẫu mã sau đây cho thấy cách thêm siêu liên kết cho tệp PDF bên ngoài trong Java.

// Mở tài liệu
Document document = new Document("input.pdf");

// Tham khảo trang
Page page = document.getPages().get_Item(1);

// Tạo siêu liên kết
LinkAnnotation link = new LinkAnnotation(page, new com.aspose.pdf.Rectangle(100, 100, 300, 300));
link.setColor(Color.getGreen());

// Đặt hành động
link.setAction( new GoToRemoteAction("external.pdf", 1));

// Thêm chú thích liên kết vào bộ sưu tập chú thích của trang đầu tiên của tệp PDF
page.getAnnotations().add(link);

// Lưu tài liệu cập nhật
document.save("output.pdf");

Trong một số trường hợp nhất định, bạn phải điều hướng từ trang này sang trang khác trong tài liệu PDF. Lớp LocalHyperlink được sử dụng để điều hướng đến một trang cụ thể trong PDF. Sau đây là các bước để đạt được điều này.

Mẫu mã sau đây cho thấy cách thêm siêu liên kết để điều hướng đến một trang cụ thể trong PDF.

// Mở tài liệu
Document document = new Document("input.pdf");

// Tham khảo trang
Page page = document.getPages().get_Item(1);

// Tạo phiên bản TextFragment
TextFragment text = new TextFragment("link page number test to page 7");

// Tạo phiên bản siêu liên kết cục bộ
LocalHyperlink link = new LocalHyperlink();

// Đặt trang mục tiêu cho trường hợp liên kết
link.setTargetPageNumber( 7);

// Đặt siêu liên kết TextFragment
text.setHyperlink(link);

// Thêm văn bản vào bộ sưu tập đoạn văn của Trang
page.getParagraphs().add(text);

// Lưu tài liệu cập nhật
document.save("output.pdf");

Bạn cũng có thể truy xuất siêu kết nối từ tệp PDF và cập nhật các thuộc tính của nó. Sau đây là các bước để thực hiện thao tác này.

Mẫu mã sau đây cho thấy cách cập nhật siêu kết nối trong PDF bằng Java.

// Mở tài liệu
Document document = new Document("input.pdf");

// Nhận chú thích liên kết đầu tiên từ trang đầu tiên của tài liệu
LinkAnnotation linkAnnot = (LinkAnnotation)document.getPages().get_Item(1).getAnnotations().get_Item(1);

// Thay đổi hành động liên kết và đặt mục tiêu làm địa chỉ web
linkAnnot.setAction(new GoToURIAction("www.aspose.com"));

// Thay đổi các thuộc tính khác theo yêu cầu

// Lưu tài liệu cập nhật
document.save("output.pdf");

Java API để thêm siêu liên kết trong PDF - Nhận giấy phép miễn phí

Bạn có thể nhận giấy phép tạm thời miễn phí để sử dụng Aspose.PDF for Java mà không có giới hạn đánh giá.

Sự kết luận

Trong bài viết này, bạn đã học cách thêm các loại siêu liên kết khác nhau trong tệp PDF bằng Java. Hơn nữa, bạn đã thấy cách truy xuất các siêu liên kết từ các tệp PDF hiện có và cập nhật các thuộc tính của chúng theo chương trình. Ngoài ra, bạn có thể khám phá thêm về Java PDF API bằng cách sử dụng tài liệu. Trong trường hợp bạn có bất kỳ câu hỏi hoặc thắc mắc nào, bạn có thể liên hệ với chúng tôi qua diễn đàn của chúng tôi.

Xem thêm