Hallo, ich versuche mit meinem programm simpel den Text einer PDF zu extrahieren.
Bisher habe ich mir Folgendes aus dem Internet zusammengestöpselt: (ofd ist ein OpenFileDirectory)
Leider gibt er mir den Fehler "ungültige Daten beim Decodierern gefunden." zurück
FIndet jemand den Fehler?
Bisher habe ich mir Folgendes aus dem Internet zusammengestöpselt: (ofd ist ein OpenFileDirectory)
VB.NET-Quellcode
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- If ofd.ShowDialog() = DialogResult.OK Then
- Dim stream() As Byte = {115, 116, 114, 101, 97, 109} ' "stream" in ascii
- Dim endstream() As Byte = {101, 110, 100, 115, 116, 114, 101, 97, 109}
- Dim length As Integer
- Dim Mystream As New IO.FileStream(ofd.FileName, IO.FileMode.Open)
- Dim filesize As Long = Mystream.Length
- Dim file_bytes(filesize) As Byte ' stores all bytes of the file
- Mystream.Read(file_bytes, 0, filesize)
- For i = 0 To file_bytes.Length - 6
- If file_bytes(i) = stream(0) And file_bytes(i + 1) = stream(1) And file_bytes(i + 2) = stream(2) And
- file_bytes(i + 3) = stream(3) And file_bytes(i + 4) = stream(4) And file_bytes(i + 5) = stream(5) Then
- i += 6 ' i zeigt auf den ersten byte des streams
- For k = i To file_bytes.Length - 9
- If file_bytes(k) = endstream(0) And file_bytes(k + 1) = endstream(1) And file_bytes(k + 2) = endstream(2) And
- file_bytes(k + 3) = endstream(3) And file_bytes(k + 4) = endstream(4) And file_bytes(k + 5) = endstream(5) And
- file_bytes(k + 6) = endstream(6) And file_bytes(k + 7) = endstream(7) And file_bytes(k + 8) = endstream(8) Then
- length = k - i - 1
- k = file_bytes.Length ' exit for
- End If
- Next
- Dim text(length) As Byte
- For k = i To i + length
- text(k - i) = file_bytes(k)
- Next
- Dim inputStream As New IO.MemoryStream(text)
- Dim outputStream As New IO.MemoryStream()
- Dim decompStream As New IO.Compression.DeflateStream(inputStream, IO.Compression.CompressionMode.Decompress)
- Try
- decompStream.CopyTo(outputStream)
- Dim result(outputStream.Length) As Byte
- result = outputStream.ToArray
- For t = 0 To result.Length - 1
- TextBox1.Text &= Chr(result(t))
- Next
- Catch ex As Exception
- MsgBox(ex.Message)
- End Try
- i += length + 8
- End If
- Next
- End If
- End Sub
Leider gibt er mir den Fehler "ungültige Daten beim Decodierern gefunden." zurück
FIndet jemand den Fehler?
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dr_Gre“ ()