Extrahieren von text für Zeile aus der PDF mit iTextSharp c#
Muss ich laufen, eine Analyse meiner extrahieren von Daten aus einem PDF-Dokument.
Mit iTextSharp
habe ich die PdfTextExtractor.GetTextFromPage
Methode zum extrahieren von Inhalten aus einem PDF-Dokument und es wieder bei mir in eine einzige lange Zeile.
Gibt es eine Möglichkeit, um den text durch eine Linie, so dass ich speichern Sie in einem array? Also, ich kann die Daten analysieren, indem Sie die Linie, die flexibler wird.
Unten ist der code, den ich verwendet:
string urlFileName1 = "pdf_link";
PdfReader reader = new PdfReader(urlFileName1);
string text = string.Empty;
for (int page = 1; page <= reader.NumberOfPages; page++)
{
text += PdfTextExtractor.GetTextFromPage(reader, page);
}
reader.Close();
candidate3.Text = text.ToString();
Xander
ein paar Fragen.. der erste Weg macht die PdfReader(urFileName
) macht, Lesen Sie alle Zeilen auf einmal während diesen Anruf..? wenn dem so ist, dann müssen Sie wohl ändern, die for-Schleife eine while-Schleife und nennen die reader.ReadLine()
Methode .. ich bin auf der Suche, wie man Lesen würde, die normalerweise mit dem StreamReader-Klasse, lassen Sie mich wissen, wenn es gibt ein .ReadLine () - Methode Lesen von PDF-Inhalten überprüfen Sie diesen link ausHi @DJKRAZE ja den PdfReader(urlFileName1) liest alle Zeilen auf einmal. ich glaube nicht, dass es ist ein .ReadLine () - Methode in iTextSharp. Ging zu Ihr API und konnte Sie nicht finden. Könntest du ein Beispiel zeigen was du meinst mit der while-Schleife?
Blick auf diese
Previous Stackoverflow
posting sollte zeigen Sie in die richtige Richtung stackoverflow.com/questions/2550796/...PdfTextExtractor.GetTextFromPage(reader, page)
verwendet die LocationTextExtractionStrategy
was wiederum bedeutet einfügen '\n'
wenn die Textzeile ändert. Wenn es nicht für Sie, so etwas ist bedenklich. Könnten Sie daher, die Versorgung der PDF zur Kontrolle?versuchen Sie, text.Replace("\n","<br/>")
InformationsquelleAutor Xander | 2013-04-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich Mach diese Dinge ...vielen Dank
InformationsquelleAutor Snziv Gupta
LocationTextExtractionStrategy automatisch einfügen '\n' in der Ausgabe text. Manchmal ist es jedoch fügt '\n', wo es nicht sollte.
In diesem Fall müssen Sie zum erstellen einer benutzerdefinierten TextExtractionStrategy oder RenderListener. Bascially die code erkennt newline ist die Methode
In einigen Fällen, '\n' sollte nicht eingesetzt werden, wenn es nur kleine Unterschied zwischen DistPerpendicular und andere.DistPerpendicular, so dass Sie es ändern müssen, um so etwas wie Mathematik.Abs(DistPerpendicular - andere.DistPerpendicular) < 10
Oder Sie können dieses Stück code in der RenderText-Methode Ihres benutzerdefinierten TextExtractionStrategy/RenderListener Klasse
InformationsquelleAutor Silent Sojourner
Verwenden LocationTextExtractionStrategy statt der SimpleTextExtractionStrategy. LocationTextExtractionStrategy extrahierten text enthält das neue-Zeile-Zeichen am Ende der Zeile.
InformationsquelleAutor Kumar Sandeep
Ich weiß, ist das posting in einem älteren Beitrag, aber ich verbrachte eine Menge Zeit damit, um dies herauszufinden, also ich werde diese für die Zukunft Menschen, die versuchen, google:
Hatte ich das Programm Lesen Sie in einer PDF-Datei aus einem Pfad, und nur die Ausgabe in eine text-Datei, aber Sie können manipulieren, zu nichts. Diese wurde ausgehend von Snziv Gupta Antwort.
InformationsquelleAutor supersoka
Versuchen
InformationsquelleAutor adebayo