Extraire les liens
Contents
[
Hide
]
Les PDF contiennent souvent des éléments interactifs tels que des liens web, des liens de document et des actions personnalisées. En utilisant PdfContentEditor, vous pouvez extraire programmétiquement toutes les annotations de lien d’un PDF. Cela vous permet d’inspecter ou de traiter les liens, par exemple pour valider les URL ou analyser les schémas de navigation dans un document.
- Créer une instance de PdfContentEditor.
- Lier le document PDF d’entrée.
- Extraire tous les liens en utilisant ’extract_link()'.
- Itérer à travers les liens extraits.
- Vérifier si un lien est une LinkAnnotation et si son action est une GoToURIAction.
- Afficher les coordonnées du rectangle et l’URI.
- Afficher un message si aucun lien n’est trouvé.
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")