Ler os ficheiros pdf com o php

Tenho um grande ficheiro PDF que é um mapa para um edifício. Tem camadas para todos os móveis de escritório, incluindo caixas de texto da localização do assento.

o meu objectivo é ler este ficheiro com o PHP, procurar no documento camadas de texto, obter o seu conteúdo e coordenadas no ficheiro. Assim posso mapear as localizações dos lugares -> coordenadas x/Y.

Há alguma maneira de fazer isto através do PHP? (Ou mesmo Ruby ou Python Se for necessário)

 43
Author: Ryan Doherty, 2009-06-17

5 answers

Confira FPDF (com FPDI):

Http://www.fpdf.org/

Http://www.setasign.de/products/pdf-php-solutions/fpdi/

Estes vão permitir-lhe abrir um pdf e adicionar conteúdo a ele em PHP. Acho que você também pode usar sua funcionalidade para pesquisar através do conteúdo existente para os valores que você precisa.

Outra Possível Biblioteca é o TCPDF: http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf

Actualizar para adicionar mais modern library: PDF Parser

 30
Author: Jay, 2015-06-24 06:35:24

Existe uma biblioteca php (pdfparser) que faz exatamente o que você quer.

Sítio web do projecto

Http://www.pdfparser.org/

Github

Https://github.com/smalot/pdfparser

Demo page/api

Http://www.pdfparser.org/demo

Depois de incluir o pdfparser no seu projecto, poderá obter todo o texto de mypdf.pdf Assim:

<?php
$parser = new \installpath\PdfParser\Parser();
$pdf    = $parser->parseFile('mypdf.pdf');  
$text = $pdf->getText();
echo $text;//all text from mypdf.pdf

?>
Simular você pode obter os metadados do pdf as wel as getting the pdf objects (for example images).
 19
Author: kasper Taeymans, 2015-07-10 14:30:52
Hmm ... não exatamente php, mas você poderia chamar um programa de php para converter o pdf para um arquivo html temporário e, em seguida, analisar o arquivo resultante com php. Eu fiz algo semelhante para um projeto meu e este é o programa que eu usei:

PdfToHtml

O que é legal sobre o programa é que ele vai cuspir os elementos de texto em tags com coordenadas de posição absoluta. Parece que é exactamente isto que estás a tentar fazer.

 0
Author: Rado, 2009-06-17 00:39:46

Você pode querer também experimentar este aplicativo http://pdfbox.apache.org/. Um exemplo de trabalho pode ser encontrado em https://www.jinises.com

 0
Author: Mike, 2013-10-11 08:58:24

O seu pedido inicial é: "Tenho um grande ficheiro PDF que é um mapa de chão para um edifício. "

Tenho medo de te dizer que isto pode ser mais difícil do que imaginas.

Cause the last known lib everyones use to parse pdf is smalot, and this one is known to encounter issue regarding large file.

Aqui também, Procure um php lib real para processar pdf, sem qualquer pico de memória que precise de uma configuração php para desactivar o limite de memória como muitos "programadores" fazem (o que eu acho que não é realmente aconselhável).

Veja este post para mais detalhes sobre o desempenho do smalot : https://github.com/smalot/pdfparser/issues/163

 0
Author: jmo, 2018-04-09 15:19:58