XML aus ZUGFeRD-PDF extrahieren

Rund um die LCL und andere Komponenten
Antworten
kirchfritz
Beiträge: 275
Registriert: Mo 3. Jan 2011, 13:34
OS, Lazarus, FPC: Win11 (L 4.0 FPC 3.2.2)
CPU-Target: 64Bit
Wohnort: Nürnberg

XML aus ZUGFeRD-PDF extrahieren

Beitrag von kirchfritz »

Hallo,

hat jemand ein Beispiel Programm, wie man mit Lazarus/FreePascal-Bordmittel (Package: fcl_pdf) eine XML-Datei aus einer ZUGFeRD-PDF extrahieren kann.

Bitte keine Antworten der Form:
"Ich weiß ja nicht wie das mit fcl_pdf geht, aber ich nehme dazu den JAVA-Aufruf aus dem Mustang-Projekt."
"Ich weiß ja nicht wie das mit fcl_pdf geht, aber ich nehme dazu PDFIUM.dll."
"Ich weiß ja nicht wie das mit fcl_pdf geht, aber ich nehme dazu Ghostscript."
"Ich weiß ja nicht wie das mit fcl_pdf geht, aber ich nehme dazu PDFTK."

Ich möchte explizit wissen, wie das mit dem FCL_PDF Package geht.

Viele Grüße aus Nürnberg
Fritz
Dateianhänge
EN16931_Elektron.pdf
Das ist meine ZUGFeRD-PDF
(1.05 MiB) 6-mal heruntergeladen
Hier sieht man, dass das PDF 3 Attachments hat, mich interessiert aber nur das factur_x.xml
Hier sieht man, dass das PDF 3 Attachments hat, mich interessiert aber nur das factur_x.xml
Screenshot 2026-08-30 195650.png (36 KiB) 172 mal betrachtet

Benutzeravatar
Jorg3000
Lazarusforum e. V.
Beiträge: 458
Registriert: So 10. Okt 2021, 10:24
OS, Lazarus, FPC: Win64
Wohnort: NRW

Re: XML aus ZUGFeRD-PDF extrahieren

Beitrag von Jorg3000 »

Guten Abend!
Ich hätte zwei weitere Möglichkeiten, nach denen du nicht gefragt hast. :lol:
Denn mit fcl_pdf (fpPDF) geht es meines Wissens nicht, weil es nur ein Writer ist.

Das Erste ist ein nagelneuer Pascal-nativer PDF-Reader, der vorletzten Monat wahrscheinlich von einem Sprachmodell unter Token-Qualen geboren wurde ...
https://github.com/Xelitan/PDF-Viewer-e ... rus-Delphi
Darin gibt es eine Unit PdfParser.pas - vielleicht kann sie mit XML-Einbettungen umgehen. Zur genauen Verwendung befragt man wahrscheinlich am besten auch ein LLM.

Als Zweites gibt es ein altes Projekt "ZUGFeRD-for-Delphi", das wohl nun FreePascal-kompatibel ist.
https://github.com/LandrixSoftware/ZUGFeRD-for-Delphi
Es kann explizit kein PDF-Attachment extrahieren, aber schon auf der Startseite findet man ein Beispiel: "You can use the PDFtk Server tool to extract the xml attachment from a pdf file".
Also genau das was du nicht willst, aber ich wollte es trotzdem hier erwähnt haben, weil es ein getesteter Weg zu sein scheint.

Grüße, Jörg

Soner
Beiträge: 813
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: XML aus ZUGFeRD-PDF extrahieren

Beitrag von Soner »

PDF-Dateien sind kodierte Textdateien. Du kannst, sie öffnen, z.B. mit TStringList, dann die Kodierte XML extrahieren und dekodieren:
Factur-x in PDF
Factur-x in PDF
factur-x-in-pdf.png (37.35 KiB) 124 mal betrachtet
Es sollen meistens flat-kodierte ZIP-Daten sein, in diesem Beispiel sieht man es auch, siehe "FlatDecode". Man müsste mit ZLib von FreePascal dekodieren können.

sh17
Beiträge: 16
Registriert: Mo 29. Jun 2026, 07:02
Kontaktdaten:

Re: XML aus ZUGFeRD-PDF extrahieren

Beitrag von sh17 »

Jorg3000 hat geschrieben: So 30. Aug 2026, 20:47 Als Zweites gibt es ein altes Projekt "ZUGFeRD-for-Delphi", das wohl nun FreePascal-kompatibel ist.
Das ist nicht alt, das ist top aktuell. FreePascal ist aber noch in Planung. Ich mach mir mal Gedanken, ob PDF-Extraktion möglich ist.

FreePascal kann nur https://github.com/LandrixSoftware/XRechnung-for-Delphi

Falls ich eine Lösung finde, würde ich sie in beide Repos einbauen

paweld
Beiträge: 119
Registriert: So 11. Jun 2023, 16:01
OS, Lazarus, FPC: Lazarus trunk, FPC fixes

Re: XML aus ZUGFeRD-PDF extrahieren

Beitrag von paweld »

Wenn Sie den FPC-Trunk/Main (3.3.1) verwenden, verfügt dieser über den fppdfparser, der das Einlesen von PDF-Dateien ermöglichen sollte – soweit ich weiß, generiert er zwar keine Vorschau, kann aber Text und in der PDF-Datei eingebettete Objekte extrahieren: https://gitlab.com/freepascal.org/fpc/s ... type=heads
Grüße / Pozdrawiam
paweld

sh17
Beiträge: 16
Registriert: Mo 29. Jun 2026, 07:02
Kontaktdaten:

Re: XML aus ZUGFeRD-PDF extrahieren

Beitrag von sh17 »

fppdfparser kann meines Wissens keine Anhänge auslesen.

ich hab da mal was kleines gebaut, funktioniert mit Delphi und FreePascal

https://github.com/LandrixSoftware/XRec ... xtract.pas

Antworten