Trong bài viết hướng dẫn ngắn này, bạn sẽ học cách trích xuất liên kết từ PDF trong Java. Bài viết này chứa các thiết lập IDE, danh sách các bước và mã mẫu để trích xuất siêu liên kết từ PDF trong Java. Bạn sẽ học cách lấy chú thích loại liên kết và chuyển đổi chúng thành URIAction để lấy URI.
Các bước trích xuất URL từ PDF trong Java
- Đặt IDE để sử dụng Aspose.PDF for Java để trích xuất liên kết
- Tải tệp PDF nguồn file, lặp lại tất cả các trang và tạo bộ chọn chú thích cho trang
- Trích xuất tất cả các chú thích từ trang và lưu chúng vào bộ sưu tập Đã chọn
- Lặp lại tất cả các chú thích và chuyển kiểu từng chú thích thành GoToURIAction
- Gọi phương thức getURI() để truy cập liên kết và hiển thị nó trên bảng điều khiển
Hướng dẫn này đã chỉ ra cách trích xuất tất cả các liên kết từ PDF trong Java. Tải tệp PDF nguồn, truy cập các trang đích và tạo bộ chọn chú thích cho từng trang. Gọi phương thức accept() bằng bộ chọn đã xác định, lấy danh sách chú thích liên kết và lấy URI bằng cách ép kiểu thành lớp GoToURIAction.
Mã để trích xuất siêu liên kết từ PDF trong Java
import com.aspose.pdf.*; | |
import java.util.List; | |
public class Main { | |
public static void main(String[] args) throws Exception {//main() method for fetching URI | |
License license = new License();//Initialize the PDF license | |
license.setLicense("license.lic");//Apply the license | |
Document pdfDocument = new Document("PdfWithLinks.pdf");// Load hyperlinks PDF | |
// Iterate all the pages | |
for (int pageNumber = 1; pageNumber <= pdfDocument.getPages().size(); pageNumber++) { | |
System.out.println("Processing Page " + pageNumber);// Display the current page number | |
Page pdfPage = pdfDocument.getPages().get_Item(pageNumber);// Get the current page | |
// Create an annotation selector to find link annotations on the page | |
AnnotationSelector linkSelector = new AnnotationSelector(new LinkAnnotation(pdfPage, Rectangle.getTrivial())); | |
// Extract all annotations from the current page | |
pdfPage.accept(linkSelector); | |
// Retrieve the list of selected link annotations | |
List<Annotation> linkAnnotations = linkSelector.getSelected(); | |
// Iterate through each link annotation | |
for (Annotation annotation : linkAnnotations) { | |
// Check if the annotation is a LinkAnnotation and has actions | |
if (annotation instanceof LinkAnnotation) { | |
LinkAnnotation linkAnnotation = (LinkAnnotation) annotation; | |
// Check if the LinkAnnotation has any associated actions | |
if (linkAnnotation.getAction() instanceof GoToURIAction) { | |
// Cast the action to a GoToURIAction to access the URI | |
GoToURIAction uriAction = (GoToURIAction) linkAnnotation.getAction(); | |
// Display the extracted URI | |
System.out.println("Found URI: " + uriAction.getURI()); | |
} | |
} | |
} | |
} | |
// Indicate that the process is complete | |
System.out.println("URI extraction completed."); | |
} | |
} |
Mã trên đã chứng minh một trình trích xuất liên kết PDF trong Java. Bạn có thể bỏ qua hoặc chọn một trang bằng cách phân tích nội dung của nó bằng đối tượng lớp Page trong khi lặp qua các trang trong PDF. Phương thức getAction() được sử dụng để lấy URIAction chứa URI của liên kết.
Trong bài viết này, chúng ta đã tìm hiểu quy trình lấy siêu liên kết từ PDF. Để tạo siêu liên kết trong PDF, hãy tham khảo bài viết về cách tạo siêu liên kết trong PDF bằng Java.