Hallo,
ich habe die Implementierung der ZUGFeRD - Einbettung einer Datei (in diesem Fall die ZUGFeRD XML) aus der Doku verwendet, leider melden beide verwendeten Testportale dass die Einbettung nicht korrekt ist:
(Zeilennummer) - Fehler / Hinweise
******************************************************
(0000) ZUGFeRD (PDF-Metadaten) Dateiname ist nicht korrekt.
(0000) ZUGFeRD (PDF-Metadaten) sind nicht vollständig.
(0000) Es konnte kein XML aus dem ZUGFeRD PDF extrahiert werden.
Benutzt habe ich folgenden Code:
Code
procedure TForm1.Button2Click(Sender: TObject);
var
sEXEPath: string;
sXMLFullPath: string;
sPDFFullPath: string;
PDF: TWPPDFPrinter;
bAttachedOK: boolean;
begin
sEXEPath := ExtractFilePath(Application.ExeName) + '';
sXMLFullPath := 'c:\temp\ZUGFeRD-invoice.xml';
sPDFFullPath := 'c:\temp\RE_' + FormatDateTime('dd_mm_yyyy___hh_nn_ss',
Now()) + '.pdf';
WPDF_Start('*********', '************');
PDF2.Filename := sPDFFullPath;
PDF2.PDFAMode := wpdfaLevel3B;
PDF2.PageMode := wpUseThumbs;
PDF2.FontMode := wpEmbedType3;
PDF2.BeginDoc();
try
// Add XML-Attachment
bAttachedOK := PDF2.AddFileAttachment(ExtractFileName(sXMLFullPath),
// Shown name
'ZUGFeRD invoice in XML format', // Description
sXMLFullPath, // FileName
'text/xml', // MimeType
0 // Modified Date
);
if bAttachedOK then
showmessage('AddFileAttachment: OK')
else
showmessage('AddFileAttachment: ERROR');
// <<<< :-( every time this message, but why?
// Add Page with Text
PDF2.StartPage(800, 1000, 72, 72, 0);
PDF2.Canvas.Font.Name := 'Arial';
PDF2.Canvas.Font.Size := 20;
PDF2.Canvas.TextOut(10, 10, 'ZUGFeRD-Test (see XML attachment)');
PDF2.EndPage();
finally
PDF2.EndDoc();
end;
showmessage('PDF file created' + #13#10 + sPDFFullPath);
end;
Alles anzeigen
Dabei ist PDF2 ein TWPPDFExport auf dem Formular.
bAttachedOK ist true (nach einer Änderung der WPPDFR1.pas)
Gibt es hierfür bereits Lösungsansätze?
Ciao
Stefan