Criar links PDF em Python

De acordo com a especificação PDF 1.7 (ISO 32000-1:2008), uma Link annotation pode acionar vários tipos de ações que definem o que acontece quando a anotação é ativada. Aqui estão as principais ações suportadas:

  1. GoTo – Navega para um destino dentro do mesmo documento.
  2. GoToR – Salta para um destino em outro arquivo PDF (go-to remoto).
  3. URI – Abre um identificador uniforme de recurso, normalmente um link da web.
  4. Launch – Lança um aplicativo ou abre um arquivo (dependente da plataforma e frequentemente restrito por questões de segurança).
  5. Named – Executa uma ação predefinida, como ir para a próxima página ou imprimir o documento.
  6. JavaScript – Executa código JavaScript incorporado (usado com cautela devido a preocupações de segurança).
  7. SubmitForm – Envia os dados do formulário para um URL especificado.
  8. ResetForm – Reseta os campos do formulário para seus valores padrão.
  9. ImportData – Importa dados para o documento a partir de um arquivo externo.

Ao adicionar um link para um aplicativo em um documento, é possível vincular aplicativos a partir de um documento. Isso é útil quando você deseja que os leitores realizem uma certa ação em um ponto específico de um tutorial, por exemplo, ou para criar um documento rico em recursos.

Para criar um link de aplicativo com ‘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)

Usando GoToRemoteAction

Este trecho de código demonstra como adicionar uma anotação de link a uma página específica de um documento PDF usando uma biblioteca PDF para Python.

  1. Abrir o documento PDF
  2. Selecione a segunda página do documento (índice 1)
  3. Criar uma anotação de link:
  4. Posicionado nas coordenadas (10, 580, 120, 600)
  5. Colorido em verde
  6. Links para ‘sample.pdf’ na sua primeira página
  7. Adicionar a anotação de link à página
  8. Salvar o documento modificado no caminho do arquivo de saída

Para criar um link de documento PDF usando ‘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)

Usando GoToAction

Este código demonstra como adicionar uma anotação de link a uma página específica de um documento PDF usando Aspose.PDF for Python. O link aparece como um retângulo verde com borda tracejada e permite ao usuário navegar para outra página dentro do mesmo PDF. Para criar um link de documento PDF usando ‘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)

Aplicando GoToURIAction

O próximo exemplo demonstra como adicionar uma anotação de link a um documento PDF usando Aspose.PDF for Python. O link aparece como uma área verde clicável na primeira página e, quando clicado, abre a documentação do Aspose.PDF for Python em um navegador da web via uma GoToURIAction.

Essa funcionalidade é útil para incorporar referências externas úteis, documentação ou links de suporte diretamente em seus PDFs.

  1. Carregue o Documento PDF. Abra o arquivo PDF existente usando ap.Document.
  2. Acesse a Primeira Página. Use document.pages[1] para acessar a primeira página (Aspose usa indexação baseada em 1).
  3. Crie uma Anotação de Link. Crie um objeto LinkAnnotation e especifique a área retangular clicável usando ap.Rectangle.
  4. Defina a aparência da anotação. Defina a cor da anotação para verde usando link.color = ap.Color.green.
  5. Atribua uma ação URI. Use GoToURIAction para vincular a anotação a um URL externo.
  6. Adicione a anotação à página. Anexe a anotação de link configurada à coleção de anotações da primeira página.
  7. Salve o documento modificado. Salve o documento PDF atualizado no caminho de saída especificado.
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)