Skip to main content
Version: Dingo

ks.documents

Mit ks.documents lassen sich PDF's und verschiedene Nachrichtenvorlagen kompilieren und interpolieren, damit sie in das gewünschte Format für die weitere Verarbeitung gebracht werden.

generatePdf

Erstellt mit den vorgegebenen Daten eine PDF.

info

Nur Serverseitig verfügbar

Parameter

NameTypPflichtangabeBeschreibung
fileObjektJaInhalt der zu generierenden PDF
userObjektJaUser in dessen Kontext die Erstellung laufen soll. Wird unter anderem für Sprache und Zeitzonen Einstellungen verwendet
returnAsStringBooleanNeinSteuert ob die erstellte PDF als Base64 String oder Buffer zurückgegeben wird.
Default: false

Beispiel

In diesem Beispiel wird eine PDF Nachrichtenvorlage verwendet, um eine PDF im Base64 Format zu erstellen.

const messageTemplate = await ks.record.get('MessageTemplate', 'd2f78da5-fbd3-fe91-4046-3b5aea0648f6');
const messageTemplateI18ns = await messageTemplate.messageTemplateI18ns;

const germanMessageTemplate = _.find(messageTemplateI18ns, {language: 'de'});

const pdfAsBase64 = await ks.documents.generatePdf({
documentData: {
body: germanMessageTemplate.body.pug,
css: germanMessageTemplate.body.css
}
}, user, true);

generatePdfsAndDownload

Funktioniert analog zu generatePdf, nur das hier die PDF's direkt im Client heruntergeladen werden. Dabei kann man zwischen einem direkten PDF Download und einer Zip komprimierten PDF auswählen.

info

Nur Clientseitig verfügbar

Parameter

NameTypPflichtangabeBeschreibung
filesObjekt ArrayJaInhalt der zu generierenden PDF's
zipBooleanJaSteuert ob die generierten PDF's Zip komprimiert werden sollen
zipNameStringNeinName der resultierenden Zip, falls Komprimierung erwünscht

generateTemplateByName

Interpoliert eine HTML oder E-Mail Nachrichtenvorlage mit den gegebenen Parametern und liefert das daraus resultierende HTML zurück.

Parameter

NameTypPflichtangabeBeschreibung
nameOrIdObjektJaName oder Id der zu interpolierenden Nachrichtenvorlage
optionsObjektJaEnthält im data Objekt Daten zur Interpolation (analog zu DocumentData)
userObjektJaUser in dessen Kontext die Erstellung laufen soll. Wird unter anderem für Sprache und Zeitzonen Einstellungen verwendet

Beispiel

In diesem Beispiel wird eine E-Mail Nachrichtenvorlage mit Vorname und Nachname eines Users interpoliert, um die Anrede zu personalisieren. Das daraus resultierende HTML kann dann beispielsweise zum Senden der E-Mail verwendet werden.

const interpolatedHTML = await ks.documents.generateTemplateByName('MyEMailTemplate', {
data: {
firstName: 'Max',
lastName: 'Mustermann'
}
}, user);

// HTML kann nun zum senden der E-Mail verwendet werden

DocumentData

In der DocumentData sind alle Daten enthalten die zur Erstellung der PDF benötigt werden.

data

Objekt mit weiteren Daten die zur späteren Interpolation der PDF Templates benötigt werden

fileName

Dateiname der resultierenden PDF

documentData

Der Body enthält die Pug Definition zur Generierung. Im Body kann zusätzlich noch eigenes CSS angegeben werden oder aus einer Nachrichtenvorlage verwendet werden.