diff --git a/lib/preview.php b/lib/preview.php
index be3abc2cd47ad6b278716e1ad1ded768a6711e9b..a73f4cb1ac008b8af1be9d7daafe6a062dce6a7e 100755
--- a/lib/preview.php
+++ b/lib/preview.php
@@ -20,6 +20,8 @@ require_once('preview/pdf.php');
 require_once('preview/svg.php');
 require_once('preview/txt.php');
 require_once('preview/unknown.php');
+require_once('preview/msoffice.php');
+//require_once('preview/opendocument.php');
 
 class Preview {
 	//the thumbnail  folder
diff --git a/lib/preview/msoffice.php b/lib/preview/msoffice.php
new file mode 100644
index 0000000000000000000000000000000000000000..c99ca313c7296a75e1ef660aec832464bdda92e8
--- /dev/null
+++ b/lib/preview/msoffice.php
@@ -0,0 +1,109 @@
+<?php
+/**
+ * Copyright (c) 2013 Georg Ehrke georg@ownCloud.com
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+namespace OC\Preview;
+
+class MSOffice2003 extends Provider {
+
+	public function getMimeType(){
+		return null;
+	}
+
+	public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview){
+		return false;
+	}
+}
+
+
+class MSOffice2007 extends Provider {
+
+	public function getMimeType(){
+		return null;
+	}
+
+	public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
+		require_once('phpdocx/classes/TransformDoc.inc');
+
+		$tmpdoc = $fileview->toTmpFile($path);
+
+		$transformdoc = new \TransformDoc();
+		$transformdoc->setStrFile($tmpdoc);
+		$transformdoc->generatePDF($tmpdoc);
+
+		$pdf = new \imagick($tmpdoc . '[0]');
+		$pdf->setImageFormat('jpg');
+
+		unlink($tmpdoc);
+
+		//new image object
+		$image = new \OC_Image($pdf);
+		//check if image object is valid
+		if (!$image->valid()) return false;
+
+		return $image;
+	}
+}
+
+class DOC extends MSOffice2003 {
+
+	public function getMimeType() {
+		return '/application\/msword/';
+	}
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\DOC');
+
+class DOCX extends MSOffice2007 {
+
+	public function getMimeType() {
+		return '/application\/vnd.openxmlformats-officedocument.wordprocessingml.document/';
+	}
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\DOCX');
+
+class XLS extends MSOffice2003 {
+
+	public function getMimeType() {
+		return '/application\/vnd.ms-excel/';
+	}
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\XLS');
+
+class XLSX extends MSOffice2007 {
+
+	public function getMimeType() {
+		return '/application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet/';
+	}
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\XLSX');
+
+class PPT extends MSOffice2003 {
+
+	public function getMimeType() {
+		return '/application\/vnd.ms-powerpoint/';
+	}
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\PPT');
+
+class PPTX extends MSOffice2007 {
+
+	public function getMimeType() {
+		return '/application\/vnd.openxmlformats-officedocument.presentationml.presentation/';
+	}
+
+}
+
+\OC\Preview::registerProvider('OC\Preview\PPTX');
\ No newline at end of file