Merge pull request #8380 from owncloud/kill_office_fallback
remove preview office fallback as it makes too much trouble and generates inacceptable results
This commit is contained in:
commit
be6431bab0
|
@ -1,143 +0,0 @@
|
|||
<?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;
|
||||
|
||||
/* //There is no (good) php-only solution for converting 2003 word documents to pdfs / pngs ...
|
||||
class DOC extends Provider {
|
||||
|
||||
public function getMimeType() {
|
||||
return '/application\/msword/';
|
||||
}
|
||||
|
||||
public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
|
||||
require_once('');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
\OC\Preview::registerProvider('OC\Preview\DOC');
|
||||
*/
|
||||
|
||||
class DOCX extends Provider {
|
||||
|
||||
public function getMimeType() {
|
||||
return '/application\/vnd.openxmlformats-officedocument.wordprocessingml.document/';
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
$image = new \OC_Image($pdf);
|
||||
|
||||
return $image->valid() ? $image : false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
\OC\Preview::registerProvider('OC\Preview\DOCX');
|
||||
|
||||
class MSOfficeExcel extends Provider {
|
||||
|
||||
public function getMimeType() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
|
||||
require_once('PHPExcel/Classes/PHPExcel.php');
|
||||
require_once('PHPExcel/Classes/PHPExcel/IOFactory.php');
|
||||
|
||||
$absPath = $fileview->toTmpFile($path);
|
||||
$tmpPath = \OC_Helper::tmpFile();
|
||||
|
||||
$rendererName = \PHPExcel_Settings::PDF_RENDERER_DOMPDF;
|
||||
$rendererLibraryPath = \OC::$THIRDPARTYROOT . '/3rdparty/dompdf';
|
||||
|
||||
\PHPExcel_Settings::setPdfRenderer($rendererName, $rendererLibraryPath);
|
||||
|
||||
$phpexcel = new \PHPExcel($absPath);
|
||||
$excel = \PHPExcel_IOFactory::createWriter($phpexcel, 'PDF');
|
||||
$excel->save($tmpPath);
|
||||
|
||||
$pdf = new \imagick($tmpPath . '[0]');
|
||||
$pdf->setImageFormat('jpg');
|
||||
|
||||
unlink($absPath);
|
||||
unlink($tmpPath);
|
||||
|
||||
$image = new \OC_Image();
|
||||
$image->loadFromData($pdf);
|
||||
|
||||
return $image->valid() ? $image : false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class XLS extends MSOfficeExcel {
|
||||
|
||||
public function getMimeType() {
|
||||
return '/application\/vnd.ms-excel/';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
\OC\Preview::registerProvider('OC\Preview\XLS');
|
||||
|
||||
class XLSX extends MSOfficeExcel {
|
||||
|
||||
public function getMimeType() {
|
||||
return '/application\/vnd.openxmlformats-officedocument.spreadsheetml.sheet/';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
\OC\Preview::registerProvider('OC\Preview\XLSX');
|
||||
|
||||
/* //There is no (good) php-only solution for converting powerpoint documents to pdfs / pngs ...
|
||||
class MSOfficePowerPoint extends Provider {
|
||||
|
||||
public function getMimeType() {
|
||||
return null;
|
||||
}
|
||||
|
||||
public function getThumbnail($path, $maxX, $maxY, $scalingup, $fileview) {
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class PPT extends MSOfficePowerPoint {
|
||||
|
||||
public function getMimeType() {
|
||||
return '/application\/vnd.ms-powerpoint/';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
\OC\Preview::registerProvider('OC\Preview\PPT');
|
||||
|
||||
class PPTX extends MSOfficePowerPoint {
|
||||
|
||||
public function getMimeType() {
|
||||
return '/application\/vnd.openxmlformats-officedocument.presentationml.presentation/';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
\OC\Preview::registerProvider('OC\Preview\PPTX');
|
||||
*/
|
|
@ -22,13 +22,7 @@ if (extension_loaded('imagick')) {
|
|||
//let's see if there is libreoffice or openoffice on this machine
|
||||
if($isShellExecEnabled && ($isLibreOfficeAvailable || $isOpenOfficeAvailable || is_string(\OC_Config::getValue('preview_libreoffice_path', null)))) {
|
||||
require_once('office-cl.php');
|
||||
}else{
|
||||
//in case there isn't, use our fallback
|
||||
require_once('office-fallback.php');
|
||||
}
|
||||
} else {
|
||||
//in case there isn't, use our fallback
|
||||
require_once('office-fallback.php');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue