Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Daten aus PDF auslesen + in Excel Sheet einfügen

Daten aus PDF auslesen + in Excel Sheet einfügen
12.06.2024 14:34:49
Memo
Hallo VBA Freunde,

leider konnte ich für mein Vorhaben im www nichts nützliches finden.

Für das folgende Vorhaben komme ich leider nicht weiter:

Ich möchte aus einer PDF via VBA gewisse Daten auslesen und in eine Excel eintragen lassen.

Das Bild aus dem PDF (upload PDF nicht zugelassen) und die dazugehörige Excel lade ich dem Beitrag hoch.

Welche Daten aus dem PDF ausgelesen werden sollen, habe ich als jpeg (jpeg aus PDF) kenntlich gemacht.

Ich hoffe, ich konnte mein Vorhaben verständlich genug visualisieren.

Danke für jeden Input.

Gruß
Memo

Anzeige

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten aus PDF auslesen + in Excel Sheet einfügen
12.06.2024 20:48:00
Oberschlumpf
Hi,

nutz PDFToText aus dem Paket XPDF-Tools, das du im Inet runterladen kannst.
Wenn PDFToText erfolgreich eingesetzt hast, generiert PDFToText eine Excel-Datei.
In der Excel-Datei wurde alles an Text aus der PDF-Datei extrahiert.
Du musst jetzt nur noch die Stellen in der Excel-Datei suchen, die dich interessieren.
Funktioniert hervorragend. Ich nutz PDFToText zum Auslesen von Zutaten aus Kochrezepten, die ich als PDF-Dateien vorliegen habe.

Ciao
Thorsten
Anzeige
AW: Daten aus PDF auslesen + in Excel Sheet einfügen
12.06.2024 21:28:58
Memo
Hi Thorsten,

habe von dem was du geschrieben hast nichts verstanden.

Auf dem Geschäftsrechner ist es schwierig etwas herunterzuladen.

Ich bevorzuge lieber VBA anstatt PowerBi oder PDFtoText.

Dennoch danke für dein Vorschlag.

Gruß
Memo

AW: Daten aus PDF auslesen + in Excel Sheet einfügen
12.06.2024 22:26:00
Oberschlumpf
Hi,

ok, trotzdem hab ich es zumindest gerne versucht zu helfen.

Vielleicht könnte es den anderen immer noch helfen, wenn du ihnen eine - echte! - PDF Datei per Upload zeigst.
Denn deinen Versuch, eine txt-Datei upzuloaden ,mit dem Hinweis, diese dann in PDF umzubenennen...habe ich nicht verstanden.

Ach ja, wandel die - echte - PDF Datei mit z Bsp 7ZIP in eine ZIP-Datei um...ZIP-Dateien sind hier für den Upload erlaubt.
Ich lass den Beitrag auch mal weiter offen.

Weiter viel Erfolg.

Ciao
Thorsten

Anzeige
Mit VBA - ohne zusätzliche Software...
13.06.2024 09:13:26
Case
Hallo, :-)

... geht es auch über Word: ;-)
https://www.clever-excel-forum.de/Thread-Excel-PDF-Dateien-auslesen-umbenennen-Mit-Word-und-Xpdf

Das wäre ein Ansatz. Der Code dort ist ausreichend kommentiert. Das ist keine Komplettlösung für dein Problem, aber du siehst, wie PDF-Dateien mit Word ausgelesen werden.

Es geht auch über Xpdf. Man muss da auch nichts installieren, weil man über die "Xpdf command line tools" nur die "pdftotext.exe" benötigt.

Mit Power Query geht es etwas einfacher. Du benötigst da keine VBA Kenntnisse und kannst dir alles - unter Umständen - zusammenklicken. ;-)

Viel Erfolg (ohne aussagekräftige Beispieldatei mein letzter Post).

Servus
Case
Anzeige
AW: Mit VBA - ohne zusätzliche Software...
13.06.2024 09:38:23
Oberschlumpf
Hi Ralf,

kannst du bitte die Datei "ReadMeFirst.txt", auf die du im verlinkten Beitrag hingewiesen hast, hier uploaden?
(im anderen Beitrag ist sie nicht verfügbar)

Danke + Ciao
Thorsten
In der Datei...
13.06.2024 10:20:24
Case
Moin Thorsten, :-)

... stehen die beiden Stolperfallen bzw. Fehlerquellen: ;-)

