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.
- API Java để thêm siêu liên kết trong PDF
- Thêm siêu liên kết trong một tệp PDF
- Thêm siêu liên kết cho tệp PDF bên ngoài
- Chèn siêu liên kết vào một trang cụ thể
- Cập nhật siêu liên kết trong PDF
Java API để thêm siêu liên kết trong PDF - Tải xuống miễn phí
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>
Thêm siêu liên kết trong một tệp PDF bằng Java
Sau đây là các bước để thêm siêu liên kết vào tệp PDF trong Java.
- Tạo tệp PDF mới hoặc tải tệp hiện có bằng lớp Tài liệu.
- Nhận tham chiếu của trang mà bạn muốn thêm siêu liên kết từ bộ sưu tập Document.getPages().
- Tạo một đối tượng của lớp LinkAnnotation và thiết lập các thuộc tính của nó.
- Sử dụng phương thức LinkAnnotation.setAction() để gán đối tượng GoToURIAction có chứa URL.
- Thêm siêu liên kết vào trang bằng phương pháp Page.getAnnotations(). Add().
- Lưu PDF bằng phương pháp Document.save (String).
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");
Java Thêm siêu liên kết cho một tệp PDF bên ngoài
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.
- Tạo tệp PDF mới hoặc tải tệp hiện có bằng lớp Tài liệu.
- Nhận tham chiếu của trang mà bạn muốn thêm siêu liên kết từ bộ sưu tập Document.getPages().
- Tạo một đối tượng của lớp LinkAnnotation và thiết lập các thuộc tính của nó.
- Sử dụng phương thức LinkAnnotation.setAction() để đặt hành động cho đối tượng GoToRemoteAction chứa đường dẫn đến tệp PDF bên ngoài.
- Thêm siêu liên kết vào trang bằng phương pháp Page.getAnnotations(). Add().
- Lưu PDF bằng phương pháp Document.save (String).
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");
Chèn siêu liên kết Java vào một trang PDF cụ thể
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.
- Tạo tệp PDF mới hoặc tải tệp hiện có bằng lớp Tài liệu.
- Nhận tham chiếu của trang mà bạn muốn thêm siêu liên kết từ bộ sưu tập Document.getPages().
- Tạo một thể hiện của lớp TextFragment để đặt văn bản của siêu kết nối.
- Tạo một phiên bản của lớp LocalHyperlink và sử dụng phương thức LocalHyperlink.setTargetPageNumber() để đặt số trang mục tiêu.
- Gán đối tượng LocalHyperlink bằng phương thức TextFragment.setHyperlink().
- Thêm văn bản vào trang bằng phương pháp Page.getParagraphs(). Add (TextFragment).
- Lưu PDF bằng phương pháp Document.save (String).
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");
Cập nhật Siêu liên kết trong PDF bằng Java
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.
- Tạo tệp PDF mới hoặc tải tệp hiện có bằng lớp Tài liệu.
- Nhận tham chiếu của trang có siêu kết nối từ bộ sưu tập Document.getPages().
- Trích xuất đối tượng LinkAnnotation mong muốn theo chỉ mục bằng cách sử dụng phương thức Page.getAnnotations(). Getitem().
- Cập nhật các thuộc tính cần thiết của siêu kết nối và lưu PDF bằng phương pháp Document.save (String).
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.