Was sind Tools zum Extrahieren von Text aus PDF?

Ich möchte ein Tool oder eine Bibliothek, die den Text in PDF-Dokumenten extrahieren kann, damit er in einem Textdokument beibehalten werden kann. Formatierungen müssen nicht beibehalten werden, ich möchte sie aber erkennen können, um Teile des Dokuments bestimmen zu können. (Schreiben Sie zB eine Regel, die besagt, dass jede Instanz von H1 der Anfang eines neuen Abschnitts ist.) Ebenfalls akzeptabel ist etwas, das das PDF in ein Format wie ODF oder DOCx extrahiert, das Formatierung und Bilder enthält.

Tools wie PDFParser können nur Text lesen und nur dann, wenn das PDF nicht geschützt ist.

Obwohl kostenlose Tools bevorzugt werden, bin ich auch bereit zu zahlen.

Wenn es darauf ankommt, ist das Projekt, das dies verwenden würde, in PHP mit Laravel geschrieben.

"Tools wie PDFParser können nur Text lesen und nur, wenn das PDF nicht geschützt ist": PDFs, die gegen Kopieren geschützt sind, können normalerweise nicht gescraped werden (das ist die Idee hinter dem Kopierschutz hier), daher benötigen Sie wahrscheinlich OCR.

Antworten (4)

Ich empfehle, sich dafür das LEADTOOLS Document Imaging SDK anzusehen . Dieses SDK bietet verschiedene Möglichkeiten zum Extrahieren von Text aus PDF-Dateien, darunter das Parsen von Vektor-PDFs und das Ausführen von OCR auf Rasterdaten in PDFs. Es gibt keine native PHP-Unterstützung, aber mit der .NET-Schnittstelle können Sie die Dokumentkonverter verwenden, um Text aus beiden Arten von PDF-Dateien zu erhalten.

Hier ist ein Beispielcode:

using (DocumentConverter documentConverter = new DocumentConverter())
{
   var inFile = Path.Combine(ImagesPath.Path, @"Leadtools.pdf");
   var outFile = Path.Combine(ImagesPath.Path, @"output.txt");
   var format = DocumentFormat.Text;
   var jobData = DocumentConverterJobs.CreateJobData(inFile, outFile, format);
   jobData.JobName = "conversion job";
   var job = documentConverter.Jobs.CreateJob(jobData);
   documentConverter.Jobs.RunJob(job);
}

Haftungsausschluss: Ich bin ein Mitarbeiter des Unternehmens, das diese Bibliothek geschrieben hat.

Bei der Arbeit verwenden wir die Seta PDF Extractor- Bibliothek für PHP, bei mehreren Projekten, nachdem wir einige kostenlose Tools verworfen haben. Wenn Sie also bereit sind zu zahlen, können Sie die Bibliothek zuerst testen (kostenloser Download). Wird Ihren Wunsch nach Bildextraktion nicht erfüllen, aber Sie können ganz einfach eine Phrasensuche durchführen und die Textextraktion auf Begrenzungsrahmen beschränken. Es ist ziemlich flexibel. Benötigt PHP 5.3

Ich kann jedem das beliebteste eBook-Verwaltungsprogramm wärmstens empfehlen: Calibre .

Calibre unterstützt die Konvertierung vieler Eingabeformate in viele Ausgabeformate. Es kann jedes Eingabeformat in der folgenden Liste in jedes Ausgabeformat konvertieren.

Eingabeformate: AZW, AZW3, AZW4, CBZ, CBR, CBC, CHM, DJVU, DOCX, EPUB, FB2, HTML, HTMLZ, LIT, LRF, MOBI, ODT, PDF, PRC, PDB, PML, RB, RTF, SNB , TCR, TXT, TXTZ

Ausgabeformate: AZW3, EPUB, DOCX, FB2, HTMLZ, OEB, LIT, LRF, MOBI, PDB, PMLZ, RB, PDF, RTF, SNB, TCR, TXT, TXTZ, ZIP

Es hat auch viele nützliche Funktionen und Plugins. Ich würde nichts anderes verwenden.

Wenn Sie Ihre PDF-Datei in das TXT-Format konvertieren müssen, wird Ihnen PDFMate PDF Converter Free empfohlen. Ich benutze es seit einiger Zeit und habe auf die Pro-Version aktualisiert, da ich das Programm ziemlich oft benutze.