FehlerQuellen:
###########################################################################################################
Wenn sie über "Xpdf" arbeiten gibt es 2 Fehlerquellen. Wenn sie nach Ausführung des Makros nur Dateinamen angezeigt bekommen und keine
Kunden- und Rechnungsnummer, dann haben sie entweder die "pdftotext.exe" nicht im gleichen Verzeichnis wie die Excdeldatei, oder den
Pfad nicht angepasst (falls die Datei in einem anderen Ordner ist). Ein häufiger Fehler ist die Unart in Ordner- bzw. Dateinamen
Leerzeichen zu haben. Diese müssen dann bei (CreateObject("Wscript.Shell").Exec...) maskiert werden. Siehe...
https://learn.microsoft.com/de-de/troubleshoot/windows-server/deployment/filenames-with-spaces-require-quotation-mark
https://learn.microsoft.com/de-de/troubleshoot/windows-client/shell-experience/file-folder-name-whitespace-characters
https://learn.microsoft.com/de-de/dotnet/standard/io/file-path-formats
https://learn.microsoft.com/de-de/windows/win32/fileio/naming-a-file
############################################################################################################

Hier noch eine PDF welche ich in dem Beispiel auslese: ;-)
https://www.herber.de/bbs/user/170237.zip

Servus
Case
Anzeige
AW: In der Datei...
13.06.2024 14:37:51
Oberschlumpf
Hi Ralf,

+ Danke!

Eigtl bin ich schneller im Antworten.
Wenn mich aber n Arzttermin von Excel abhält...tztz...dann is das schlechtes Timing :-)

Ok, die Stolperfallen beziehen sich auf XPDF...ich interessierte mich für die Word-Lösung (pdf2txt kann ich ja schon^^ :-) )...und das es in W nix zu stolpern gibt, wusst ich ja nich :-)
Jetzt, bzw eben hatte ich auch genug Zeit, deine Idee, die in Excel gestartet, aber in Word ausgeführt wird, zu testen = YEAH! :-)
Nach n paar Code-Anpassungen funktioniert deine Idee mit der nachgelieferten PDF-Datei einwandfrei!

SOOO macht Office Spaß!!! :-)

Nun muss ich das Ganze in den Details nur an meine PDF's anpassen, und dann wird das schon...

Ciao
Thorsten
Anzeige
Daumen hoch... :-) O.w.T.
13.06.2024 15:21:11
Case
Kann sonst noch jemand helfen..
13.06.2024 23:26:18
Memo
vielleicht mit einem VBA Ansatz?
ich hab es versucht, aber.... :-/
14.06.2024 19:11:45
Oberschlumpf
Hi,

ich hab in dein Problem wirklich einige Stunden investiert!
hier mein Versuch:
https://www.herber.de/bbs/user/170270.zip

die ZIP-Datei enthält diese Dateien:
deine Excel-Datei.xlsx = deine gezeigte Excel-Datei, wie alles hätte aussehen sollen = ich habe nur einen Kommentar eingetragen
PDF_Dateiname_V01.pdf = deine gezeigte PDF-Datei, die ausgelesen werden soll
mein Versuch.xlsm = man ahnt es :-), meine Excel-Datei mit dem VBA-Code für Word von Case, aber von mir an deine PDF-Datei angepasst
mit pdftotext ausgelesen.txt = Inhalt aus deiner PDF-Datei mit pdftotxt.exe ausgelesen = etwas besser als mit VBA-Code, aber auch nicht vollständig

Aber leider bin ich trotzdem nicht zu einer Lösung gekommen. :-/

Problem 1:
In deiner PDF-Datei kann XX1 - nicht - ausgelesen werden (funktioniert auch nicht mit pdftotext.exe!)
Wenn du die PDF mit nem Reader öffnest und den Mauspfeil über eine Textstelle bewegst, ändert sich der Pfeil in ein Strichsymbol (wie in Word) = hier ist Text, der ausgelesen werden kann!
Wenn du aber den Mauspfeil über "XX1" bewegst, bleibt der Mauspfeil ein Mauspfeil!
...entweder ist "XX1" und seine Nummern eine in die PDF-Datei eingefügte Grafik = Grafiken können - nicht - als Texte aus PDF's ausgelesen werden!
...oder der Tabellenteil in der PDF - "XX1" und seine Nummern - ist ein geschützter Bereich in der PDF-Datei = auch geschützte TEXT-Bereiche können nicht ausgelesen werden
...oder...ich hab keine Ahnung, wieso XX1 + Nummern nicht ausgelesen werden können

Problem 2:
Mit dem VBA-Word-Code kann zwar "XX2" ausgelesen werden, aber nicht der dazugehörige Name - um den es ja eigtl geht
ABER mit pdftotext.exe kann auch der Name zu XX2 ausgelesen werden = deswegen hab ich dir auch die Textdatei mitgeschickt.

So, wie gesagt, ich hab es versucht...

Ciao
Thorsten
Anzeige
AW: ich hab es versucht, aber.... :-/
15.06.2024 07:09:10
Memo
Hi Thorsten,

ich habe mir den Inhalt deine Zip Ordner angeschaut.

XX1 und XX2 sind beide Textfelder in der die Zahlen eingetippt werden.

