1. Produtos
  2.   Aspose.PDF
  3.   Aspose.PDF FOSS for Python

Aspose.PDF FOSS para Python

Biblioteca Python de código aberto para criar, ler, editar, renderizar e validar documentos PDF — licenciada sob MIT sem taxas de tempo de execução.

Aspose.PDF FOSS — Biblioteca PDF Python de Código Aberto

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.

Operações de Documento e Página

  • Crie, carregue, salve e mescle PDFs através de Document
  • Gerencie páginas com a mutável PageCollection exposta como document.pages
  • Adicione texto posicionado Standard-14 ou Unicode incorporado com Page.add_text()
  • Coloque imagens brutas, JPEG ou PNG nas páginas com Page.add_image()
  • Desenhe formas vetoriais com Page.draw_rectangle() e Page.draw_line()

Cenários práticos

  • Gerar faturas, certificados e relatórios programaticamente
  • Produzir documentos em lote a partir de um modelo compartilhado
  • Montar relatórios de várias páginas a partir de seções geradas
  • Criar PDFs totalmente na memória dentro de um serviço web

Extração de Texto e Pesquisa

  • Extraia todo o texto da página com PdfExtractor e get_text()
  • Itere o texto página por página com has_next_page_text() e get_next_page_text()
  • Pesquise frases exatas e padrões regex com TextFragmentAbsorber
  • Substitua o texto correspondido com Document.replace_text()
  • Redija o texto correspondido com Document.redact_text(), opcionalmente desenhando uma barra de sobreposição

Cenários práticos

  • Criar índices de pesquisa em texto completo sobre arquivos de documentos
  • Redigir informações de identificação pessoal antes de compartilhar
  • Encontrar e substituir texto padrão em contratos modelados
  • Auditar documentos recebidos em busca de termos sensíveis

Renderização de página em imagens

  • Renderize uma página para um raster RGB sem dependências com Page.render()
  • Salve a saída renderizada como PNG ou TIFF via Page.save_as_image()
  • Renderize em lote documentos inteiros com Document.save_page_as_image()
  • Controle a resolução com o parâmetro dpi e a qualidade das bordas com antialias
  • Leia os dados brutos de pixels do RasterizedPage retornado

Cenários práticos

  • Gerar miniaturas de página para uma biblioteca de gerenciamento de documentos
  • Produzir provas TIFF prontas para impressão a partir de layouts finalizados
  • Construir galerias de pré-visualização de páginas para um visualizador de documentos
  • Converter arquivos PDF legados em formatos de visualização baseados em imagem

Formulários e Campos Interativos

  • Leia e itere os campos AcroForm através de Document.form
  • Crie campos de texto com Form.add_text_field()
  • Crie caixas de seleção e grupos de rádio com Form.add_checkbox() e Form.add_radio_group()
  • Crie caixas de lista e combo com Form.add_list_box() e Form.add_combo_box()
  • Defina valores pelo nome do campo através de Field.value, então achate com Document.flatten()

Cenários práticos

  • Automatizar pipelines de preenchimento de faturas e contratos
  • Pré-preencher modelos de aplicação antes da distribuição
  • Arquivar formulários preenchidos como PDFs não editáveis de conteúdo estático
  • Extrair valores de campos enviados para processamento subsequente

Segurança, Criptografia e Assinaturas

  • Criptografar documentos com Document.encrypt() usando senhas de usuário e proprietário
  • Alterar ou limpar senhas com Document.change_passwords() e Document.decrypt()
  • Validar assinaturas digitais incorporadas com PdfSignature.validate()
  • Restringir entrada não confiável com PdfLoadLimits configurável
  • Inspecionar assinante, confiança e status de revogação através de ValidationResult

Cenários práticos

  • Proteger relatórios confidenciais com senhas por destinatário
  • Verificar contratos assinados antes do arquivamento
  • Fortalecer um pipeline de ingestão de PDF contra uploads maliciosos
  • Aplicar restrições de permissão de impressão e cópia em arquivos distribuídos

Conformidade PDF/A e PDF/UA

  • Execute a validação heurística de PDF/A com Document.validate_pdfa()
  • Converta documentos para PDF/A com Document.convert_to_pdfa()
  • Execute verificações heurísticas de acessibilidade PDF/UA com Document.validate_pdfua()
  • Autoetiquete o conteúdo de página existente em uma árvore de estrutura com Document.auto_tag()
  • Inspecione e edite a árvore de etiquetas através de Document.tagged_content

Cenários práticos

  • Preparar documentos de saída para arquivamento digital de longo prazo
  • Verificar PDFs recebidos em busca de lacunas de acessibilidade antes da publicação
  • Elaborar relatórios de conformidade para indústrias reguladas
  • Remediar PDFs legados para atender aos padrões de acessibilidade

Criar um PDF e Adicionar Texto

Crie 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")

Renderizar uma página em uma imagem

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)

Extrair texto de um PDF

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())

Mesclar arquivos PDF

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)
  

Recursos de Suporte e Aprendizado

 Português