Получить аннотации Link в PDF-документе через Java

Создавайте собственные приложения Java для работы с комментариями и авторами в PDF-файлах с помощью собственных API.

Чтобы аннотировать PDF-файл, мы будем использовать API Aspose.PDF for Java, который представляет собой многофункциональный, мощный и простой в использовании API преобразования для платформы Java. Вы можете загрузить последнюю версию прямо с Maven и установить ее в своем проекте на базе Maven, добавив следующие конфигурации в pom.xml.

Repository

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

Dependency

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

Получить аннотацию Link через Java


Вам понадобится Aspose.PDF for Java, чтобы попробовать код в своей среде.

  • Загрузить PDF в экземпляр класса Document
  • Создайте новую страницу или получите ссылку на существующую
  • Создать аннотацию Link
  • Вызов метода Get для аннотации Link из коллекций Page.Annotations
  • Сохраните файл снова

Системные требования


Aspose.PDF для Java поддерживается во всех основных операционных системах. Просто убедитесь, что у вас есть следующие предварительные условия.

  • Microsoft Windows или совместимая ОС с Java Runtime Environment для приложений JSP/JSF и настольных приложений.
  • Среда разработки, такая как Eclipse или IntelliJ
  • Aspose.PDF для библиотеки Java, на которую ссылается ваш проект.

Получить аннотации Link из PDF - Java

Example

    public static void GetLinkAnnotations() {

        // Load the PDF file
        Document document = new Document(_dataDir + "SimpleResume_mod.pdf");

        // Filter annotations using AnnotationSelector
        Page page = document.getPages().get_Item(1);
        AnnotationSelector annotationSelector = new AnnotationSelector(
                new LinkAnnotation(page, Rectangle.getTrivial()));
        page.accept(annotationSelector);
        List<Annotation> linkAnnotations = annotationSelector.getSelected();

        // print results
        for (Annotation la : linkAnnotations) {

            LinkAnnotation l = (LinkAnnotation) la;

            // Print the URL of each Link Annotation
            System.out.println("URI: " + ((GoToURIAction) l.getAction()).getURI());

            TextAbsorber absorber = new TextAbsorber();
            absorber.getTextSearchOptions().setLimitToPageBounds(true);
            absorber.getTextSearchOptions().setRectangle(l.getRect());
            page.accept(absorber);

            String extractedText = absorber.getText();

            // Print the text associated with hyperlink
            System.out.println(extractedText);
        }
    }