Extrair Links
Contents
[
Hide
]
Os PDFs frequentemente contêm elementos interativos, como links da web, links de documento e ações personalizadas. Usando PdfContentEditor, você pode extrair programaticamente todas as anotações de link de um PDF. Isso permite que você inspecione ou processe os links, por exemplo, para validar URLs ou analisar padrões de navegação em um documento.
- Crie uma instância de PdfContentEditor.
- Vincule o documento PDF de entrada.
- Extrair todos os links usando ’extract_link()'.
- Iterar pelos links extraídos.
- Verificar se um link é um LinkAnnotation e se sua ação é um GoToURIAction.
- Imprimir as coordenadas do retângulo e a URI.
- Exibir uma mensagem se nenhum link for encontrado.
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")