Das mit xpdf wäre keine Lösung für mich, denn es sind nicht nur 1 PDF die ausgelesen werden sollen am Ende, sondern ca. hundert.

Daher macht es nur Sinn wenn die ausgelesene Daten in eine Excel als Tabelle aufgelistet werden, wie in meinem Excel Beispiel verdeutlicht.

Ich danke dir vielmals für deine Mühe.

Danke Danke.

Gruß
Memo
Anzeige
nur noch mal als Info
15.06.2024 07:42:23
Oberschlumpf
Hi,

...Das mit xpdf wäre keine Lösung für mich (weil ca 100 Dateien)👉...macht es nur Sinn wenn die ausgelesene Daten in eine Excel als Tabelle aufgelistet werden

= wenn es immer wieder der gleiche Dateiaufbau ist (und davon gehe ich aus), dann ist das Auslesen von PDF's MIT XPDF (ganz genau pdftotext.exe) UND VBA auch möglich!

Wie ich schon mal erwähnte:
Ich koche sehr gern und hab deswegen mittlerweile über 1200 Rezepte gesammelt = jedes Rezept in einer eigenen PDF-Datei = jede PDF-Datei lese ich in Excel mit VBA + PDFTOTEXT ein

...natürlich immer nur 1 PDF-Datei, aus der ich dann die Zutaten auslese...aber natürlich könnt ich auch alle PDF-Dateien einlesen...

Aber nun gut.
a) du hattest ja mal erwähnt, dass es bei euch nich gern gesehen wird, wenn ihr externe Programme auf dem Firmen-Computer einsetzt
b) außerdem befürchte ich, dass dieses Vorhaben "PDF's in Excel einlesen" für dich mit VBA bescheiden vielleicht noch n paar Nummern zu groß sein könnte
Das is nich böse gemeint! Aber es is nun mal so, wie es ist: Nur weil ein Freizeit-Pilot eine Chessna mit 1 Propeller fliegen kann, wird er lange noch nicht in der Lage sein, auch einen A380 fliegen zu können.

Bleib dran und gib nicht auf! Excel MIT VBA-Wissen kann voll der Hammer sein!!!

Ciao
Thorsten
Anzeige
AW: Kann sonst noch jemand helfen..
15.06.2024 04:57:44
Eifeljoi5
Hallo
Hier mal mein vorläufigen Test nur als Bild.
Wäre dies dein gewünschtes Ergebnis?
Oder was müsste deiner Meinung anders sein?
Userbild
Die Frage, die sich hier...
15.06.2024 10:29:05
Case
Moin, :-)

...stellt ist - wie sieht eine Original PDF-Datei aus, wenn du sie in Word öffnest? wird dort "XX1 - Nummer" auch als Shape dargestellt? Oder wie die SAP Nummern als Text? Dann ist das auslesen einfach.

Power Query liest das bei mir auch nicht ein. Die Felder von "XX1- Nummer" bleiben einfach leer. ;-)

Prinzipiell lässt sich auch der Text aus einem Shape auslesen - mit Klimmzügen.

Wir brauchen also noch ein paar Infos über das "XX1 - Nummer". ;-)

Servus
Case
Anzeige
AW: Kann sonst noch jemand helfen..
15.06.2024 05:24:54
Oberschlumpf
Moin,

schau dir die Antwort, bzw Excel-Datei im Beitrag "AW: Zum testen brauchen wir..." an.
In der Datei sieht man, wo alle auszulesene Daten stehen sollten.

Ciao
Thorsten
AW: Daten aus PDF auslesen + in Excel Sheet einfügen
12.06.2024 15:00:34
Eifeljoi5
Hallo

Ich sehe keine PDF Datei , nur eine slsx Datei
AW: Daten aus PDF auslesen + in Excel Sheet einfügen
12.06.2024 15:01:16
UweD
Hallo

Ändere die Endung der PDF Datei auf txt und lade die dann hoch (Schreibe dazu, das die wieder zurückbenannt werden muss.


LG UweD
Anzeige
AW: Daten aus PDF auslesen + in Excel Sheet einfügen
12.06.2024 16:10:45
Memo
Hi Uwe,

danke für die rasche Reaktion.

Anbei die Datei als txt.

https://www.herber.de/bbs/user/170223.txt

Bitte später wieder auf pdf umbenennen.

Danke.
Memo
Zum testen brauchen wir...
12.06.2024 18:20:09
Case
Moin, :-)

... eine PDF-Datei. Das was du hochgeladen hast ist eine Textdatei. Nimm doch einfach eine PDF-Datei und zippe sie. Die kannst du auch hochladen. Vorab schau dir mal auch das an: ;-)
https://learn.microsoft.com/de-de/power-query/connectors/pdf

Damit geht das.

Servus
Case
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige