Raspagem de PDF usando R

Eu tenho usado o pacote xml com sucesso para extrair tabelas HTML, mas quero estender para PDF. A partir de perguntas anteriores, não parece haver uma solução R simples, mas questionamos se houve algum desenvolvimento recente.

Caso contrário, existe alguma maneira em Python (em que eu sou um principiante completo) para obter e manipular pdfs para que eu pudesse terminar o trabalho com o pacote R XML

10

4 Respostas

Extrair texto de PDFs é difícil e quase sempre requer muito cuidado.

Eu começaria com as ferramentas de linha de comando, como pdftotext e ver o que eles cuspiram. O problema é que os PDFs podem armazenar o texto em qualquer ordem, podem usar codificações de fontes estranhas e podem fazer coisas como usar caracteres de ligadura (o conjunto 'ff' e 'ij' que você vê na formatação adequada) para lançar você.

O pdftotext é instalável em qualquer sistema Linux ...

10
adicionado
Bem pdftotext funciona bem na produção de uma página de texto limpo, mas não é de qualquer forma para criar facilmente o que eu quero. Obrigado de qualquer forma
adicionado o autor pssguy, fonte
adicionado o autor pssguy, fonte
Secundado. Fazê-lo em R não vale o esforço de ninguém para desenvolver e manter, quando existem opções que são muito melhor mantidas fora da R. Se você precisar fazer muitos arquivos, tente usar o find utilitário no Unix (ou na coleção GNU para Windows), ou pode-se ter R enviar comandos para o shell, repetindo os nomes dos arquivos ... Mesmo a Adobe teve um terrível extrator de texto por um longo tempo (não tenho certeza se está melhor agora) , enquanto a Xerox tinha um bom
adicionado o autor Iterator, fonte
Você pode nos apontar para um arquivo PDF representativo?
adicionado o autor Spacedman, fonte
Executar o pdftotext não é brilhante nessa página, mas a conversão para o ps primeiro ou apenas a execução do ps2txt no PDF produz uma tabela quase perfeita com algumas cabeças de página/foots para remover.
adicionado o autor Spacedman, fonte
Eu tive boa sorte com pdftotext no windows também
adicionado o autor pguardiario, fonte

Você pode querer verificar o pacote de mineração de texto tm . Lembro-me de que eles implementaram os chamados leitores, e também havia um para PDFs.

5
adicionado
Obrigado. Eu verifiquei docs. Usa pdftotext de alguma forma
adicionado o autor pssguy, fonte

AFAIK não é uma maneira fácil de transformar tabelas PDF em algo útil para análise de dados. Você pode usar o utilitário de arquivo para texto do Data Science Toolkit (interface R via pacote RDSTK ), depois analise o texto resultante. Esteja avisado: a análise é muitas vezes não trivial.


EDIT: Há uma discussão útil de converter PDFs para xml em discerning.com . A resposta curta é que você provavelmente precisará comprar uma ferramenta comercial.

4
adicionado
+1 Obrigado por isso. Verifiquei a discussão e tentei fazer o download do produto ABBYY em julgamento, mas ele não configurou proprly. Acho que estou condenado
adicionado o autor pssguy, fonte

O coração do aplicativo tabula que pode extrair tabelas de documentos PDF está disponível como um aplicativo Java de linha de comando simples, tabula-extractor .

Este aplicativo Java foi agrupado em R pelo pacote tabulizer . Passe o caminho para um arquivo PDF e ele tentará extrair tabelas de dados para você e retorná-las como dados.

Por exemplo, veja Quando os documentos se tornam bancos de dados - Tabulizer R Wrapper para Tabula PDF Table Extractor .

1
adicionado