const PizZip = require('pizzip'); const fs = require('fs'); const path = require('path'); // Erstelle ein Template mit professioneller Tabelle für docxtemplater function createTableTemplate() { const zip = new PizZip(); // Content Types zip.file('[Content_Types].xml', ` `); // Main relationships zip.file('_rels/.rels', ` `); // Document relationships zip.file('word/_rels/document.xml.rels', ` `); // Styles zip.file('word/styles.xml', ` `); // Document content optimiert für docxtemplater zip.file('word/document.xml', ` RECHNUNG Firma: {firma} Ansprechpartner: {vorname} {nachname} E-Mail: {email} Adresse: {adresse}, {plz} {stadt} Rechnungsdatum: {datum} Rechnungsnummer: {nummer} RECHNUNGSPOSITIONEN Pos. Beschreibung Betrag (EUR) Datum {#items}{items_position}{/items} {items_name} {items_value} {items_date} GESAMTBETRAG {betrag} Bemerkungen: {beschreibung} Mit freundlichen Grüßen {firma} `); return zip.generate({ type: 'nodebuffer' }); } // Erstelle das Template const templateBuffer = createTableTemplate(); const templatePath = path.join(__dirname, 'templates', 'rechnung_mit_tabelle.docx'); fs.writeFileSync(templatePath, templateBuffer); console.log('Template mit Tabelle erstellt:', templatePath); console.log('Features:'); console.log('- Erste Seite: Rechnungskopf'); console.log('- Zweite Seite: Professionelle Tabelle mit Spalten für Position, Beschreibung, Betrag und Datum'); console.log('- Automatische Positionsnummerierung'); console.log('- Summenzeile am Ende der Tabelle');