В этой короткой статье с практическими рекомендациями вы узнаете, как извлечь ссылки из PDF в Java. Она содержит настройки IDE, список шагов и пример кода для извлечения гиперссылок из PDF в Java. Вы научитесь извлекать аннотации типа ссылки и преобразовывать их в URIAction для извлечения URI.
Шаги по извлечению URL из PDF-файла в Java
- Настройте IDE на использование Aspose.PDF for Java для извлечения ссылок
- Загрузите исходный PDF-файл file, просмотрите все страницы и создайте селектор аннотаций для страницы.
- Извлеките все аннотации со страницы и сохраните их в выбранной коллекции.
- Пройдитесь по всем аннотациям и приведите каждую аннотацию к типу GoToURIAction
- Вызовите метод getURI() для доступа к ссылке и отображения ее на консоли.
В этом руководстве показано, как извлечь все ссылки из PDF в Java. Загрузите исходный файл PDF, получите доступ к целевым страницам и создайте селектор аннотаций для каждой страницы. Вызовите метод accept() с помощью определенного селектора, извлеките список аннотаций ссылок и извлеките URI, приведя его к классу GoToURIAction.
Код для извлечения гиперссылки из PDF-файла на 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."); | |
} | |
} |
Приведенный выше код демонстрирует экстрактор ссылок PDF на Java. Вы можете пропустить или выбрать страницу, проанализировав ее содержимое с помощью объекта класса Page при итерации по страницам в PDF. Метод getAction() используется для извлечения URIAction, содержащего URI ссылки.
В этой статье мы изучили процесс извлечения гиперссылок из PDF. Чтобы создать гиперссылки в PDF, обратитесь к статье как создать гиперссылку в PDF с помощью Java.