gs-Aufruf geändert, erzeugt jetzt valides ZUGFeRD-PDF!
Bernd Wurst

Bernd Wurst commited on 2025-01-24 19:37:56
Zeige 2 geänderte Dateien mit 6 Einfügungen und 4 Löschungen.

... ...
@@ -13,7 +13,7 @@ sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))
13 13
 
14 14
 from Invoice.InvoiceObjects import Invoice, RECHNUNG, InvoiceText, InvoiceTable, KORREKTUR, PAYMENT_LASTSCHRIFT, \
15 15
     InvoiceImage
16
-from Invoice.InvoiceToPDF import InvoiceToPDF
16
+from Invoice.InvoiceToPDF import InvoiceToPDF, find_font_file
17 17
 from Invoice.InvoiceToText import InvoiceToText
18 18
 from Invoice.InvoiceToZUGFeRD import InvoiceToXML, attach_xml
19 19
 
... ...
@@ -174,8 +174,9 @@ if __name__ == '__main__':
174 174
                 tmp1.write(pdfdata)
175 175
                 tmp1.close()
176 176
                 tmp2.close()
177
+                fontpath=find_font_file('DejaVuSans.ttf')
177 178
                 proc = subprocess.run(
178
-                    f'gs -dPDFA=3 -sColorConversionStrategy=RGB -sDEVICE=pdfwrite -dPDFACompatibilityPolicy=1 -o {tmp2.name} {tmp1.name}',
179
+                    f'gs -dPDFA=3 -dBATCH -dNOPAUSE -dNOOUTERSAVE -sColorConversionStrategy=UseDeviceIndependentColor -sFONTPATH={fontpath} -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -dPDFACompatibilityPolicy=1 -o {tmp2.name} {tmp1.name}',
179 180
                     capture_output=True, shell=True, check=True)
180 181
                 # Im Fehlerfall ?!
181 182
                 with open(tmp2.name, 'rb') as f:
... ...
@@ -43,6 +43,7 @@ data = {
43 43
               'mahnung': None,
44 44
               'notizen': None,
45 45
               'pdfdata': None,
46
-              'referenzen': '{"kundenreferenz": "KrfzNr", "vertragsnummer": "654321", "bestellnummer": '
47
-                            '"08/15-BestNr4711", "leitwegid": "012345678"}',
46
+              #'referenzen': '{"kundenreferenz": "KrfzNr", "vertragsnummer": "654321", "bestellnummer": '
47
+              #              '"08/15-BestNr4711", "leitwegid": "012345678"}',
48
+              'referenzen': '{"kundenreferenz": "KrfzNr"}',
48 49
               'sepamandat': None}}
49 50