Importar e Exportar Anotações usando Python
Este artigo mostra como importar anotações de um PDF existente e exportá‑las para um novo documento PDF usando Aspose.PDF for Python via .NET.
O exemplo lê anotações da primeira página de um arquivo de origem, cria um novo PDF, adiciona uma página em branco e copia cada anotação para essa nova página. Essa abordagem é útil quando você precisa mover comentários, marcações ou notas de revisão para um documento de saída separado.
Carregue o PDF de origem
Criar um Document objeto para o arquivo de entrada que já contém anotações. Este objeto fornece acesso à coleção de páginas e às anotações armazenadas em cada página.
source_document = ap.Document(infile)
Criar o PDF de destino
Em seguida, crie um documento PDF vazio que receberá as anotações importadas. Nesta fase, o documento de destino não contém nenhuma página.
destination_document = ap.Document()
Adicionar uma página para anotações exportadas
Como as anotações devem pertencer a uma página, adicione uma nova página ao documento de destino antes de copiar qualquer coisa.
page = destination_document.pages.add()
Copiar anotações da página de origem
Itere através da coleção de anotações na primeira página do PDF de origem e adicione cada anotação à nova página no documento de destino.
O segundo argumento em page.annotations.add(annot, True) diz ao Aspose.PDF para copiar a anotação na página de destino em vez de apenas reutilizar a referência ao objeto existente.
for annot in source_document.pages[1].annotations:
page.annotations.add(annot, True)
Salvar o documento de saída
Depois que todas as anotações foram copiadas, salve o documento de destino para criar o arquivo PDF final.
destination_document.save(outfile)
Exemplo completo
O código a seguir combina todas as etapas em uma função reutilizável:
import sys
import aspose.pdf as ap
from os import path
sys.path.append(path.join(path.dirname(__file__), ".."))
from config import set_license, initialize_data_dir
def import_export(infile, outfile):
"""
Import annotations from one PDF document and export them to a new PDF document.
"""
source_document = ap.Document(infile)
destination_document = ap.Document()
page = destination_document.pages.add()
for annot in source_document.pages[1].annotations:
page.annotations.add(annot, True)
destination_document.save(outfile)