当我运行时通过命令行转换
convert -verbose -density 300 -trim -quality 100 1565_002.pdf test_image.png
结果很好。详细显示输出:
“ gs” -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap = 500000000 -dAlignToPixels = 0 -dGridFitTT = 2“ -sDEVICE = pngalpha” -dTextAlphaBits = 4 -dGraphicsAlphaBits = 4“ -r400x400”“ -sOutputFile = / var / tmp / magick-39357qEey9jeURtmJ%d“” -f / var / tmp / magick-39357DTf85TEO2pfX“” -f / var / tmp / magick-39357aIeGxsC4sZlD“ / var / tmp / magick-39357qEey9jeURtmJ1 + 3400位sRGB 144KB 0.300u 0:00.289
1565_002.pdf PNG 3400x4400 3400x4400 + 0 + 0 16位sRGB 144KB 0.000u 0:00.000
1565_002.pdf => test_image.png PNG 3400x4400 => 2778x3582 3400x4400 + 311 + 233 8位sRGB 2c 39.4KB 0.410u 0:00.420
但是通过Rails上传pdf时
has_attached_file :photo,
# ...storage options...
:styles => { :pdf_thumbnail => ["", :png] },
:convert_options => {
:all => '-auto-orient',
:pdf_thumbnail => "-verbose -density 300 -trim -quality 100"
}
结果非常差。
Rails(回形针)+详细输出:
命令::标识格式'%wx%h,%[exif:orientation]''/var/folders/3d/td4xb1s56wxb1tcrl8rgy6tw0000gn/T/1565_00220150206-39272-wftjey.pdf[0]'
命令:: convert'/var/folders/3d/td4xb1s56wxb1tcrl8rgy6tw0000gn/T/1565_00220150206-39272-wftjey.pdf[0]'-auto-orient -verbose -density 300 -trim -quality 100 -auto-orient'/ var / folders /3d/td4xb1s56wxb1tcrl8rgy6tw0000gn/T/1565_00220150206-39272-wftjey20150206-39272-1qf97j3.png'
/var/folders/3d/td4xb1s56wxb1tcrl8rgy6tw0000gn/T/1565_00220150206-39272-wftjey.pdf[0]=>/var/folders/3d/td4xb1s56wxb1tcrl8rgy6tw0000gn/T/1565_0022015y0202-3295-792792-295272-920272-450272 612x792 + 56 + 42 8位sRGB 2c 4.06KB 0.010u 0:00.020
问题在这里-“ PNG 612x792 => 500x645 612x792 + 56 + 42”而不是“ PNG 3400x4400 3400x4400 + 0 + 0”。
那么如何解决呢?或者我应该添加什么选项。
我正在使用Rails(4.0.2),回形针(3.5.2),rmagick(2.13.4)
最后,我尝试了这些解决方案-https://gist.github.com/bastien/3059321
还有其他的ghostscript设置,可将pdf转换为具有更高的每英寸像素值的pdf(最初是r144,我将其更改为r400)和其他自定义选项。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句