2015-02-06 72 views
1

当我跑步时通过命令行PDF格式为JPG/PNG错误尺寸的Rails

convert -verbose -density 300 -trim -quality 100 1565_002.pdf test_image.png 

转换结果是好的。详细显示输出:

“GS” -q -dQUIET -dSAFER -dBATCH -dNOPAUSE -dNOPROMPT -dMaxBitmap = 5亿-dAlignToPixels = 0 -dGridFitTT = 2 “= -sDEVICE pngalpha” -dTextAlphaBits = 4 -dGraphicsAlphaBits = “-f/var/tmp/magick-39357aIeGxsC4sZlD” /var/tmp/magick-39357qEey9jeURtmJ1 PNG 3400x4400 3400x4400 + 0 + 0的8位的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

而是经由导轨

has_attached_file :photo, 
       # ...storage options... 
       :styles => { :pdf_thumbnail => ["", :png] }, 
       :convert_options => { 
        :all => '-auto-orient', 
        :pdf_thumbnail => "-verbose -density 300 -trim -quality 100" 
       } 

上传PDF时的结果是很差的。

滑轨(纸夹)+详细输出:

命令::识别-format '%WX%H,%[EXIF:取向]'“的/ var /文件夹/ 3D/td4xb1s56wxb1tcrl8rgy6tw0000gn/T/1565_00220150206 -39272-wftjey.pdf [0]”

命令::转换 '/var/folders/3d/td4xb1s56wxb1tcrl8rgy6tw0000gn/T/1565_00220150206-39272-wftjey.pdf[0]' - 自动定向-verbose - 密度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_00220150206-39272-wftjey20150206-39272-1qf97j3.png PNG 612x792 => 500x645 612x792 + 56 + 42 8位的sRGB 2C 4.06KB 0.010u 0:00.020

的问题是在这里 - “PNG 612x792 => + 42 500x645 612x792 + 56” 而不是“PNG 3400x4400 3400x4400 + 0 + 0" 。

那么如何解决这个问题呢?或者我应该添加什么选项。

我使用导轨(4.0.2),回形针(3.5.2),rmagick(2.13.4)

回答

0

最后,我尝试了这些解决方案 - https://gist.github.com/bastien/3059321

有额外的ghostscript设置,其中变换pdf每英寸更深的像素值(原来是r144,我已经将其更改为r400)和其他自定义选项。