const fs = require('fs');
const path = require('path');
const AdmZip = require('adm-zip');
function createOfferTemplate() {
try {
const zip = new AdmZip();
// [Content_Types].xml
const contentTypes = `
`;
// _rels/.rels
const rels = `
`;
// word/document.xml - Angebot Template
const document = `
ANGEBOT
Anbieter:
Interessent:
++firma++
++kunde_name++
++straße++
++kunde_straße++
++plz++ ++stadt++
++kunde_plz++ ++kunde_stadt++
Ansprechpartner: ++ansprechpartner++
Email: ++kunde_email++
Email: ++email++
Tel: ++kunde_telefon++
Angebotsnummer: ++angebotsnummer++
Angebotsdatum: ++datum++
Gültig bis: ++gültig_bis++
Projekt: ++projekt_name++
Sehr geehrte Damen und Herren,
gerne unterbreiten wir Ihnen folgendes Angebot:
Pos.
Leistung
Beschreibung
Aufwand
Preis
++leistungen[0].nr++
++leistungen[0].titel++
++leistungen[0].beschreibung++
++leistungen[0].aufwand++
++leistungen[0].preis++
Gesamtpreis: ++gesamtpreis++
Alle Preise verstehen sich zzgl. der gesetzlichen Mehrwertsteuer.
Projektdauer:
Geplanter Projektstart: ++projektstart++
Voraussichtliche Fertigstellung: ++projektende++
Zahlungskonditionen:
++zahlungskonditionen++
Für Rückfragen stehen wir Ihnen gerne zur Verfügung.
Mit freundlichen Grüßen
++ansprechpartner++
`;
// Dateien zum ZIP hinzufügen
zip.addFile('[Content_Types].xml', Buffer.from(contentTypes, 'utf8'));
zip.addFile('_rels/.rels', Buffer.from(rels, 'utf8'));
zip.addFile('word/document.xml', Buffer.from(document, 'utf8'));
// DOCX speichern
const templatePath = path.join(__dirname, 'templates', 'angebot-template.docx');
fs.writeFileSync(templatePath, zip.toBuffer());
console.log('✅ Angebot-Template erstellt:', templatePath);
} catch (error) {
console.error('❌ Fehler beim Erstellen des Angebot-Templates:', error);
}
}
createOfferTemplate();