Pergunta

Estou extraindo um pdf em imagens / swf e um texto com a ajuda de SWFTools e XPDF .. Estou executando isso em um script PDF.

Mas agora eu estou tentando ir um passo além e tentar obter o TOC do PDF é possível extrair esta informação?

Foi útil?

Solução

Eu encontrei este com um pouco de pesquisa. Parece bastante promissor.

PDFMiner: http://www.unixuser.org/~euske/ python / pdfminer / index.html

Nota: A ferramenta é Python base, mas você deve ser capaz de usar a ferramenta via acesso shell. Alternativamente, você pode ser capaz de recolher algumas informações úteis a partir do próprio código fonte, como o projeto é de código aberto.

A partir do site:

dumppdf.py

dumppdf.py despeja o conteúdo interno de um arquivo PDF em formato pseudo-XML. Este programa é principalmente para fins de depuração, mas também é possível extrair alguns conteúdos significativos (como imagens).

Exemplos:

$ dumppdf.py -a foo.pdf
(dump all the headers and contents, except stream objects)

$ dumppdf.py -T foo.pdf
(dump the table of contents)

$ dumppdf.py -r -i6 foo.pdf > pic.jpeg
(extract a JPEG image)

Outras dicas

Eu tentei dump.pdf -T, mas não funcionou em alguns arquivos PDF.

Há uma outra ferramenta de MuPDF chamado mutool, que eu só encontrei. Eu não sei se isso é melhor do que dump.pdf mas trabalhou em um dump.pdf arquivo PDF gera um erro.

Veja como extrato de TOC com mutool

mutool show {your-pdf-file} outline

MuPDF

Como alternativa, você pode usar MuPDF que é uma leve bonita, mas a implementação completa PDF escrito C. No apps/ subdiretório você vai encontrar algumas ferramentas que podem ver, descarga e extrair informações de arquivos PDF. Eu prefiro MuPDF sobre xpdf porque é mantido ativamente e tem melhor suporte a PDF.

Caso contrário, há sempre Poppler que é realmente baseado xpdf. Os desenvolvedores portado seu código para C ++. Por isso, é um desempenho pior do que o seu antecessor. Comparado com MuPDF, Poppler parece ter um pouco mais recursos, mas em troca o código é muito mais complexa.

Para seus propósitos MuPDF deve ser embora suficiente. Você poderia cortar juntos uma aplicação simples do código de exemplo fornecido no apps/ que os extratos de todas as informações que você precisa sem depender de aplicações externas.

Eu acho que olhando para PDFlib de PHP seria um lugar muito bom para começar. Se você rolar para baixo, você verá uma abundância de soluções postado pelo usuário para converter PDF para HTML ou PDF to Text. Após a conversão, uma função de jogo relativamente simples poderia extrair os itens TOC marcados e jogá-los em uma matriz, por exemplo, que você pode então manipular como quiser.

Este StackOverflow postar também tem mais algumas soluções.

Espero que isso ajude.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top