MS-Office-Forum
Google
   

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access - Code Archiv
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads Der Renner, 11 Entwicklertools für Access, Tipps & Trick und offene Datenbanken zum einzigartigen Preis.
Themen-Optionen Ansicht
Alt 18.01.2011, 23:57   #1
ebs17
MOF Guru
MOF Guru
Standard Codebeispiel - Plaintext aus PDF extrahieren

Manchmal besteht die Notwendigkeit, aus einem PDF-Dokument den enthaltenen Text zu ermitteln, um daraus bestimmte Teile zu extrahieren.

Die nachfolgende Funktion zeigt unter Verwendung von pdftotext, wie man eine resultierende Textdatei erzeugt:
Code:

Public Function fGetPDFText(ByVal sExecuteFile As String, _
                        ByVal sSourcePDF As String, _
                        ByVal sTargetTXT As String) As Boolean
'// ------------------------------------------------------------------------------------
'// Methode:   | Erzeugen einer Textdatei aus einem PDF-Dokument
'// ------------------------------------------------------------------------------------
'// Parameter: | sExecuteFile - vollständiger Pfad der pdftotext.exe
'//            | sSourcePDF   - vollständiger Pfad des Quelldokumentes (PDF)
'//            | sTargetTXT   - vollständiger Pfad des Zieldokumentes (TXT)
'// ------------------------------------------------------------------------------------
'// Rückgabe:  | True bei Erfolg
'// ------------------------------------------------------------------------------------
'// Autor:     | ebs17
'// ------------------------------------------------------------------------------------
'// Hinweis:   | pdftotext.exe beziehbar über http://www.foolabs.com/xpdf/download.html
'//            | aktueller Download zum 18.01.2011:
'//            | ftp://ftp.foolabs.com/pub/xpdf/xpdf-3.02pl5-win32.zip
'// ------------------------------------------------------------------------------------

   Dim sCommand As String
   Dim vResult As Variant
   sCommand = sExecuteFile & " -raw " & sSourcePDF & " " & sTargetTXT
   vResult = Shell(sCommand, vbHide)
   fGetPDFText = Not IsNull(vResult)
End Function

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}
Dein Dankeschön: DBWiki=>Spende
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 19.01.2011, 11:44   #2
Scorefun
MOF Meister
MOF Meister
Standard

bei dieser Version geht allerdings das Layout der PDF-Datei verloren.

Um das zu vermeiden, sollte statt des Paramters -raw der Parameter -layout eingesetzt werden

__________________

Gruss Ralf
======================
Vorsicht Beim Ausprobieren...
Auch Chaotischer Code Entwickelt Sich Ständig
1) Intel I5-2500K, 4x3,3 Ghz, 8GB RAM, Asus P8P67, 250GB SSD Toshiba Q-Pro, 1,5TB HD, MSI GTX550TI, Win7-Prof 64-bit SP1, Office 2010 Plus SP1
2) Asus Zenbook Flip UX360UAK-C4203T, 13,3 Zoll, i5-7200U, 2,5 Ghz, 8GB RAM, 256GB SSD, Win10 Home 64-bit, Office 2016 Plus
Scorefun ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 19.01.2011, 12:29   #3
ebs17
Threadstarter Threadstarter
MOF Guru
MOF Guru
Standard

Der Hinweis auf weitere mögliche Parameter ist richtig. Die Wahl sollte man aber von eigenen Erfordernissen abhängig machen.
Bei einem Test mit einer zwei- bis vierspaltigen Zeitung wurden bei Beibehaltung des Layouts zusammengehörige Texte zerstückelt, was dann eine nachfolgende Analyse nicht leichter macht.

In dem oben erwähnten Zip-File gibt es auch eine pdftotext.txt, die über die Parameter informiert.

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}
Dein Dankeschön: DBWiki=>Spende

Geändert von ebs17 (19.01.2011 um 12:32 Uhr).
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 19.01.2011, 12:42   #4
Scorefun
MOF Meister
MOF Meister
Standard

Zitat: von ebs17 Beitrag anzeigen

Der Hinweis auf weitere mögliche Parameter ist richtig. Die Wahl sollte man aber von eigenen Erfordernissen abhängig machen.

Da hast Du wohl recht

__________________

Gruss Ralf
======================
Vorsicht Beim Ausprobieren...
Auch Chaotischer Code Entwickelt Sich Ständig
1) Intel I5-2500K, 4x3,3 Ghz, 8GB RAM, Asus P8P67, 250GB SSD Toshiba Q-Pro, 1,5TB HD, MSI GTX550TI, Win7-Prof 64-bit SP1, Office 2010 Plus SP1
2) Asus Zenbook Flip UX360UAK-C4203T, 13,3 Zoll, i5-7200U, 2,5 Ghz, 8GB RAM, 256GB SSD, Win10 Home 64-bit, Office 2016 Plus
Scorefun ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 23.07.2013, 08:20   #5
MrSchnabel
Neuer Benutzer
Neuer Benutzer
Standard

