Создание ссылок PDF в Java

Aspose.PDF for Java использует LinkAnnotation вместе с объектом действия для определения поведения ссылки.

Создание ссылки с действием запуска

Используйте этот пример, когда аннотация ссылки должна запускать внешний файл или цель.

  1. Откройте исходный PDF в объекте Document и выберите целевую страницу.
  2. Создайте LinkAnnotation и настройте его границу и цвет.
  3. Назначьте LaunchAction и сохраните документ.
public static void createLinkAnnotationLaunchAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);

        LinkAnnotation link = new LinkAnnotation(page, new Rectangle(10, 580, 120, 600, true));
        Border border = new Border(link);
        border.setWidth(5);
        border.setDash(new Dash(1, 1));
        link.setBorder(border);
        link.setColor(Color.getGreen());
        link.setAction(new LaunchAction(document, inputFile.toString()));
        page.getAnnotations().add(link);
        document.save(outputFile.toString());
    }
}

Создание удалённой ссылки перехода

Используйте этот пример, когда ссылка должна открывать страницу в другом PDF‑документе.

  1. Откройте исходный PDF в объекте Document.
  2. Создайте LinkAnnotation на целевой странице.
  3. Назначьте GoToRemoteAction и сохраните файл вывода.
public static void createLinkAnnotationGoToRemoteAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);

        LinkAnnotation link = new LinkAnnotation(page, new Rectangle(10, 580, 120, 600, true));
        link.setColor(Color.getGreen());
        link.setAction(new GoToRemoteAction(inputFile.toString(), 1));
        page.getAnnotations().add(link);
        document.save(outputFile.toString());
    }
}

Создание внутренней ссылки перехода

Используйте этот пример, когда ссылка должна переходить на другую страницу внутри того же PDF‑документа.

  1. Откройте исходный PDF в объекте Документ.
  2. Создайте LinkAnnotation и настройте его внешний вид.
  3. Назначьте GoToAction на страницу назначения и сохраните документ.
public static void createLinkAnnotationGoToAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);

        LinkAnnotation link = new LinkAnnotation(page, new Rectangle(10, 580, 120, 600, true));
        Border border = new Border(link);
        border.setWidth(5);
        border.setDash(new Dash(1, 1));
        link.setBorder(border);
        link.setColor(Color.getGreen());
        if (document.getPages().size() >= 4) {
            link.setAction(new GoToAction(document.getPages().get_Item(4)));
        } else {
            link.setAction(new GoToAction(document.getPages().get_Item(document.getPages().size())));
        }
        page.getAnnotations().add(link);
        document.save(outputFile.toString());
    }
}

Создание URI‑ссылки

Используйте этот пример, когда ссылка должна открывать веб-ресурс через действие URI.

  1. Откройте исходный PDF в объекте Документ.
  2. Создайте LinkAnnotation на странице.
  3. Назначьте GoToURIAction и сохраните файл вывода.
public static void createLinkAnnotationGoToUriAction(Path inputFile, Path outputFile) {
    try (Document document = new Document(inputFile.toString())) {
        Page page = document.getPages().get_Item(1);

        LinkAnnotation link = new LinkAnnotation(page, new Rectangle(10, 580, 120, 600, true));
        link.setColor(Color.getGreen());
        link.setAction(new GoToURIAction("https://docs.aspose.com/pdf/python"));
        page.getAnnotations().add(link);
        document.save(outputFile.toString());
    }
}