Создать ссылки PDF в Python
Ссылки в PDF‑документах
Согласно спецификации PDF 1.7 (ISO 32000-1:2008), Link annotation может инициировать несколько типов действий, определяющих, что происходит при активации аннотации. Ниже перечислены поддерживаемые основные действия:
- GoTo – Переходит к месту назначения в том же документе.
- GoToR – Переходит к месту назначения в другом PDF‑файле (удалённый переход).
- URI – Открывает универсальный идентификатор ресурса, как правило, веб‑ссылку.
- Launch – Запускает приложение или открывает файл (зависит от платформы и часто ограничено по соображениям безопасности).
- Named – Выполняет предопределённое действие, например переход к следующей странице или печать документа.
- JavaScript – Выполняет встроенный код JavaScript (используется с осторожностью из‑за проблем безопасности).
- SubmitForm – Отправляет данные формы на указанный URL.
- ResetForm – Сбрасывает поля формы до их значений по умолчанию.
- ImportData – Импортирует данные в документ из внешнего файла.
Добавив ссылку на приложение в документ, можно создавать ссылки на приложения из документа. Это полезно, когда вы хотите, чтобы читатели выполнили определённое действие в конкретном месте руководства, например, или создали документ с расширенными возможностями.
Чтобы создать ссылку на приложение с ‘LaunchAction’:
import aspose.pdf as ap
from os import path
import sys
def create_link_annotation_launch_action(infile, outfile):
document = ap.Document(infile)
page = document.pages[1]
link = ap.annotations.LinkAnnotation(page, ap.Rectangle(10, 580, 120, 600, True))
border = ap.annotations.Border(link)
border.width = 5
border.dash = ap.annotations.Dash(1, 1)
link.color = ap.Color.green
link.action = ap.annotations.LaunchAction(document, "sample.pdf")
page.annotations.append(link)
document.save(outfile)
Создание ссылку на документ PDF в PDF‑файле
Использование GoToRemoteAction
Этот фрагмент кода демонстрирует, как добавить аннотацию ссылки на конкретную страницу PDF‑документа с использованием библиотеки PDF для Python.
- Откройте PDF‑документ
- Выберите вторую страницу документа (индекс 1)
- Создайте аннотацию ссылки:
- Размещено в координатах (10, 580, 120, 600)
- Окрашен в зеленый
- Ссылается на ‘sample.pdf’ на первой странице
- Добавьте аннотацию ссылки на страницу
- Сохраните измененный документ по пути выходного файла
Чтобы создать ссылку на PDF‑документ, используя ‘GoToRemoteAction’:
import aspose.pdf as ap
from os import path
import sys
def create_link_annotation_go_to_remote_action(infile, outfile):
document = ap.Document(infile)
page = document.pages[1]
link = ap.annotations.LinkAnnotation(page, ap.Rectangle(10, 580, 120, 600, True))
link.color = ap.Color.green
link.action = ap.annotations.GoToRemoteAction("sample.pdf", 1)
page.annotations.append(link)
document.save(outfile)
Использование GoToAction
Этот код демонстрирует, как добавить аннотацию ссылки на конкретную страницу PDF‑документа с использованием Aspose.PDF for Python. Ссылка отображается в виде зеленого прямоугольника с пунктирной рамкой и позволяет пользователю переходить на другую страницу внутри того же PDF. Чтобы создать ссылку в PDF‑документе с использованием ‘GoToAction’:
import aspose.pdf as ap
from os import path
import sys
def create_link_annotation_go_to_action(infile, outfile):
document = ap.Document(infile)
page = document.pages[1]
link = ap.annotations.LinkAnnotation(page, ap.Rectangle(10, 580, 120, 600, True))
border = ap.annotations.Border(link)
border.width = 5
border.dash = ap.annotations.Dash(1, 1)
link.color = ap.Color.green
if document.pages.length >= 4:
link.action = ap.annotations.GoToAction(document.pages[4])
else:
link.action = ap.annotations.GoToAction(document.pages[document.pages.length])
page.annotations.append(link)
document.save(outfile)
Применение GoToURIAction
Следующий пример демонстрирует, как добавить аннотацию ссылки в PDF-документ с помощью Aspose.PDF for Python. Ссылка отображается как зеленая кликабельная область на первой странице, и при нажатии открывает документацию Aspose.PDF for Python в веб-браузере через GoToURIAction.
Эта функция полезна для встраивания полезных внешних ссылок, документации или ссылок на поддержку непосредственно в ваши PDF-файлы.
- Загрузите PDF‑документ. Откройте существующий PDF‑файл, используя ap.Document.
- Получите доступ к первой странице. Используйте document.pages[1] для доступа к первой странице (Aspose использует индексацию, начинающуюся с 1).
- Создайте аннотацию ссылки. Создайте объект LinkAnnotation и укажите кликабельную прямоугольную область с помощью ap.Rectangle.
- Установите внешний вид аннотации. Установить цвет аннотации на зеленый, используя link.color = ap.Color.green.
- Назначьте действие URI. Использовать GoToURIAction, чтобы связать аннотацию с внешним URL.
- Добавьте аннотацию на страницу. Добавить настроенную ссылочную аннотацию в коллекцию аннотаций первой страницы.
- Сохраните измененный документ. Сохранить обновленный PDF‑документ по указанному пути вывода.
import aspose.pdf as ap
from os import path
import sys
def create_link_annotation_go_to_URI_action(infile, outfile):
document = ap.Document(infile)
page = document.pages[1]
link = ap.annotations.LinkAnnotation(page, ap.Rectangle(10, 580, 120, 600, True))
link.color = ap.Color.green
link.action = ap.annotations.GoToURIAction("https://docs.aspose.com/pdf/python")
page.annotations.append(link)
document.save(outfile)