Добавить или обновить гиперссылки в PDF с помощью Java

PDF — это популярный формат документов, обеспечивающий кросс-платформенную поддержку с рядом функций для создания многофункциональных документов. Кроме того, он поддерживает различные элементы, такие как мультимедиа, формы, аннотации, артефакты и т. д. Среди этих элементов гиперссылки довольно часто используются для навигации по PDF-файлу, от одного PDF-файла к другому, для открытия URL-адреса и т. д. Таким образом, в этой статье вы узнаете, как программно добавлять и обновлять гиперссылки в файлах PDF на Java.

Aspose.PDF for Java — это потрясающий API для создания PDF-файлов и управления ими. Используя API, вы можете легко создавать, обрабатывать и конвертировать PDF-файлы с простыми и сложными макетами. Мы будем использовать этот API для добавления и обновления гиперссылок в файлах PDF. Вы можете скачать JAR-файл API или установить его, используя следующие конфигурации Maven.

Репозиторий:

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

Зависимость:

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

Ниже приведены шаги для добавления гиперссылки в файл PDF в Java.

  • Создайте новый PDF-файл или загрузите существующий, используя класс Document.
  • Получите ссылку на страницу, на которую вы хотите добавить гиперссылку из коллекции Document.getPages().
  • Создайте объект класса LinkAnnotation и задайте его свойства.
  • Используйте метод LinkAnnotation.setAction(), чтобы назначить объект GoToURIAction, содержащий URL.
  • Добавьте гиперссылку на страницу с помощью метода Page.getAnnotations().add().
  • Сохраните PDF, используя метод Document.save(String).

В следующем примере кода показано, как добавить гиперссылку в PDF на Java.

// Открыть документ
Document document = new Document("input.pdf");

// Получить ссылку на страницу
Page page = document.getPages().get_Item(1);

// Создать объект аннотации «Ссылка»
LinkAnnotation link = new LinkAnnotation(page, new com.aspose.pdf.Rectangle(100, 100, 300, 300));

// Создайте объект границы для LinkAnnotation
Border border = new Border(link);

// Установите значение ширины границы как 0
border.setWidth ( 0);

// Установите границу для LinkAnnotation
link.setBorder(border);

// Укажите тип ссылки как удаленный URI
link.setAction( new GoToURIAction("www.aspose.com"));

// Добавить аннотацию ссылки в коллекцию аннотаций первой страницы PDF-файла
page.getAnnotations().add(link);

// Сохранить обновленный документ
document.save("output.pdf");

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

  • Создайте новый PDF-файл или загрузите существующий, используя класс Document.
  • Получите ссылку на страницу, на которую вы хотите добавить гиперссылку из коллекции Document.getPages().
  • Создайте объект класса LinkAnnotation и задайте его свойства.
  • Используйте метод LinkAnnotation.setAction(), чтобы установить действие для объекта GoToRemoteAction, содержащего путь к внешнему PDF.
  • Добавьте гиперссылку на страницу с помощью метода Page.getAnnotations().add().
  • Сохраните PDF, используя метод Document.save(String).

В следующем примере кода показано, как добавить гиперссылку для внешнего PDF-файла в Java.

// Открыть документ
Document document = new Document("input.pdf");

// Получить ссылку на страницу
Page page = document.getPages().get_Item(1);

// Создать гиперссылку
LinkAnnotation link = new LinkAnnotation(page, new com.aspose.pdf.Rectangle(100, 100, 300, 300));
link.setColor(Color.getGreen());

// Установить действие
link.setAction( new GoToRemoteAction("external.pdf", 1));

// Добавить аннотацию ссылки в коллекцию аннотаций первой страницы PDF-файла
page.getAnnotations().add(link);

// Сохранить обновленный документ
document.save("output.pdf");

В некоторых случаях вам необходимо переходить с одной страницы на другую в документе PDF. Класс LocalHyperlink используется для перехода к определенной странице в PDF-файле. Ниже приведены шаги для достижения этого.

  • Создайте новый PDF-файл или загрузите существующий, используя класс Document.
  • Получите ссылку на страницу, на которую вы хотите добавить гиперссылку из коллекции Document.getPages().
  • Создайте экземпляр класса TextFragment, чтобы задать текст гиперссылки.
  • Создайте экземпляр класса LocalHyperlink и используйте метод LocalHyperlink.setTargetPageNumber() для установки номера целевой страницы.
  • Назначьте объект LocalHyperlink с помощью метода TextFragment.setHyperlink().
  • Добавьте текст на страницу с помощью метода Page.getParagraphs().add(TextFragment).
  • Сохраните PDF, используя метод Document.save(String).

В следующем примере кода показано, как добавить гиперссылку для перехода на определенную страницу в PDF.

// Открыть документ
Document document = new Document("input.pdf");

// Получить ссылку на страницу
Page page = document.getPages().get_Item(1);

// Создать экземпляр TextFragment
TextFragment text = new TextFragment("link page number test to page 7");

// Создать локальный экземпляр гиперссылки
LocalHyperlink link = new LocalHyperlink();

// Установить целевую страницу для экземпляра ссылки
link.setTargetPageNumber( 7);

// Установить гиперссылку TextFragment
text.setHyperlink(link);

// Добавить текст в коллекцию абзацев страницы
page.getParagraphs().add(text);

// Сохранить обновленный документ
document.save("output.pdf");

Вы также можете получить гиперссылку из файла PDF и обновить ее свойства. Ниже приведены шаги для выполнения этой операции.

  • Создайте новый PDF-файл или загрузите существующий, используя класс Document.
  • Получить ссылку на страницу, на которой находится гиперссылка, из коллекции Document.getPages().
  • Извлеките нужный объект LinkAnnotation по индексу, используя метод Page.getAnnotations().getitem().
  • Обновите необходимые свойства гиперссылки и сохраните PDF с помощью метода Document.save(String).

В следующем примере кода показано, как обновить гиперссылку в PDF с помощью Java.

// Открыть документ
Document document = new Document("input.pdf");

// Получить аннотацию первой ссылки с первой страницы документа
LinkAnnotation linkAnnot = (LinkAnnotation)document.getPages().get_Item(1).getAnnotations().get_Item(1);

// Изменить действие ссылки и установить цель как веб-адрес
linkAnnot.setAction(new GoToURIAction("www.aspose.com"));

// При необходимости измените другие свойства

// Сохранить обновленный документ
document.save("output.pdf");

Java API для добавления гиперссылок в PDF — получите бесплатную лицензию

Вы можете получить бесплатную временную лицензию, чтобы использовать Aspose.PDF для Java без ограничений на пробную версию.

Вывод

В этой статье вы узнали, как добавлять различные типы гиперссылок в файлы PDF с помощью Java. Кроме того, вы увидели, как извлекать гиперссылки из существующих PDF-файлов и программно обновлять их свойства. Кроме того, вы можете узнать больше о Java PDF API, используя документацию. Если у вас возникнут какие-либо вопросы или вопросы, вы можете связаться с нами через наш форум.

Смотрите также