it-swarm.com.de

Lesen Sie PDF-Dateien mit PHP

Ich habe eine große PDF -Datei, die eine Bodenkarte für ein Gebäude darstellt. Es verfügt über Schichten für alle Büromöbel einschließlich Textfeldern der Sitzposition.

Mein Ziel ist es, diese Datei mit PHP zu lesen, das Dokument nach Textebenen zu durchsuchen, deren Inhalt und Koordinaten in der Datei abzurufen. Auf diese Weise kann ich Sitzplätze ermitteln -> x/y-Koordinaten.

Gibt es eine Möglichkeit, dies über PHP zu tun? (Oder sogar Ruby oder Python, wenn das nötig ist)

47
Ryan Doherty

Check out FPDF (mit FPDI):

http://www.fpdf.org/

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

Dadurch können Sie eine PDF-Datei öffnen und Inhalte in PHP hinzufügen. Ich vermute, Sie können mit ihrer Funktionalität auch den vorhandenen Inhalt nach den gewünschten Werten durchsuchen.

Eine andere mögliche Bibliothek ist TCPDF: http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf

Aktualisieren Sie, um eine modernere Bibliothek hinzuzufügen: PDF Parser

31
Jay

Es gibt eine PHP-Bibliothek (pdfparser), die genau das macht, was Sie wollen. 

Projektwebsite

http://www.pdfparser.org/

github

https://github.com/smalot/pdfparser

Demo-Seite/API

http://www.pdfparser.org/demo

Nachdem Sie pdfparser in Ihr Projekt aufgenommen haben, können Sie den gesamten Text von mypdf.pdf erhalten:

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

?>

Gleichermaßen können Sie die Metadaten aus dem PDF sowie die PDF-Objekte (zum Beispiel Bilder) abrufen.

21
kasper Taeymans

Hmm ... nicht gerade PHP, aber Sie könnten ein Programm aus PHP aufrufen, um die PDF-Datei in eine temporäre HTML-Datei zu konvertieren und dann die resultierende Datei mit PHP zu analysieren. Ich habe etwas Ähnliches für ein Projekt von mir gemacht und dieses Programm habe ich verwendet:

PdfToHtml

Das Coole an dem Programm ist, dass es die Textelemente in <div> -Tags mit absoluten Positionskoordinaten ausspuckt. Es scheint, als ob dies genau das ist, was Sie zu tun versuchen. 

0
Rado

ihre erste Anfrage lautet "Ich habe eine große PDF -Datei, die eine Bodenkarte für ein Gebäude darstellt." 

Ich habe Angst, Ihnen zu sagen, dass dies schwieriger sein könnte, als Sie vermuten.

Ursache Die letzte bekannte lib, die jeder verwendet, um pdf zu analysieren, ist smalot, und diese ist bekanntermaßen auf Probleme mit großen Dateien gestoßen.

Suchen Sie auch hier nach einer echten PHP-Bibliothek zum Analysieren von PDF-Dateien, ohne dass ein Speicherpeak erforderlich ist, für den eine PHP-Konfiguration erforderlich ist, um die Speicherbegrenzung zu deaktivieren, wie es bei vielen "Entwicklern" der Fall ist.

weitere Informationen zur Leistung von Smalot finden Sie in diesem Beitrag: https://github.com/smalot/pdfparser/issues/163

0
jmo

Möglicherweise möchten Sie auch diese Anwendung ausprobieren http://pdfbox.Apache.org/ . Ein Arbeitsbeispiel finden Sie unter https://www.jinises.com

0
Mike