insertDocumentContent
Versionshinweise | 24.1.05, 24.2 | ||
---|---|---|---|
Web Client | |||
Windows Client |
Code
void insertDocumentContents(String documentPk, List<IDocumentContent> documentContents) throws Exception
Beschreibung
Ermöglicht das nachträgliche Einfügen von text- oder bildbasierten Inhalten in ein bestehendes Word-Dokument. Hierbei können entweder konstante Werte oder dynamische Werte basierend auf Angabe des Feldnamens und des Primärschlüssels im Word-Dokument eingefügt werden.
Für die Definition der zu übergebenden Werte wird das Objekt IDocumentContent
verwendet. Dieses enthält im Wesentlichen den Namen der Textmarke und den einzufügenden Wert. Aktuell werden folgende Arten von Inhalten unterstützt:
Unterstützung von Textfeldern (Plaintext und HTML)
Unterstützung von Imagefelder, z.B. Bild oder Unterschrift aus dem Mitarbeiterstamm
Zwecks Vorgabe der Größe sollte die Textmarke in ein Textfeld eingebettet werden. Das einzufügende Bild wird in das Textfeld skaliert.
Bei Verwendung anderer Typen erfolgt aktuell eine unformatierte Ausgabe (kann bei Bedarf ausgebaut werden)
Parameter
documentPk
Primärschlüssel des Dokumentendatensatzes, welches nachträglich geändert werden solldocumentContents
Liste von Objekten des TypsIDocumentContent
. DasIDocumentContent
enthält im Wesentlichen den Namen der Textmarke und den einzufügenden Wert.
Exception
Bei ungültigem Dokument oder fehlerhafter Konfiguration der IDocumentContent
Objekte wird das Einfügen mittels einer Exception abgebrochen und das Dokument bleibt unverändert.
Ein ungültiges Dokument liegt liegt in folgenden Fällen vor:
Ungültiger Dokumenten Primärschlüssel (kein Dokument gefunden)
Das Dokument ist kein Word-Dokument
Eine fehlerhafte Konfiguration liegt in folgenden Fällen vor:
Ungültiger Feldname
Vertraulicher Feldname
Ungültiger Primärschlüssel (kein Datensatz gefunden)
Beispiele
List documentContents = new ArrayList();
// Constant value
documentContents.add(DocumentUtils.createDocumentContent("TEXT_ABTEILUNG", "Wonderful world"));
// Plain text from existing employee
documentContents.add(DocumentUtils.createDocumentContent("TEXT_FIRSTNAME", "FirstName.Employee", "ged-personpk28#employee13"));
// Html text from existing activity
documentContents.add(DocumentUtils.createDocumentContent("TEXT_HTML", "Text.Activity", "ged-activitypkAdac1"));
// Image from Picture.Employee
documentContents.add(DocumentUtils.createDocumentContent("GRAFIK_PICTURE", "Picture.Employee", "ged-personpk28#employee13"));
DocumentUtils.insertDocumentContents("docPk1", documentContents);