Kostenlose PHP-API zum Konvertieren von PDF oder einem bestimmten Teil in Text
Open-Source PHP-Bibliothek, die Softwareentwicklern ermöglicht, Text aus PDFs oder einer bestimmten Seite einer PDF-Datei innerhalb von PHP-Anwendungen zu extrahieren.
Was ist PDF-zu-Text?
PDFs sind ein Standardformat für digitale Dokumente in allen Branchen – von Finanzen und Gesundheitswesen bis hin zu Bildung und Recht. Das Extrahieren von sinnvollem Textinhalt aus PDFs kann jedoch für Softwareentwickler eine Herausforderung darstellen. Glücklicherweise macht die PDF-to-Text-Bibliothek von Spatie diese Aufgabe für PHP-Entwickler einfach und effizient. Dieses Open-Source-Tool bietet eine saubere und leichte Wrapper‑Schicht um das leistungsstarke pdftotext‑Binary aus dem poppler-utils‑Paket. Die Bibliothek verfügt über eine intuitive Schnittstelle, die es Entwicklern ermöglicht, Text mit nur wenigen Codezeilen zu extrahieren. Sie unterstützt mehrseitige Dokumente, PDFs mit Spalten, eingebettete Schriftarten und Bilder, vorverarbeitete PDFs (wenn OCR bereits angewendet wurde) und vieles mehr.
Spatie PDF-to-Text ist eine Open-Source-PHP-Bibliothek, die es Softwareentwicklern ermöglicht, Klartext aus PDF-Dateien zu extrahieren. Sie fungiert als PHP-Wrapper um das Befehlszeilen-Utility pdftotext, das Teil der Poppler-Suite ist. Das bedeutet, dass sie nicht auf PHP-Bibliotheken zum Parsen von PDFs angewiesen ist, sondern stattdessen ein ausgereiftes, bewährtes Binärwerkzeug nutzt, das schnell und mit hoher Genauigkeit arbeitet. Obwohl die Bibliothek in PHP geschrieben ist, funktioniert sie nahtlos auf verschiedenen Betriebssystemen (Linux, macOS und Windows), solange die pdftotext-Binärdatei verfügbar ist. Sie ist leichtgewichtig und zieht keine unnötigen Drittanbieter-Bibliotheken nach. Das macht sie schneller, einfacher zu warten und weniger anfällig für Fehler durch Updates in nicht verwandten Abhängigkeiten.
Erste Schritte mit PDF-zu-Text
Um PDF-to-Text auszuführen, müssen Sie zunächst PHP Version 5.3 oder höher installieren. Am einfachsten lässt sich PDF-to-Text über Composer installieren. Bitte verwenden Sie den folgenden Befehl für eine reibungslose Installation.
PDF-zu-Text über Composer installieren
composer require spatie/pdf-to-textPDF-zu-Text über Git-Befehl installieren
git clone https://github.com/spatie/pdf-to-text.git
cd dompdf/libText aus PDF-Datei mit PHP-API extrahieren
Die Open-Source-Bibliothek Spatie PDF-to-Text ist von Grund auf minimalistisch und konzentriert sich darauf, eine Aufgabe zu erfüllen – das Extrahieren von Text aus PDFs – und das gut. Ihre Einfachheit macht sie zu einer ausgezeichneten Wahl für kundenspezifische Softwarelösungen wie Rechnungsscanner, akademische Forschungstools, Rechtsdokumentenprozessoren oder Content-Migrationssysteme. Das folgende Beispiel zeigt, wie Entwickler einfach den Pfad zur PDF-Datei festlegen können und bereit sind, den gesamten Textinhalt zu extrahieren. Sie können bei Bedarf auch den Pfad zur Binärdatei anpassen.
Wie extrahiere ich Text aus einer PDF-Datei mit der PHP-API?
use Spatie\PdfToText\Pdf;
$text = (new Pdf())
->setPdf('example.pdf')
->text();
echo $text;
$text = (new Pdf('/custom/path/to/pdftotext'))
->setPdf('report.pdf')
->text();
Bestimmten Teil des PDFs mit PHP extrahieren
Die Bibliothek ermöglicht es Ihnen, die Leistungsfähigkeit des Befehlszeilen-Tools pdftotext zu nutzen, indem sie die Unterstützung seiner verschiedenen Optionen bereitstellt. Das bedeutet, dass Sie den Text-Extraktionsprozess an Ihre spezifischen Bedürfnisse anpassen können. Zum Beispiel können Sie Optionen verwenden, um das Layout des Original-PDFs beizubehalten, einen bestimmten Seitenbereich anzugeben oder die Auflösung der Ausgabe festzulegen. Das folgende einfache Beispiel zeigt, wie Entwickler zunächst die Optionen layout und r setzen und anschließend die Option f hinzufügen, um die erste Seite des PDFs anzugeben.
Wie setze ich verschiedene Optionen zum Extrahieren von PDF-Text über die PHP-API?
use Spatie\PdfToText\Pdf;
$text = (new Pdf())
->setPdf('table.pdf')
->setOptions(['layout', 'r 96'])
->addOptions(['f 1'])
->text();
echo $text;