Biblioteca de Anotações PDF Python de Código Aberto
Experimente esta biblioteca Python gratuita e de código aberto para adicionar e extrair anotações de documentos PDF.
O que é pypdf?
Pypdf é uma biblioteca python gratuita e de código aberto conhecida por seu conjunto diversificado de recursos para lidar com documentos PDF em ambiente python. Esta ferramenta é útil para várias manipulações de PDF, mas vamos nos concentrar em seus recursos relacionados a anotações nesta análise.
Os recursos notáveis do pypdf relacionados às anotações incluem:
- Adicionando anotações de formas: podemos desenhar formas como linhas, retângulos, elipses e polígonos etc. em áreas específicas de páginas PDF como anotações.
- Adicionando anotações de texto: podemos adicionar anotações de texto em posições específicas de páginas PDF.
- Adicionando anotações de link: também é possível adicionar anotações de link (como um hiperlink) a documentos PDF.
- Extração de anotações: Podemos iterar e extrair informações sobre todas as anotações em um documento PDF usando a biblioteca pypdf.
Introdução ao pypdf
Você precisa do Python versão 3.6.0 ou superior para instalar e usar o pypdf. Então, primeiro instale o Python e então use os comandos abaixo para instalar o pypdf na sua máquina usando pip e ambiente virtual.
Linux
python3 -m venv venv
source venv/bin/activate
pip install pypdf
Mac OS
python -m venv venv
source venv/bin/activate
pip install pypdf
Windows
python3 -m venv venv
venv\Scripts\activate.bat
pip install pypdf
Adicionar anotação retangular ao PDF
Podemos adicionar anotações retangulares a documentos PDF usando a biblioteca pypdf. Usaremos a classe Rectangle do módulo pypdf.annotations da biblioteca pypdf para definir o retângulo. Então usaremos o método add_annotations da classe PDFWriter para adicionar anotações retangulares ao PDF.
Confira o trecho de código abaixo para mais detalhes:
Saída
Na captura de tela abaixo, você pode ver que o retângulo foi adicionado para anotar a palavra Open Source:
Adicionar anotação de texto ao PDF
Criamos anotações de texto usando a classe Text do módulo pypdf.annotations da biblioteca pypdf. Depois disso, podemos usar o método add_annotations da classe PDFWriter da biblioteca pypdf para adicionar anotações ao PDF. A anotação de texto é adicionada como um ícone que se expande e mostra o texto quando o ícone é clicado. Verifique o trecho de código abaixo para obter os detalhes:
Saída
Como podemos ver na tela abaixo, o código acima adiciona um ícone ao PDF na posição especificada, que mostra a anotação de texto quando o ícone é clicado:
Adicionar anotação de link ao PDF
Anotações de link são criadas usando a classe Link do módulo pypdf.annotations. No entanto, o problema com a anotação de link é que ela apenas adiciona o link, mas ele não fica visível. Para resolver esse problema, incorporaremos um retângulo usando a classe Rectangle do módulo pypdf.annotations, conforme explicamos anteriormente. Dessa forma, o usuário pode identificar visualmente o local onde a anotação de link é adicionada. Verifique o trecho de código abaixo para melhor compreensão:
Saída
Como podemos ver na saída, o retângulo serve como uma área que, quando clicada, redireciona o usuário para o link especificado.
Extrair Anotações de PDF
Podemos extrair anotações de um PDF usando a biblioteca pypdf. Iteramos por todas as anotações nas páginas do PDF e então usamos o método get_object para obter o objeto de anotação. Então extraímos informações relevantes do objeto. Verifique o snippet de código abaixo para obter os detalhes:
Saída
Como podemos ver na captura de tela abaixo, o programa retornou o tipo de anotação e as coordenadas das anotações no documento PDF:
Conclusão
O Pypdf permite que desenvolvedores Python adicionem diferentes tipos de anotações a PDFs e acessem informações essenciais sobre anotações, como seu tipo e localização, tornando-o uma escolha prática para tarefas que exigem adicionar anotações e extrair dados sobre anotações.