diff options
author | Tor Lillqvist <tml@collabora.com> | 2018-07-11 16:24:27 +0300 |
---|---|---|
committer | Tor Lillqvist <tml@collabora.com> | 2018-07-12 11:40:41 +0300 |
commit | 37c8ed4b5c9ca87a8c549716007a06d9e277040a (patch) | |
tree | 9567146d609255f9379227ff494d02adb8e60d86 /lib/private/Preview/Office.php | |
parent | e8bd72ebdc540a1bb5e1f8fc1bf43ab32a66cf1d (diff) | |
download | nextcloud-server-37c8ed4b5c9ca87a8c549716007a06d9e277040a.tar.gz nextcloud-server-37c8ed4b5c9ca87a8c549716007a06d9e277040a.zip |
No need to convert to PDF with LibreOffice, just convert to PNG
Exporting all pages of a document to a PDF is a waste of time. All we
need is a thumbnail of the first page anyway. Plus, reading that PDF
(even just the first page of it) into imagick is presumably much
slower than reading a simple PNG.
Signed-off-by: Tor Lillqvist <tml@collabora.com>
Diffstat (limited to 'lib/private/Preview/Office.php')
-rw-r--r-- | lib/private/Preview/Office.php | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/lib/private/Preview/Office.php b/lib/private/Preview/Office.php index 955ab249df2..4a2aa7f4953 100644 --- a/lib/private/Preview/Office.php +++ b/lib/private/Preview/Office.php @@ -43,24 +43,24 @@ abstract class Office extends Provider { $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); $exec = $this->cmd . $clParameters . escapeshellarg($tmpDir) . ' ' . escapeshellarg($absPath); shell_exec($exec); - //create imagick object from pdf - $pdfPreview = null; + //create imagick object from png + $pngPreview = null; try { list($dirname, , , $filename) = array_values(pathinfo($absPath)); - $pdfPreview = $dirname . '/' . $filename . '.pdf'; + $pngPreview = $dirname . '/' . $filename . '.png'; - $pdf = new \imagick($pdfPreview . '[0]'); - $pdf->setImageFormat('jpg'); + $png = new \imagick($pngPreview . '[0]'); + $png->setImageFormat('jpg'); } catch (\Exception $e) { unlink($absPath); - unlink($pdfPreview); + unlink($pngPreview); \OC::$server->getLogger()->logException($e, [ 'level' => ILogger::ERROR, 'app' => 'core', @@ -69,10 +69,10 @@ abstract class Office extends Provider { } $image = new \OC_Image(); - $image->loadFromData($pdf); + $image->loadFromData($png); unlink($absPath); - unlink($pdfPreview); + unlink($pngPreview); if ($image->valid()) { $image->scaleDownToFit($maxX, $maxY); |