AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wie prüfen ob PDF ZUGFeRD enthält?

Ein Thema von TurboMagic · begonnen am 8. Aug 2024 · letzter Beitrag vom 23. Okt 2024
 
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.677 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Wie prüfen ob PDF ZUGFeRD enthält?

  Alt 9. Aug 2024, 16:07
Also es gibt über die Zeit mehrere Namen, die so eine Datei haben kann. Hier mal die Variante, wie ich die Daten aus der PDF mit der PDFiumLib bekomme

Code:
    if (pdfView.PDFDocument <> nil) then
    if pdfView.PDFDocument.Active then
    if pdfView.PDFDocument.Attachments.Count > 0 then
    for i := 0 to pdfView.PDFDocument.Attachments.Count - 1 do
    if (Pos('.xml',LowerCase(pdfView.PDFDocument.Attachments[I].Name)) > 0) or
       (Pos('zugferd',LowerCase(pdfView.PDFDocument.Attachments[I].Name)) = 1) or
       (Pos('factur-x',LowerCase(pdfView.PDFDocument.Attachments[I].Name)) = 1) then
    try
      aStr := TMemoryStream.Create;
      try
        pdfView.PDFDocument.Attachments[I].SaveToStream(aStr);
        aStr.Seek(0,soFromBeginning);
        case TXRechnungValidationHelper.GetXRechnungVersion(aStr) of
          XRechnungVersion_230_UNCEFACT,
          XRechnungVersion_30x_UNCEFACT,
          XRechnungVersion_ReadingSupport_ZUGFeRDFacturX :
          begin
            zugferdCurrentInv2 := TInvoice.Create;
            TXRechnungInvoiceAdapter.LoadFromStream(zugferdCurrentInv2,aStr,error);
          end;
        end;
      finally
        aStr.Free;
      end;
      break;
    except
      on E:Exception do MessageDlg(E.Message+' '+e.ClassName, mtError, [mbOK], 0);
    end;
Ganz wild wird es bei alten Dokumenten, da kommt dann evtl. noch ZUGFeRD 1.0 ins Spiel. Keine schöne Sache
Sven Harazim
--
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz