I’m trying to get my nextcloud instance to show thumnail images of pdf files when in the new grid view in Nextcloud 15.
In the demo (demo.nextcloud.com) when viewing in grid view this works just as I would like it to. However, a new fresh instance of nextcloud (installed from the nextcloud docker) doesn’t have this. I don’t see any difference in the settings between my instance and the demo instance.
What do I need to do to make pdf thumbnails show up like the demo instance has?
Can you give any more details? I searched google for “nextcloud ghostscript” but most of the results had to do with people’s posts about problems with previewgenerator.
How do I install ghostscript? Is there a way to tell if it is already installed? If ghostscript is for creating a preview of PDF files (which based on its website it seems to be) then I must already have it installed because I can see PDFs in nextcloud no problem when I click on the filename (opens in a full-sized preview of the entire PDF). Doesn’t that mean I must already have ghostscript?
The problem I’m having is with there being no thumbnail preview of a file in the grid view. I can see PDFs when they are clicked on to open just fine.
If you still think the problem is ghostscript, can you give me any further pointers?
If anyoneone knows how I can view the config.php from the demo instance, can you let me know? Then I could just see what settings are used there. Thanks!
I think for previewing, Nextcloud uses imagemagick. And for previewing pdf files, imagemagick needs ghostscript. So you would need to install the ghostscript package on your system, not in NC.
Right. But there’s no problem for me in previewing pdf files. I click on the file, and the preview shows up, full size.
So unless I’m mistaken, this isn’t a ghostscript or imagemagick problem. Previews are working for me.
The problem I have is that in the grid view, I see generic icons, instead of the icon-sized previews.
I want this: (seen in the nextcloud demo–notice the two files on the right, labeled Nextclo… and User Da…–these are both previews of pdfs instead of generic adobe acrobat pdf icons)
Well, shame on me for just assuming that it couldn’t be a imagemagick/ghostscript problem.
I did docker exec -it nextcloud /bin/bash to get into my nextcloud docker
Then I did apt update and then apt install imagemagick and let it install
And then went back to nextcloud in the browser, and just like that, pdf icon previews are working!
I’ve been looking for this for months! So far I had PDF thumbnails enabled in some config file but apparently that was not enough. Installing imagemagick did the trick and the PDF thumbnails appeared instantly!
I really can’t understand why they don’t document on how to get such a primitive thing like thumbnails off the ground. If it is a security issue then they could at least document how to set it up on a private instance.
Something seems to have changed recently. There is one more hurdle before PDF thumbnails are actually generated.
In /etc/ImageMagick-6/policy.xml
The line <policy domain="coder" rights="none" pattern="PDF" />
has to be changed to <policy domain="coder" rights="read|write" pattern="PDF" />
followed by a restart of the php7.4-fpm service or the docker container depending on your env.
Source:
And to add something about generating the “correct” preview sizes, check out the link below:
Hope this helps some other lost souls lose less time on this…
I’m running ImageMagick 7 on FreeBSD (Nextcloud 20.0.1), but after making the change to the policy I’m still not getting the PDF thumbnails. The error messages continue in the log as below. Any ideas?
[core] Error: ImagickException: Failed to read the file at <<closure>>
0. /usr/local/www/nextcloud/lib/private/Preview/Bitmap.php line 87
Imagick->readimage("/tmp/oc_tmp_sIn0ux[0]")
1. /usr/local/www/nextcloud/lib/private/Preview/Bitmap.php line 50
OC\Preview\Bitmap->getResizedPreview("/tmp/oc_tmp_sIn0ux", 1024, 1024)
2. /usr/local/www/nextcloud/lib/private/Preview/GeneratorHelper.php line 63
OC\Preview\Bitmap->getThumbnail(OC\Files\Node\File {}, 1024, 1024)
3. /usr/local/www/nextcloud/lib/private/Preview/Generator.php line 244
OC\Preview\GeneratorHelper->getThumbnail(OC\Preview\PDF {}, OC\Files\Node\File {}, 1024, 1024)
4. /usr/local/www/nextcloud/lib/private/Preview/Generator.php line 140
OC\Preview\Generator->getMaxPreview(OC\Files\SimpleFS\SimpleFolder {}, OC\Files\Node\File {}, "application/pdf", "")
5. /usr/local/www/nextcloud/lib/private/Preview/Generator.php line 109
OC\Preview\Generator->generatePreviews(OC\Files\Node\File {}, [{width: 500,hei ... }], "application/pdf")
6. /usr/local/www/nextcloud/lib/private/PreviewManager.php line 190
OC\Preview\Generator->getPreview(OC\Files\Node\File {}, 500, 500, true, "fill", null)
7. /usr/local/www/nextcloud/core/Controller/PreviewController.php line 170
OC\PreviewManager->getPreview(OC\Files\Node\File {}, 500, 500, true, "fill")
8. /usr/local/www/nextcloud/core/Controller/PreviewController.php line 143
OC\Core\Controller\PreviewController->fetchPreview(OC\Files\Node\File {}, 500, 500, false, false, "fill")
9. /usr/local/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php line 218
OC\Core\Controller\PreviewController->getPreviewByFileId(3028025, 500, 500, false, false, "fill")
10. /usr/local/www/nextcloud/lib/private/AppFramework/Http/Dispatcher.php line 127
OC\AppFramework\Http\Dispatcher->executeController(OC\Core\Controller\PreviewController {}, "getPreviewByFileId")
11. /usr/local/www/nextcloud/lib/private/AppFramework/App.php line 157
OC\AppFramework\Http\Dispatcher->dispatch(OC\Core\Controller\PreviewController {}, "getPreviewByFileId")
12. /usr/local/www/nextcloud/lib/private/Route/Router.php line 302
OC\AppFramework\App::main("OC\\Core\\Controller\\PreviewController", "getPreviewByFileId", OC\AppFramework\ ... {}, {_route: "core.P ... "})
13. /usr/local/www/nextcloud/lib/base.php line 993
OC\Route\Router->match("/core/preview")
14. /usr/local/www/nextcloud/index.php line 37
OC::handleRequest()
GET /core/preview?fileId=3028025&c=608159bd8706a&x=500&y=500&forceIcon=0&a=0
from 192.168.1.163 by user at 2021-04-22T07:11:12-04:00