Existe um conversor de pdf para texto melhor do que o pdftotext?

63

Estou usando o pdftotext (parte do poppler-utils) para converter documentos PDF em texto. Funciona, na maior parte, mas uma coisa que eu gostaria que fizesse era inserir linhas em branco entre parágrafos separados, em vez de juntá-las.

Existe maneira de obter pdftotext para fazer isso? E se não, existe outro utilitário de pdf para texto que possa fazer isso?

dan
fonte
8
No título você diz "pdftotext" (que faz parte do poppler-utils) e no corpo você diz "pdt2text" (que eu não sei). A que você está se referindo?
enzotib
pergunta semelhante PDF to audio software for academic papers? softwarerecs.stackexchange.com/questions/10640/…
#

Respostas:

25

Você pode tentar ebook-convertdo Calibre.

Se alguma coisa, eu diria que erra na outra direção: muitas quebras de linha.

Outra coisa que eu definitivamente consideraria é converter para HTML usando pdfreflow e depois converter o HTML para TXT.

frabjous
fonte
Nota: ebook-convertnão pode converter o layout de várias colunas, ele mescla as colunas em uma coluna. Para o layout de várias colunas, pdftotextproduz resultados muito melhores. Outras limitações são descritas em manual.calibre-ebook.com/conversion.html#convert-pdf-documents .
asmaier
117

Se você estiver usando pdftotext, poderá usar o -layoutsinalizador para preservar o layout do texto nas páginas do seu arquivo pdf de entrada:

pdftotext -layout input.pdf output.txt
Noé
fonte
6
Também existe uma tabela para layouts de tabela especificamente, funciona muito bem.
P.Windridge
3
@ P.Windridge, onde está essa opção de tabela? Eu não posso encontrá-lo na versão 0.48.0 do Poppler-utils no Ubuntu 17.04
gozzilli
2
@gozzilli Isso é muito antigo. A última pdftotext é V4.00, disponível no Xpdf ferramentas tarball aqui .
Adrian
2
As versões que começam com 0. indicam que é o ramo Popplers do código original do Xpdf. Eles começaram seus números de versão quando ramificaram o código. Os dois grupos agora parecem manter versões separadas dessas ferramentas PDF.
Andrew
11
@VivekSable esses são pontos (pixels) no especificado -r(resolução, padrão 72 dpi)
vstepaniuk
14

Como fã de código aberto (e automação), detesto dizer isso, mas os melhores resultados que obtive (em um PDF bastante amplo e complexo) foram abri-lo no Adobe Reader e escolher Arquivo | Salvar como texto.

(Estou pré-processando para experimentos de análise de texto, não como leitor, mas acho que minha primeira e segunda opção seriam as mesmas.)

Estive comparando a saída lado a lado. Minha segunda opção é ebook-convert.

Adobe : deixado no FF para quebras de página, deixado nos números de página, não converteu títulos / parágrafos em linhas únicas, mas corrigiu hífens. Lixo que estava oculto no PDF não foi gerado. Conseguiu corretamente as grandes maiúsculas no início das seções, por exemplo, "O", não "O" ou mesmo "O".

ebook-convert : esquerda em números de página e algum lixo oculto no cabeçalho / rodapé (mas sem FFs). Converte a maioria dos parágrafos em linhas únicas. Os que ele perdeu são espaçados duas vezes! Os marcadores nem sempre estão alinhados com o texto. Obteve corretamente "The" no início do capítulo.

pdftotext (sem --layout) : Não é ruim, os marcadores estão alinhados, mas o ruído do cabeçalho / rodapé. FFs estão lá. Hífens removidos. Pior para letras grandes no início do capítulo: "T \ n \ nhe".

pdftotext (com --layout) : Similar, mas com mais indentações. "O" para o início do capítulo.

pdftohtml >> pdfreflow >> htmltotext : removia os números das páginas, mas ainda era indesejável no cabeçalho / rodapé. "O" para o início do capítulo. Hífens removidos. (Ele usa várias linhas por parágrafo, mas elas não são as mesmas quebras de linha que nas outras versões!)

Darren Cook
fonte
O Acrobat Reader 9 no Linux gerou palavras esmagadas no meu caso. ebook-convertfuncionou bem.
ov7a
Nós realmente precisamos de um aplicativo de IA para isso, parece perfeito para esse tipo de tarefa: alguém conhece um?
JinSnow 16/09
11
O Adobe Reader é gratuito, mas ... apenas para ler PDF. Para outras coisas, você precisa pagar (assinatura mensal). (PDF para texto é limitado a poucas páginas). O texto em PDF (ou xpdf no win) é perfeito para minhas necessidades.
JinSnow 16/09
Para dados tabulares, agora é melhor usar a opção -table "pdftotext -table file_name.pdf output_name.txt"
Thom Ives
5

Se você possui uma conta do Google, pode usar o Google Docs para fazer upload do PDF e transformá-lo em texto editável.

xangua
fonte
1

Eu também tentei o pypdf e o comparei com o pdftotext em dois documentos. Tinha mais quebras de linha e dividiu alguns nomes de seção (REFERENCES era REFERENCES).

pdf2txt produziu lixo completo.

Costumo usar pdfBox (java) se pdftotext estragar a saída. Você pode tentar.

Máx.
fonte