Aspose.PDF FOSS for Python é uma biblioteca de código aberto para criar, ler, editar, renderizar e validar documentos PDF. Construída para Python 3.11 e posteriores, ela fornece informações de tipo e se integra a qualquer projeto Python (consulte a seção de instalação abaixo). O projeto está atualmente em alfa, portanto as APIs e a cobertura de recursos continuam evoluindo antes da primeira versão estável.
A classe Document é o ponto de entrada central, expondo pages, form, outlines,
e tagged_content para edição estrutural juntamente com as operações encrypt, decrypt, merge,
optimize e flatten. Texto é adicionado com Page.add_text() e extraído
ou pesquisado com PdfExtractor e TextFragmentAbsorber, incluindo substituição e redação baseadas em frases e
expressões regulares. Páginas são renderizadas para imagens raster PNG ou TIFF através
Page.render() e Page.save_as_image(). Campos AcroForm interativos são criados e
preenchidos através de Form e Field, e documentos podem ser verificados ou convertidos para
conformidade PDF/A e PDF/UA com Document.validate_pdfa(), Document.convert_to_pdfa(),
e Document.auto_tag().
Aspose.PDF FOSS for Python é lançado sob a licença MIT sem taxas de execução ou
restrições de uso. O pacote central depende apenas de cryptography e asn1crypto,
com extras opcionais para suporte a imagens baseado em Pillow, decodificação WOFF2 baseada em Brotli, e
layout de texto complexo baseado em HarfBuzz. Para recursos empresariais e suporte, veja
Aspose.PDF for Python — Enterprise Product.
DocumentPageCollection exposta como document.pagesPage.add_text()Page.add_image()Page.draw_rectangle() e Page.draw_line()PdfExtractor e get_text()has_next_page_text() e get_next_page_text()TextFragmentAbsorberDocument.replace_text()Document.redact_text(), opcionalmente desenhando uma barra de sobreposiçãoPage.render()Page.save_as_image()Document.save_page_as_image()dpi e a qualidade das bordas com antialiasRasterizedPage retornadoDocument.formForm.add_text_field()Form.add_checkbox() e Form.add_radio_group()Form.add_list_box() e Form.add_combo_box()Field.value, então achate com Document.flatten()Document.encrypt() usando senhas de usuário e proprietárioDocument.change_passwords() e Document.decrypt()PdfSignature.validate()PdfLoadLimits configurávelValidationResultDocument.validate_pdfa()Document.convert_to_pdfa()Document.validate_pdfua()Document.auto_tag()Document.tagged_contentCrie um novo documento PDF e adicione texto posicionado a uma página em poucas linhas.
git clone https://github.com/aspose-pdf-foss/Aspose-PDF-FOSS-for-Python.git
cd Aspose-PDF-FOSS-for-Python
pip install -e .from aspose_pdf import Document
with Document() as document:
page = document.pages.add()
page.add_text(
"Hello from Aspose.PDF FOSS!",
x=72,
y=720,
font_size=18,
)
document.save("hello.pdf")
Carregue um PDF existente e salve sua primeira página como uma imagem raster em um DPI configurável.
from aspose_pdf import Document
with Document() as document:
document.load_from("input.pdf")
document.pages[0].save_as_image("page-1.png", dpi=144)
Vincule um documento e extraia todo o texto de suas páginas com a fachada do extrator.
from aspose_pdf import PdfExtractor
with PdfExtractor() as extractor:
extractor.bind_pdf("input.pdf")
extractor.extract_text()
print(extractor.get_text())
Concatene vários arquivos PDF em um único documento de saída.
from aspose_pdf import PdfFileEditor
with PdfFileEditor() as editor:
if not editor.concatenate(["part-1.pdf", "part-2.pdf"], "merged.pdf"):
raise RuntimeError(editor.last_exception)