Pdf

想要在 Linux 上快速將 pdf 轉換為 jpg

  • January 2, 2019

我目前正在使用 ImageMagick 將 PDF 轉換為 JPEG 光柵圖像。它非常緩慢並且佔用了大量記憶體。

我使用的命令是:

convert -geometry 1024x768 -density 200 -colorspace RGB foo.pdf bar%02d.jpg

我猜它很慢,因為它使用了 Ghostscript。 但是在 Linux 機器上必須有更快的方法來做到這一點。

有沒有人找到更好的解決方案?

直接使用 Ghostscript(而不是使用convert間接呼叫 Ghostscript 的 ImageMagick 命令)確實更快。它使您可以更好地控制轉換參數。嘗試

gs \
  -sDEVICE=jpeg   \
  -o bar_%03d.jpg \
  -dJPEGQ=95      \
  -r600x600       \
  -g4960x7016     \
  foo.pdf

在哪裡

  • -o:確定輸出路徑+文件名(並保存使用-dBATCH -dNOPAUSE
  • -dJPEGQ: 將 JPEG 質量設置為 95%
  • -r: 將解析度設置為 600dpi
  • -g:將圖像大小設置為 4960x7016px
  • -sDEVICE:設置輸出為JPEG

這個命令可能對你來說仍然很慢,並且創建的文件比預期的要大。對於更小的文件大小和更快的執行,試試這個(這可能接近你的convert命令行的輸出質量):

gs \
  -sDEVICE=jpeg   \
  -o bar_%03d_200dpi_q80.jpg \
  -dJPEGQ=80      \
  -r200x200       \
  -g1653x2339     \
  foo.pdf

甚至

gs \
  -sDEVICE=jpeg   \
  -o bar_%03d_default_a4.jpg \
  -sPAPERSIZE=a4 \
  foo.pdf

(提供 72dpi 解析度,對於大多數螢幕和大多數 Web 應用程序來說通常已經足夠了)。

引用自:https://serverfault.com/questions/167573