我想用 PDF 文件创建缩略图,以便能够在网站上显示 PDF 文件的简短预览。
我使用 ImageMagick 进行了尝试。不幸的是,结果不是很令人满意。 生成的图像非常模糊。
示例缩略图(模糊):
原始 PDF:(见评论)
命令:convert -thumbnail x800 k.pdf[0] test.png
我的转换命令是否配置错误,或者您知道实现我的目标的更好方法吗?
最佳答案
您的原始 pdf 文件小于您正在创建的缩略图。 Imagemagick 缩放图像以匹配请求的尺寸。使用以下参数:
convert -scale '800x800+0+0>' -colorspace rgb -strip in.pdf[0] out.png
缩放参数中的尾随 >
告诉 Imagemagick 不要将图像缩放到大于原始图像。
编辑:Imagemagick 使用 Ghostscript 渲染 PDF 文件。如果你需要设置一些参数,比如分辨率以获得更好的图像,你可以直接使用 Ghostscript。默认分辨率为 72 DPI,这意味着 A4 纸的尺寸为 595 x 841 像素。使用 150 DPI,您将获得两倍的像素数。例如
gs -q -dBATCH -dNOPAUSE -sDEVICE=pngalpha -dMAxBitmap=500000000 -dAlignToPixles=0 -dGridFitTT=0 -r150x150 -sOutputFile=out.png in.pdf
上述命令几乎与 Imagemagick 使用的命令相同。请注意设置 150 DPI 分辨率的 -r 参数。您可以使用 ImageMagick 将生成的图像缩放到更小的尺寸。
使用更高的分辨率可以减少调整图像大小时的模糊度。
关于php - 如何在我的 Linux 服务器上创建 PDF 文件的缩略图/屏幕截图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3692654/