Weitere aktualisierte iTextSharp-Antworten finden Sie hier, da diese Frage geschlossen ist.
VDWWD
Antworten:
115
Seit diese Frage 2008 das letzte Mal beantwortet wurde, hat iTextSharp seine API dramatisch verbessert. Wenn Sie die neueste Version ihrer API von http://sourceforge.net/projects/itextsharp/ herunterladen , können Sie den folgenden Textausschnitt verwenden, um den gesamten Text aus einem PDF in eine Zeichenfolge zu extrahieren.
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
namespace PdfParser{publicstaticclassPdfTextExtractor{publicstaticstring pdfText(string path){PdfReader reader =newPdfReader(path);string text =string.Empty;for(int page =1; page <= reader.NumberOfPages; page++){
text +=PdfTextExtractor.GetTextFromPage(reader,page);}
reader.Close();return text;}}}
hallo ceetheman, ich habe versucht, den oben angegebenen code zu verwenden ... aber ein problem bekommen. Einige meiner PDF-Dateien werden richtig gelesen, aber in einigen PDF-Dateien habe ich den Fehler "Index außerhalb des Bereichs" in der Funktion "CheckToken" erhalten. Können Sie mir bitte helfen, dieses Problem zu lösen?
Radhi
18
Es ist eine gute und höfliche Idee, auf die Quelle Ihres Beispiels zu verweisen. In diesem Fall finden Sie den gleichen Quellcode hier codeproject.com/KB/cs/PDFToText.aspx
Myster
2
Ich habe Probleme mit diesem Code, er gibt ein Gobledegook zurück, das aus den Buchstaben r und n besteht. Am Ende habe ich PDFBox verwendet.
Myster
So seltsam ... Ich habe mein PDF eingesteckt und 1627 leere Zeilen in meiner Textdatei ...
Ortund
1
Die Antwort von Brock Nusser scheint die aktuellste Lösung zu sein und sollte als die richtige Antwort auf diese Frage angesehen werden.
Ceetheman
6
publicstringReadPdfFile(objectFilename,DataTableReadLibray){PdfReader reader2 =newPdfReader((string)Filename);string strText =string.Empty;for(int page =1; page <= reader2.NumberOfPages; page++){ITextExtractionStrategy its =new iTextSharp.text.pdf.parser.SimpleTextExtractionStrategy();PdfReader reader =newPdfReader((string)Filename);String s =PdfTextExtractor.GetTextFromPage(reader, page, its);
s =Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default,Encoding.UTF8,Encoding.Default.GetBytes(s)));
strText = strText + s;
reader.Close();}return strText;}
Das ist kein offizieller Port und die Verbindung ist sowieso unterbrochen. Der offizielle .NET-Port von iText, iTextSharp, ist auf GitHub zu finden: github.com/itext/itextsharp
Außerdem: "Derzeit unterstützt libHaru das Lesen und Bearbeiten vorhandener PDF-Dateien nicht und es ist unwahrscheinlich, dass diese Unterstützung jemals angezeigt wird." Ist das tatsächlich relevant?
TernaryTopiary
0
Schauen Sie sich die Docotic.Pdf-Bibliothek an . Sie müssen den Quellcode Ihrer Anwendung nicht öffnen (z. B. iTextSharp mit viraler AGPL 3-Lizenz).
Docotic.Pdf kann zum Lesen von PDF-Dateien und zum Extrahieren von Text mit oder ohne Formatierung verwendet werden. Bitte lesen Sie den Artikel, der zeigt, wie Sie Text aus PDFs extrahieren .
Haftungsausschluss: Ich arbeite für Bit Miracle, den Anbieter der Bibliothek.
Antworten:
Seit diese Frage 2008 das letzte Mal beantwortet wurde, hat iTextSharp seine API dramatisch verbessert. Wenn Sie die neueste Version ihrer API von http://sourceforge.net/projects/itextsharp/ herunterladen , können Sie den folgenden Textausschnitt verwenden, um den gesamten Text aus einem PDF in eine Zeichenfolge zu extrahieren.
quelle
PdfTextExtractor
da sie mit der iniTextSharp.text.pdf.parser
iTextSharp ist die beste Wahl . Verwendet es, um eine Spinne für Lucene.Net zu erstellen, damit es PDF crawlen kann.
quelle
quelle
PDFClown könnte helfen, aber ich würde es nicht für eine große oder stark genutzte Anwendung empfehlen.
quelle
iText ist die beste Bibliothek, die ich kenne. Ursprünglich in Java geschrieben, gibt es auch einen .NET-Port.
Siehe http://www.ujihara.jp/iTextdotNET/en/
quelle
Sie könnten dies prüfen : http://www.codeproject.com/KB/showcase/pdfrasterizer.aspx Es ist nicht ganz kostenlos, aber es sieht sehr gut aus.
Alex
quelle
http://www.c-sharpcorner.com/UploadFile/psingh/PDFFileGenerator12062005235236PM/PDFFileGenerator.aspx ist Open Source und kann ein guter Ausgangspunkt für Sie sein.
quelle
aspose pdf funktioniert ziemlich gut. Andererseits muss man dafür bezahlen
quelle
ich schreibe?
http://www.itextpdf.com/terms-of-use/index.php
Leiten
http://www.vogella.com/articles/JavaPDF/article.html
quelle
Es gibt auch LibHaru
http://libharu.org/wiki/Main_Page
quelle
Schauen Sie sich die Docotic.Pdf-Bibliothek an . Sie müssen den Quellcode Ihrer Anwendung nicht öffnen (z. B. iTextSharp mit viraler AGPL 3-Lizenz).
Docotic.Pdf kann zum Lesen von PDF-Dateien und zum Extrahieren von Text mit oder ohne Formatierung verwendet werden. Bitte lesen Sie den Artikel, der zeigt, wie Sie Text aus PDFs extrahieren .
Haftungsausschluss: Ich arbeite für Bit Miracle, den Anbieter der Bibliothek.
quelle