PDFMiner é uma ferramenta de extração de texto para documentos PDF.
Aviso : a partir de 2020, o PDFMiner não é mantido ativamente . O código ainda funciona, mas este projeto está praticamente inativo. Para o projeto ativo, confira seu fork pdfminer.six.
Python puro (3.6 ou superior).
Suporta PDF-1.7. (bem, quase)
Obtém a localização exata do texto, bem como outras informações de layout (fontes, etc.).
Executa análise automática de layout.
Pode converter PDF em outros formatos (HTML/XML).
Pode extrair um esboço (TOC).
Pode extrair conteúdos marcados.
Suporta criptografia básica (RC4 e AES).
Suporta vários tipos de fontes (Type1, TrueType, Type3 e CID).
Suporta linguagens CJK e scripts de escrita vertical.
Possui um analisador de PDF extensível que pode ser usado para outros fins.
> pip install pdfminer
> pdf2txt.py samples/simple1.pdf
pdf2txt.py extrai todos os textos renderizados programaticamente. Ele também extrai os locais correspondentes, nomes de fontes, tamanhos de fontes e direção de escrita (horizontal ou vertical) para cada segmento de texto. Não reconhece texto em imagens. Uma senha precisa ser fornecida para documentos PDF restritos.
> pdf2txt.py [-P password] [-o output] [-t text|html|xml|tag] [-O output_dir] [-c encoding] [-s scale] [-R rotation] [-Y normal|loose|exact] [-p pagenos] [-m maxpages] [-S] [-C] [-n] [-A] [-V] [-M char_margin] [-L line_margin] [-W word_margin] [-F boxes_flow] [-d] input.pdf ...
-P password
: senha do PDF.
-o output
: nome do arquivo de saída.
-t text|html|xml|tag
: Tipo de saída. (padrão: inferido automaticamente do nome do arquivo de saída).
-O output_dir
: diretório de saída para imagens extraídas.
-c encoding
: codificação de saída. (padrão: utf-8)
-s scale
: escala de saída.
-R rotation
: gira a página em graus.
-Y normal|loose|exact
: Especifica o modo de layout. (somente para saída HTML.)
-p pagenos
: processa apenas determinadas páginas.
-m maxpages
: Limita o número máximo de páginas a serem processadas.
-S
: Tira os caracteres de controle.
-C
: Desativa o cache de recursos.
-n
: Desativa a análise de layout.
-A
: Aplica análise de layout para todos os textos, incluindo figuras.
-V
: Detecta automaticamente a escrita vertical.
-M char_margin
: Especifica a margem do caractere.
-W word_margin
: especifica a margem da palavra.
-L line_margin
: especifica a margem da linha.
-F boxes_flow
: especifica a taxa de fluxo da caixa.
-d
: ativa a saída de depuração.
dumppdf.py é usado para depurar PDFs. Ele despeja todo o conteúdo interno em formato pseudo-XML.
> dumppdf.py [-P password] [-a] [-p pageid] [-i objid] [-o output] [-r|-b|-t] [-T] [-O directory] [-d] input.pdf ...
-P password
: senha do PDF.
-a
: Extrai todos os objetos.
-p pageid
: Extrai um objeto Page.
-i objid
: Extrai um determinado objeto.
-o output
: nome do arquivo de saída.
-r
: modo bruto. Despeja os fluxos brutos compactados/codificados.
-b
: modo binário. Despeja os fluxos descompactados/decodificados.
-t
: modo de texto. Despeja os fluxos em formato de texto.
-T
: Modo marcado. Despeja o conteúdo marcado.
-O output_dir
: diretório de saída para fluxos extraídos.
Substitua a variável STRICT por algo melhor.
Melhore as funções de depuração.
Use o módulo de registro em vez de sys.stderr.
Casos de teste adequados.
Conformidade com PEP-8 e PEP-257.
Melhor documentação.
Suporte a filtro de fluxo criptográfico.
pyPdf
xpdf
caixa de pdf
mupdf