145971
Goto Top

Werte aus PDF beziehen

Hi

ich habe ein eigenes Buchhaltungssystem im Einsatz (selbst programmiert mit PHP, jquery).
Darüber kann ich eine PDF Datei hochladen (um eine Ausgabe anzulegen).
Das läuft noch alles manuell: Ich muss Rechnungsbetrag, Rechnungsdatum und Zahlungsdatum selbst eingeben.

Gerne würde ich das automatisieren.
Bestes Beispiel: https://www.buhl.de/buero/belege-digitalisieren/

Gibt es da schon was fertiges, was ich für mein System nutzen kann?
Oder kann mir jemand sagen, wie ich dies am Besten realisieren kann?

Habe schon ein paar Lösungen gefunden, welche mir pdf 2 text konvertieren.
aber hier stellt sich dann die Frage: wie erhalte ich daraus dann Rechnungsbetrag, Rechnungsdatum und Zahlungsdatum?

Content-ID: 6513634837

Url: https://administrator.de/contentid/6513634837

Ausgedruckt am: 21.11.2024 um 20:11 Uhr

6247018886
Lösung 6247018886 26.03.2023 aktualisiert um 11:12:38 Uhr
Goto Top
wie erhalte ich daraus dann Rechnungsbetrag, Rechnungsdatum und Zahlungsdatum?
Per Regular Expressions
preg_match()

pdf2text class

How to extract text from the PDF document?

Cheers briggs
145971
145971 27.03.2023 um 07:01:00 Uhr
Goto Top
Vielen Dank!

Habe nun folgende Class im Einsatz:
https://github.com/smalot/pdfparser

und den Content der PDF in String Form.
Jetzt kommt aber mein größtes Problem.
ich würde gerne via preg_match aus dem String Beträge wie 10,30 und 10.30, wie auch Daten wie 20.04.2023 extrahieren.

Ich kenne mich mit preg_match allerdings bis heute nicht aus und habe auch Probleme es zu verstehen.
Kann hier jemand unterstützen?
6247018886
6247018886 27.03.2023 aktualisiert um 07:30:23 Uhr
Goto Top
Ich kenne mich mit preg_match allerdings bis heute nicht aus und habe auch Probleme es zu verstehen.
Zum Lernen der Regular Expression Syntax
https://danielfett.de/2006/03/20/regulaere-ausdruecke-tutorial/

ich würde gerne via preg_match aus dem String Beträge wie 10,30 und 10.30, wie auch Daten wie 20.04.2023 extrahieren.
$string = "Blabliblub 20.04.2023 blabla";  
if (preg_match('/\d{2}\.\d{2}\.\d{4}/',$string,$matches)){  
    echo $matches[0];
}
https://tio.run/##K8go@P/fxr4go4BLpbikKDMvXcFWQckpJzEpJzMppzRJwchAz8BEz8 ...
145971
145971 27.03.2023 um 07:37:16 Uhr
Goto Top
tatsächlich habe ich eben auch eine Lösung für Datum gefunden.

/[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{2,4}/

Vielen Dank für deine!
Aber wie mache ich das mit den Beträgen wie 10,30 oder 10.30

Habe z.B. im String auch einen Betrag wie folgt:

1.599,60
6247018886
6247018886 27.03.2023 aktualisiert um 07:46:24 Uhr
Goto Top
145971
145971 27.03.2023 aktualisiert um 07:54:07 Uhr
Goto Top
das sieht schon mal sehr gut aus, allerdings wird damit auch ein Datum angezeigt:
https://tio.run/##K8go@P/fxr4go4BLpbikKDMvXcFWQck1L6W4NDc31UrBUM/MwEzH0l ...

Update:
So wird das Datum nicht angezeigt:

/[\d\.]+[\,]\d{2}/
6247018886
6247018886 27.03.2023 aktualisiert um 07:57:10 Uhr
Goto Top
Besser gleich so wenn der Pre-String eh bekannt ist:
https://tio.run/##K8go@P/fxr4go4BLpbikKDMvXcFWQck1L6W4NDc31UrBUM/MwEzH0l ...
145971
145971 27.03.2023 aktualisiert um 07:57:02 Uhr
Goto Top
Prestring ist nicht bekannt - war nur als Beispiel face-smile
Aber ich denke damit komme ich weiter!

Vielen Dank face-smile