Merge pull request #10198 from tml1024/master
No need to convert to PDF with LibreOffice, just convert to PNG
This commit is contained in:
commit
7a5768e259
|
@ -43,24 +43,24 @@ abstract class Office extends Provider {
|
||||||
|
|
||||||
$tmpDir = \OC::$server->getTempManager()->getTempBaseDir();
|
$tmpDir = \OC::$server->getTempManager()->getTempBaseDir();
|
||||||
|
|
||||||
$defaultParameters = ' -env:UserInstallation=file://' . escapeshellarg($tmpDir . '/owncloud-' . \OC_Util::getInstanceId() . '/') . ' --headless --nologo --nofirststartwizard --invisible --norestore --convert-to pdf --outdir ';
|
$defaultParameters = ' -env:UserInstallation=file://' . escapeshellarg($tmpDir . '/owncloud-' . \OC_Util::getInstanceId() . '/') . ' --headless --nologo --nofirststartwizard --invisible --norestore --convert-to png --outdir ';
|
||||||
$clParameters = \OC::$server->getConfig()->getSystemValue('preview_office_cl_parameters', $defaultParameters);
|
$clParameters = \OC::$server->getConfig()->getSystemValue('preview_office_cl_parameters', $defaultParameters);
|
||||||
|
|
||||||
$exec = $this->cmd . $clParameters . escapeshellarg($tmpDir) . ' ' . escapeshellarg($absPath);
|
$exec = $this->cmd . $clParameters . escapeshellarg($tmpDir) . ' ' . escapeshellarg($absPath);
|
||||||
|
|
||||||
shell_exec($exec);
|
shell_exec($exec);
|
||||||
|
|
||||||
//create imagick object from pdf
|
//create imagick object from png
|
||||||
$pdfPreview = null;
|
$pngPreview = null;
|
||||||
try {
|
try {
|
||||||
list($dirname, , , $filename) = array_values(pathinfo($absPath));
|
list($dirname, , , $filename) = array_values(pathinfo($absPath));
|
||||||
$pdfPreview = $dirname . '/' . $filename . '.pdf';
|
$pngPreview = $dirname . '/' . $filename . '.png';
|
||||||
|
|
||||||
$pdf = new \imagick($pdfPreview . '[0]');
|
$png = new \imagick($pngPreview . '[0]');
|
||||||
$pdf->setImageFormat('jpg');
|
$png->setImageFormat('jpg');
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
unlink($absPath);
|
unlink($absPath);
|
||||||
unlink($pdfPreview);
|
unlink($pngPreview);
|
||||||
\OC::$server->getLogger()->logException($e, [
|
\OC::$server->getLogger()->logException($e, [
|
||||||
'level' => ILogger::ERROR,
|
'level' => ILogger::ERROR,
|
||||||
'app' => 'core',
|
'app' => 'core',
|
||||||
|
@ -69,10 +69,10 @@ abstract class Office extends Provider {
|
||||||
}
|
}
|
||||||
|
|
||||||
$image = new \OC_Image();
|
$image = new \OC_Image();
|
||||||
$image->loadFromData($pdf);
|
$image->loadFromData($png);
|
||||||
|
|
||||||
unlink($absPath);
|
unlink($absPath);
|
||||||
unlink($pdfPreview);
|
unlink($pngPreview);
|
||||||
|
|
||||||
if ($image->valid()) {
|
if ($image->valid()) {
|
||||||
$image->scaleDownToFit($maxX, $maxY);
|
$image->scaleDownToFit($maxX, $maxY);
|
||||||
|
|
Loading…
Reference in New Issue