Ob Rechnung, Teilnahmebescheinigung, Urlaubsantrag, Tätigkeitsnachweis oder Artikelstückliste: Heutzutage gibt es unzählige standardisierte Dokumente, die Tag für Tag in Unternehmen erstellt werden. Dass die manuelle Erzeugung keine Alternative ist, dürfte jedem klar sein. Schließlich bindet sie unnötige Ressourcen und ist fehleranfällig. Doch wie sieht die Alternative aus? VSTO oder sogar Word Automatisierung, so wie man es in den 90ern gemacht hat? In diesem Vortrag werden Sie eine weitere Alternative für die serverseitige Dokumentengenerierung kennen lernen: Das Microsoft Office Open XML SDK. Nach einem kurzen Überblick über den Aufbau und den Funktionsumfang des SDKs werden Sie Anhand von praxisnahen Live Demos erfahren, wie Sie kostenlos Word Kompatible (*.docx) Dokumente erzeugen können. Dabei werden Sie jedoch nicht nur erfahren, was alles geht, sondern auch wo die Grenzen sind.
4. Lösungsansatz: Manuelles Erstellen
• Zeitaufwändig
• Mitarbeiter stehen in dieser Zeit nicht für wichtigere Aufgaben zur
Verfügung
• Fehleranfällig
5. Lösungsansatz: Word Automatisierung
• Sehr beliebt Ende der 90er
• Setzt ein installiertes Word voraus
• Scheidet auf dem Server aus
• Anwender benötigt spezielle Word- Version
• Läuft selten stabil
6.
7. Office Open XML
• Offener Standard (ECMA-376) seit 2006
• Word, Excel, PowerPoint
• WordProcessingML
• SpreadsheetML
• PresentationML
• De facto Standard für Austauschformate
8. Office Open XML
• Zip Container
• Enthält XML und binäre Inhalte in einer Ordner-Struktur
10. Aufbau Open XML
ZIP Container
[Content_
Types]
docProps
app/core
Title, Author,
Application
word
document
w:document
w:body
w:run
styles
Styles
Tab positions
rels
rels
11.
12. Zugriff auf das Dokument per Quellcode
(lesend)
• Entpacken der Datei
• Entsprechende XML Datei in XmlDocument laden
• Passende Knoten über XPath-Queries suchen.
13. Zugriff auf das Dokument per Quellcode
(lesend)
• Entpacken der Datei
• Entsprechende XML Datei in XmlDocument laden
• Passende Knoten über XPath-Queries suchen.
14. Lösungsansatz: Microsoft Open XML SDK
• Wrapper um das ECMA-376 Office Open XML Dateiformat
• Liest und schreibt .docx
• Benötigt kein installiertes Word
• Wird auf dem Server unterstützt
15.
16.
17.
18.
19. Demo
Open XML SDK Productivity Tool
(Quellcode: Siehe http://andrekraemer.de)
29. Open XML SDK
• Manipulation von Dokumenten ohne installiertes Word möglich
• Sehr performant (Dokumente mit mehreren 100 Seiten in weniger
als 5 Minuten)
• Gut Dokumentiert
30. Open XML SDK
• Reiner Wrapper um das Dateiformat, nicht um die Word
Oberfläche!
• Der Entwickler benötigt Wissen über die internen Word Strukturen
• Auch „einfache“ Aufgaben sind in der Umsetzung sehr aufwändig
• Defensive Programmierung ist wichtig!
31. Grenzen des Open XML SDK
• Zugriff auf das Word UI
• Konvertierung von Dokumenten (PDF, DOC, RTF, HTML)
• Extrahieren von Bildern
• Automatische Aktualisierung von Feldern (z. B.
Fußnotennummerierung)
• Drucken
33. Vielen Dank!
Homepage
Blog
Xing
Facebook
Twitter
Google+
andre@andrekraemer.de | http://andrekraemer.de | http://andrekraemer.de/blog
33
Schulung und Beratung mit den Schwerpunkten:
• Windows 8 und Windows Phone Apps
• ASP.NET MVC, Web API & JavaScript
• Team Foundation Server / ALM
• Automatische Dokumentengenerierung mit TX Text Control
• Performance- & Memory Analysen
• Softwarearchitektur