So nun kram ich dieses Thema nochmal heraus.

Erstmal vielen Danke für dieses Tutorial. Es funktioniert wunderbar.

Jetzt hab ich nochmal eine Frage : Wie behandelt ihr Leerzeichen in Datei und/oder Pfadnamen. Bei mir funktioniert die Umwandlung in die Txt nicht, wenn ein Leerzeichen drin ist.

Hier mein Aufruf :

sCommand = "" & TempDir & "pdftotext.exe" & " -layout " & TempDir & FileNameShort & " " & TempDir & Left(FileNameShort, Len(FileNameShort) - 3) & "txt"

Tempdir ist dabei der Pfad zum Ordner von PdfToText

FileNameShort ist der Dateiname(ohne Pfad)
MrSchnabel ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 23.07.2013, 13:53   #6
Scorefun
MOF Meister
MOF Meister
Standard

Dann müssen da doppelte anführungszeichen drum

__________________

Gruss Ralf
======================
Vorsicht Beim Ausprobieren...
Auch Chaotischer Code Entwickelt Sich Ständig
1) Intel I5-2500K, 4x3,3 Ghz, 8GB RAM, Asus P8P67, 250GB SSD Toshiba Q-Pro, 1,5TB HD, MSI GTX550TI, Win7-Prof 64-bit SP1, Office 2010 Plus SP1
2) Asus Zenbook Flip UX360UAK-C4203T, 13,3 Zoll, i5-7200U, 2,5 Ghz, 8GB RAM, 256GB SSD, Win10 Home 64-bit, Office 2016 Plus
Scorefun ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 23.07.2013, 14:57   #7
MrSchnabel
Neuer Benutzer
Neuer Benutzer
Standard

hey,

ja das hatte ich mir gedacht, jedoch habe ichs nicht hinbekommen, könntest du mir netterweise sagen wo ich die hinmachen soll? hatte es so versucht, dass ich jeden dateipfad einmal mit den Ausrufezeichen umschließe, hat aber irgendwie nicht hingehauen.


schon mal vielen Dank
MrSchnabel ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 23.07.2013, 17:37   #8
Scorefun
MOF Meister
MOF Meister
Standard

Code:

tempDatei = """C:\Eigene Dateien mit Leerzeichen\Deine Datei.pdf"""
oder

Code:

tempDatei = chr(13) & "C:\Eigene Dateien mit Leerzeichen\Deine Datei.pdf" & chr(13)

__________________

Gruss Ralf
======================
Vorsicht Beim Ausprobieren...
Auch Chaotischer Code Entwickelt Sich Ständig
1) Intel I5-2500K, 4x3,3 Ghz, 8GB RAM, Asus P8P67, 250GB SSD Toshiba Q-Pro, 1,5TB HD, MSI GTX550TI, Win7-Prof 64-bit SP1, Office 2010 Plus SP1
2) Asus Zenbook Flip UX360UAK-C4203T, 13,3 Zoll, i5-7200U, 2,5 Ghz, 8GB RAM, 256GB SSD, Win10 Home 64-bit, Office 2016 Plus
Scorefun ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 24.07.2013, 12:29   #9
MrSchnabel
Neuer Benutzer
Neuer Benutzer
Standard

Danke, habs jetzt hinbekommen.
MrSchnabel ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.02.2014, 10:16   #10
abby741
Neuer Benutzer
Neuer Benutzer
Standard abby741

In dem oben erwähnten Zip-File gibt es auch eine pdftotext.txt, die über die Parameter informiert.

Geändert von abby741 (04.02.2014 um 10:19 Uhr).
abby741 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 27.10.2014, 08:21   #11
ebs17
Threadstarter Threadstarter
MOF Guru
MOF Guru
Standard

Kleine Korrektur zu Beitrag #8: Maskierung des Pfades erfolgt besser mit Doublequotes.
Code:

tempDatei = chr(34) & "C:\Eigene Dateien mit Leerzeichen\Deine Datei.pdf" & chr(34)

__________________

Ein freundliches Glück Auf!

Eberhard

Abfrageperformance ist kein Geheimnis
SQL ist leicht: {0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}:{9}
Dein Dankeschön: DBWiki=>Spende
ebs17 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 04.04.2017, 16:35   #12
SMP4000
Neuer Benutzer
Neuer Benutzer
Jeck

Hallo Zusammen

Ich hab den Code von MOFGuru auspropiert und er läuft Super.
Nur meine Frage der bearbeitet aber nur die erste Seite was mach ich mit einem Dokument was mehrer Seiten hat?

für eure Hilfe Danke ich euch schon mal

Vg

SMP
SMP4000 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:11 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.

Copyright ©2000-2010 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günther Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.
Beachten Sie bitte auch unsere Nutzungsbedingungen.