2017-04-17 5 views
0

Ich bin nicht sicher, was mit meinem Code falsch ist. Es liest die PDF-Datei und greift den gesamten Text, aber jedes Element wird zu einer Zeichenfolge ohne Trennzeichen kombiniert.PDF Zeile für Zeile lesen - iTextSharp

Probe:

"Häuser: 2

Schlafzimmer: 3

Bathsroom 4"

als "Häuser: 2Schlafzimmer: 3Bathsroom 4" get lesen

I‘ Ich habe alle Beispiele vergeblich durchsucht. Ich habe auch LocationTextExtractionStrategy vergeblich versucht. Ich habe versucht, die .split-Methode und keine Hilfe zu verwenden.

Public Shared Function ParseAllPdfText(ByVal filepath As String) 
    Dim sbtxt, currenttext As String 

    sbtxt = "" 
    Try 

     Using reader As New PdfReader(filepath) 

      For intPages As Integer = 1 To reader.NumberOfPages 

       currenttext = PdfTextExtractor.GetTextFromPage(reader, intPages, New LocationTextExtractionStrategy()) 
       currenttext = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.[Default], Encoding.UTF8, Encoding.[Default].GetBytes(currenttext))) 
       sbtxt = sbtxt & currenttext & vbcrlf 

      Next 

     End Using 

    Catch ex As Exception 
     MsgBox(" There was an error extracting text from the file: " & ex.Message, vbInformation, "Error Extracting Text") 

    End Try 
    Return sbtxt 
+0

Können Sie das betreffende PDF teilen? Was wollen Sie mit der Jonglierlinie "Encoding" erreichen? – mkl

Antwort

0

Nichts, das war ein Versehen meinerseits. Ich erkannte, dass die Linien durch Chr (10) getrennt sind. Chr (10) erstellt keine neue Zeile in Textfeldern, wo ich meine Zeichenfolge ausgab. Es erstellt jedoch eine neue Zeile in MsgBox. Wenn jemand anderes auf dieses Problem stößt, ist chr (10) das Trennzeichen. :-)