Mit SharePoint 2010 sind auch die Word Automation Services ab der SharePoint Standard Version verfügbar. Mit den Word Automation Services können Dokumente aus verschiedenen Word Formaten konvertiert werden. Die Word Automation Services sind in der Lage folgende Dateiformate zu öffnen:

  .docx,  .docm, .dotx, .dotm, .dot, .doc, .mht, .rtf, .xml, .mhtml

Als Ausgabeformat können die Word Automation Services die folgenden Dateiformate erzeugen:

  •   .pdf, .xps, .docx, .docm, .dotx, .dotm, .dot, .doc, .mht, .rtf, .xml, .mhtml

Am interessantesten sind wohl die Varianten PDF und XPS, daher möchte ich im Beispiel auch alle Word Dokumente aus einer SharePoint Bibliothek unter Verwendung der Word Automation Services in PDF’s konvertieren.

Beispiel

Zunächst müsst ihr ein neues SharePoint Projekt anlegen. Hierbei ist es wichtig dass Ihr das Projekt als Full-Trusted Solution markiert.

clip_image001

 

Im neu angelegten Projekt müsst Ihr eine Assembly-Referenz zur Microsoft.Office.Word.Server.dll hinzufügen. Die Assembly findet Ihr wie gewohnt im %SharePointRoot%\ISAPI\ Ordner.

clip_image002

 

In meinem Beispiel möchte ich eine ApplicationPage als Ausgangspunkt verwenden, daher wird an dieser Stelle zunächst die ASPX angelegt.

clip_image003

 

Um auf die Klassen der Word Automation Services zugreifen zu können müssen nun die entsprechenden Namespaces referenziert werden.

clip_image004

 

Zunächst wird – analog zur Programmierung mit anderen Service Applications – der aktuell verfügbare ServiceProxy ermittelt. Für die Word Automation Services verwenden zu können muss der Proxy vor der Verwendung in eine Instanz vom Typ ConversionJob gecasted werden.

clip_image005

 

Die daraus resultierende ConversionJob Instanz stellt einen Wrapper um eine neue TimerJob Instanz dar, daher muss der neuen Instanz noch gesagt werden in welchem UserContext der TimerJob ausgeführt werden soll und wie dessen Name lauten soll.

clip_image006

 

Somit sind alle Vorbereitungen getroffen und die Konfiguration der ConversionJob Instanz kann getätigt werden. In meinem Beispiel möchte ich – wie bereits erwähnt – die Dokumente in PDFs konvertieren, deshalb muss auf die Settings.OutputFormat Property auf den Wert SaveFormat.PDF gestellt werden.

Zum Abschluss werden noch die Quell- und Zielliste angegeben und der ConversionJob kann gestartet werden.

Zur besseren Übersicht hier nochmals der gesamte Code

clip_image008

 

Nach dem Aufruf der Start Methode wird ein neuer TimerJob geplant, welcher dann die Konvertierung der Dokumente vornimmt. Daher kann es unter Umständen einige Minuten dauern bis die ersten PDFs in die Zielliste einlaufen.

Nach dem Durchlauf des TimerJobs sollten eure Quell- und Ziellisten vom Content her identisch sein.

 

Quellliste

clip_image010

 

Zielliste

clip_image012+

 

 

Fazit

 

Die Word Automation Services sind ein echt cooles Feature von SharePoint, welches schnell anprogrammiert und in eigene Lösungen integriert werden kann. Gerade die Konversation von Dokumenten in Workflows wird von Kunden immer häufiger gefordert und kann mit den Word Automation Services recht einfach erreicht werden.

3 Kommentare to “Developing Solutions using the Word Automation Services in SharePoint Server 2010”

Erstelle Kommentare

You must be logged in to post a comment.

Hinweis zum Kommentar

Zum Kommentieren der Beiträge (und damit zur Teilnahme am Gewinnspiel) bitte auf die Zahl in der Bubble neben dem Titel des Blogeintrags klicken, dies öffnet das Kommentarformular!

Sponsored by

Subscribe

Über

Der SharePoint Advent

Ein Gemeinschaftsprojekt der deutschsprachigen SharePoint MVP's

Rubriken

Impressum

(c) 2011 SharePointCommunity