2017-04-17 1 views
0

Je ne suis pas sûr de ce qui ne va pas avec mon code. Il lit le fichier PDF et saisit tout le texte, mais chaque élément est combiné dans une seule chaîne sans séparateur d'aucune sorte.Lire un PDF Ligne par ligne - iTextSharp

Exemples:

"Maisons: 2

Chambres: 3

Bathsroom 4"

vont se lire comme "Maisons: 2chambres: 3Bathsroom 4"

I » Nous avons cherché à travers tous les exemples en vain. J'ai également essayé LocationTextExtractionStrategy en vain. J'ai essayé d'employer la méthode de .split et aucune aide.

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

Pouvez-vous partager le pdf en question? En outre, que comptez-vous réaliser avec cette ligne de jonglage «Encoding»? – mkl

Répondre

0

Nevermind, c'était un oubli de ma part. J'ai réalisé que les lignes sont séparées par Chr (10). Chr (10) ne crée pas une nouvelle ligne dans les zones de texte, où est sortie ma chaîne. Il crée cependant une nouvelle ligne dans MsgBox. Donc, si quelqu'un d'autre rencontre ce problème, chr (10) est le séparateur. :-)