Извлечение ссылок
Contents
[
Hide
]
PDF часто содержат интерактивные элементы, такие как веб‑ссылки, ссылки на документы и пользовательские действия. Используя PdfContentEditor, вы можете программно извлекать все аннотации ссылок из PDF. Это позволяет проверять или обрабатывать ссылки, например, для валидации URL‑адресов или анализа схем навигации в документе.
- Создайте экземпляр PdfContentEditor.
- Привяжите входной PDF‑документ.
- Извлеките все ссылки, используя ’extract_link()'.
- Переберите извлечённые ссылки.
- Проверьте, является ли ссылка LinkAnnotation и является ли её действие GoToURIAction.
- Выведите координаты прямоугольника и URI.
- Отобразите сообщение, если ссылки не найдены.
import aspose.pdf.facades as pdf_facades
from aspose.pycore import cast, is_assignable
import aspose.pydrawing as apd
import aspose.pdf as ap
import sys
from os import path
sys.path.append(path.join(path.dirname(__file__), ".."))
from config import set_license, initialize_data_dir
def extract_links(infile):
# Create PdfContentEditor object
content_editor = pdf_facades.PdfContentEditor()
# Bind document to PdfContentEditor
content_editor.bind_pdf(infile)
# Extract links from the document
links = content_editor.extract_link()
count = 0
for link in links:
count += 1
print(f"Link {count}: {link.rect}")
if is_assignable(link, ap.annotations.LinkAnnotation):
annotation = cast(ap.annotations.LinkAnnotation, link)
if is_assignable(annotation.action, ap.annotations.GoToURIAction):
action = cast(ap.annotations.GoToURIAction, annotation.action)
print(f" URI: {action.uri}")
if count == 0:
print("No links found")