PDF Inhalte extrahieren

  • VB.NET
  • .NET (FX) 4.0

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von razzzer530i.

    PDF Inhalte extrahieren

    Guten Tag liebes Forum,
    habe da mal ein Anliegen, welches wahrscheinlich etwas höhere Kenntnisse erfordert.

    Ich habe viel gelesen und gesucht. Habe vieles zu PDF Sortierungen und Filterungen gefunden.
    Allerdings habe ich nicht wirklich was dazu gefunden, wie man eine PDF auswerten kann. Damit meine ich natürlich, den Textinhalt einer PDF zu entschlüsseln und zu verwenden.
    Ich habe z.B. eine PDF die so aussieht:

    [siehe Bild]


    Ich möchte die beiden Zahlen aus dem Block oben rechts, das Datum und den Endstand haben. Der Endstand steht möglicherweise aber auch erst auf Seite 2 oder 3 des PDF's.

    Kann man eine PDF via Text auseinander nehmen?
    Oder kann man mit VB auch Visual an die Sache ran gehen und einen Bildschirmausschnitt analysieren und prüfen?

    Interessiere mich sehr dafür und würde mich freuen, wenn jemand dazu etwas sagen könnte.

    Liebe Grüße :)


    Edit: Interessant für mich wäre zu erfahren, wie genau das mit der PDF zu Text geschichte überhaupt realisierbar ist.
    Bilder
    • test123.png

      9,35 kB, 794×833, 217 mal angesehen
    ~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „razzzer530i“ ()

    Ich habe die besten Erfahrungen mit dem Acrobat API gemacht.
    adobe.com/devnet/acrobat/documentation.html

    Und dann kommt's natürlich noch immer drauf an, ob das ein programmerzeugtes PDF ist oder ein gescanntes.
    Bei Scans hast du eh keine Chance, den Text ohne OCR-Analyse auszulesen.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    @petaod

    schaue mir das ganze mal an. Am Anfang reicht mir das auslesen von Text aus erzeugten PDF's. Scanns zu verarbeiten ist etwas, was ich weiter hinten anstellen kann und mir erst später anschauen werde.
    Versuche mich mal in Acrobat API reinzulesen, bin mir aber nicht sicher ob ich da nich eventuell ein bisschen Nachhilfe brauche.

    Vielen Dank schonmal.

    //Edit:

    Lese jetzt schon einiges aber komme nicht so ganz da hinter wie das funktioniert, bzw. wie genau ich damit arbeite. Könntest du mir wohl etwas unter die Arme greifen?

    Wäre super!

    ~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „razzzer530i“ ()

    So ganz grob (ein reduzierter Auszug aus einem VBA-Programm, das mit Late-Binding arbeitet):

    Visual Basic-Quellcode

    1. Dim PdDoc As Object, JSO As Object
    2. Set PdDoc = CreateObject("AcroExch.PDDoc")
    3. If PdDoc.Open("c:\temp\x.pdf") Then
    4. Set JSO = PdDoc.GetJSObject
    5. JSO.SaveAs("c:\temp\x.txt", "com.adobe.acrobat.plain-text", "", True, True)
    6. PdDoc.Close
    7. Set JSO = Nothing
    8. End If
    Du musst natürlich Adobe Acrobat installiert haben.
    Ein kostenloser Adobe Reader reicht da nicht.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Wird gleich direkt getestet mal sehen ob es klappt.

    ´PS: Ich bringe mir gerade alles neu bei. Falls du meinen letzten Thread gesehen hast und Ahnung davon hast wäre das sicher auch super. Ich übersehe da zu 100% etwas ganz ganz einfaches -.-
    ~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~