2009-06-16 12 views
41

Ho un file PDF di grandi dimensioni che è una mappa del pavimento per un edificio. Ha strati per tutti i mobili per ufficio comprese le caselle di testo della posizione del sedile.Leggi i file pdf con php

Il mio obiettivo è leggere questo file con PHP, cercare nel documento i livelli di testo, ottenere il loro contenuto e le coordinate nel file. In questo modo posso mappare le posizioni dei sedili -> coordinate x/y.

C'è un modo per farlo tramite PHP? (O anche Ruby o Python se è ciò che è necessario)

+0

Il codice di markup contiene "coordinate"? In caso contrario, puoi cercare fino a quando vuoi. PHP non può localizzare le coordinate dei pixel di un file pdf. Cerca di spiegare il tuo "problema" un po 'più dettagliato, magari usando un'immagine, ecc. –

+0

Ciao, hai trovato una risposta alla tua domanda? Perché mi sono bloccato con il problema simillar e non riesco a trovare una soluzione ... E se ne hai trovato uno, potresti dirmi come hai ottenuto le coordinate delle immagini dal file pdf? .. –

+0

@PigalevPavel Ci dispiace, Non ho :( –

risposta

27

Partenza FPDF (con FPDI):

http://www.fpdf.org/

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

Questi vi permetterà di aprire un pdf e aggiungere contenuti ad esso in PHP. Immagino che tu possa utilizzare la loro funzionalità anche per cercare nel contenuto esistente i valori che ti servono.

Un'altra possibile libreria è TCPDF: http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf

Update per aggiungere una libreria più moderna: PDF Parser

+2

Per quanto riguarda l'analisi del pdf in php, fpdf cade mentre pdfparser http: //www.pdfparser.org/documentation ha un'interfaccia di programmazione pulita e intuitiva – Nate

+2

hi @Nate! Ho aggiunto la libreria del parser pdf alla risposta.Grazie per il downvote su una risposta di 6 anni! – Jay

+0

Ecco perché "principalmente basato sull'opinione" Le domande sono fuori discussione qui in primo luogo, inoltre, non penso che ci sia niente di male nell'esprimere un'opinione su una domanda di 6 anni, ma sono d'accordo in questo caso il voto negativo è sciocco.) –

0

Hmm ... non esattamente php, ma è possibile chiamare un programma da php per convertire il pdf in un file html temporaneo e quindi analizzare il file risultante con php. Ho fatto qualcosa di simile per un mio progetto e questo è il programma che ho usato:

PdfToHtml

Il bello circa il programma è che sarà sputare gli elementi di testo in < tag div> con posizione assoluta coordinate. Sembra che questo sia esattamente quello che stai cercando di fare.

+1

Hey Puoi pubblicare un codice di esempio su come ottenere i risultati Non sono riuscito a trovare la documentazione corretta Sarebbe fantastico – Tarik

19

C'è una libreria di php (pdfparser) che fa esattamente quello che vuoi.

sito web del progetto

http://www.pdfparser.org/

github

https://github.com/smalot/pdfparser

pagina di dimostrazione/api

http://www.pdfparser.org/demo

Dopo aver incluso pdfparser nel proprio progetto si può ottenere tutto il testo da mypdf.pdf in questo modo:

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

?> 

Simular è possibile ottenere i metadati dal pdf come wel come ottenere gli oggetti PDF (ad esempio immagini) .

+0

Questo sembra davvero promettente :) Quasi tre anni dopo, grazie! :) –