akeipra
Goto Top

PDF Lieferplan zu Excel Übersicht

Hallo ADMINISTRATOR-Community,

ich frage mich, ob Excel das richtige Tool dafür ist. Habt ihr vielleicht eine Idee, wie man es umsetzen könnte? Zum Beispiel, wie man 20 PDFs auslesen und in eine übersichtliche Tabelle formatieren kann?

Die PDFs haben alle das gleiche Format. Im Laufe eines Arbeitstages werden die PDFs willkürlich geschickt und können ältere Versionen überschreiben. Man erkennt die verschiedenen Versionen anhand des Artikels und der fortlaufenden Dokumentennummer. Es handelt sich dabei um Lieferpläne.

Habt ihr Tipps oder Vorschläge, wie man das am besten angehen könnte? Ich bin mir nicht sicher, ob Excel die beste Lösung ist, und bin offen für alternative Ansätze.

Das Ziel wäre eine einzige Übersicht zu erstellen, in der man direkt sieht, wann welcher Artikel als nächste geliefert werden soll.

Ich habe es bereits mit Tabula versucht zu konvertieren, leider nicht zufriedenstellend.

Danke schon mal für eure Hilfe!
Anbei noch ein Screenshot der Tabelle.

PS: In der Regel gibt es WebEDI Schnittstellen, die aber nicht verfügbar sind.
beispiel

Content-ID: 8077037821

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

Ausgedruckt am: 16.10.2024 um 12:10 Uhr

7907292512
7907292512 08.08.2023 aktualisiert um 12:35:44 Uhr
Goto Top
Akeipra
Akeipra 08.08.2023 um 17:24:08 Uhr
Goto Top
Vielen Dank - die Suche hätte ich in der Tat vorher ausprobieren könne.

Ich habe mir alle 3 Lösungen angeschaut, offensichtliche waren die anderen Thread schlauer.

Ich bekomme die Lösungen leider nicht umgesetzt.
Trommel
Trommel 08.08.2023 aktualisiert um 17:30:35 Uhr
Goto Top
Zitat von @Akeipra:
Ich bekomme die Lösungen leider nicht umgesetzt.

Was hast Du denn bereits probiert - wo kommst Du nicht weiter?

Trommel
Akeipra
Akeipra 09.08.2023 um 13:26:01 Uhr
Goto Top
Ich habe XPDFreader installiert und versucht den Code anzupassen, VBA Code anzupassen.

Excel schmeisst mir immer eine Fehlermeldung aus.

Zumal versteh ich nicht wie erkannt wird, wenn ich die Sachnummer des Lieferers benötige.
Denn die Formularfelder sind ja an sich nicht benannt.

# ------------------------------------------------------
# Pfad in dem das/die PDF(s) liegen
$PDFQUELLE = "D:\Katalog"    
# Pfad zur iTextsharp DLL
$PATH_ITEXTSHARP = "D:\Katalog\itextsharp.dll"    
# Regex-Pattern für Artikelnummernformat
$PATTERN = '(?is)\b(ARTNR\.:\d+)\b'    
# Ausgabedatei
$OUTFILE = 'D:\Katalog\artikelnummern.csv'    
# ------------------------------------------------------

# Mindestens PS 3.0
if ($PSVersionTable.PSVersion.Major -lt 3){write-host "ERROR: Minimum Powershell Version 3.0 is required!" -F Yellow; return}      

# iTextSharp DLL laden
Add-Type -Path $PATH_ITEXTSHARP -EA Stop

# Alle PDF-Dateien des Skript-Ordners verarbeiten und Artikelnummern extrahieren
gci $PDFQUELLE -Filter *.pdf -File | %{
    try{
        # PDF Reader Object erstellen
        $reader = new-object iTextSharp.text.pdf.PdfReader $_.Fullname
         # Jede Seite des PDFs verarbeiten
         1..($reader.NumberOfPages) | %{
                # Seitennummer
                $page = $_
                # Extrahiere den Text des PDFs, lese all Artikelnummern aus und geben dazu die aktuelle Seite als Custom-Object aus
                [regex]::matches(([iTextSharp.text.pdf.parser.PdfTextExtractor]::GetTextFromPage($reader,$page)),$PATTERN).Captures | ?{$_.Success} | %{
                    [pscustomobject]@{'Artikelnr' = $_.Groups[1].Value; Seite = $page}    
                }
         }
    }catch{
        throw $_
    }
} | export-csv $OUTFILE -Delimiter ";" -NoType -Encoding UTF8    

# object cleanup
$reader.Close()
$reader.Dispose()
7907292512
7907292512 09.08.2023 aktualisiert um 14:25:27 Uhr
Goto Top
Wenn du uns so ein PDF mal zum Download stellst kann man sicher weiterhelfen, da man wissen muss wie der Text aus dem PDF durch iTextSharp extrahiert wird. Hat man das kann man sich Regex-Patterns bauen die die benötigten Teile extrahieren.
Zumal versteh ich nicht wie erkannt wird, wenn ich die Sachnummer des Lieferers benötige.
Das macht man mit dem Regular-Expression-Pattern in Zeile 7.
Regular Expressions lernen

Hätte diesen Beitrag hier wohl passender gefunden, unten im Kommentar gibt es wohl auch die Variante um Daten aus dem PDF in eine CSV zu exportieren
PDF Formular mit Daten aus Excel füttern?
Bleibt dann immer noch die Frage ob in deinem PDF noch Formularfelder vorhanden sind oder nicht.
colinardo
colinardo 19.09.2023 aktualisiert um 12:00:37 Uhr
Goto Top
Servus @Akeipra.
Ich habe gerade eine Anleitung für ein Powershell-CMDLet veröffentlicht das genau das kann, nämlich Text gezielt anhand seiner absoluten Position aus einem PDF-Dokument auslesen:
Powershell: Text anhand seiner Position aus PDF-Dokumenten auslesen
Damit solltest du in deinem Fall klarkommen (wenn nicht, melde dich bei mir). Du brauchst nur die benötigten Text-Positionen im PDF ausmessen der Rest geschieht dann wie von selbst face-wink

Gruß @colinardo
kstadus
kstadus 30.01.2024 um 22:13:10 Uhr
Goto Top
Hallo Akeipra, ich habe das gleiche Thema seit sehr langen. Wir bekommen ebenfalls täglich von unseren Kunden für jedes einzelne Bauteil den entsprechenden aktualisierten Lieferabruf.
Momentan tragen wir dies in eine sehr große Exceltabelle ein wo wie uns ein kleines Dashbord erstellt haben.
Dies kann allerdings nicht die Zukunft sein.
Irgend wie wollen wir, dass entweder der Lieferplan umgewandelt wird und dann ggf. in eine entsprechende Excelzeile eingefügt wird.
Hast du hier bereits eine kleine Lösung gefunden - ggf. können wir uns gern mal telefonisch austauschen.
Ich habe sehr viele Ideen und du bestimmt ebenfalls 🤷‍♂️.

Beste Grüße