从
今天开始,在升级到Ghostscript 9.15和ImageMagick 6.9.0-4之后,我有一个奇怪的行为。我正在尝试将一些多页PDF文件转换为多个JPEG文件。
问题是PDF文件的第一页(0 JPG文件)被软件覆盖为PDF文件的最后一页。例如,启动命令:
convert -verbose -define jpeg0 -thumbnail x400 -flatten '
-background white /uploads/54b534908aa9b.pdf '
/small0115/54b534908aa9b_%d.jpg
会给我所有页面,除了第一页,它被最后一页取代。
对于此 52 页 PDF 文件,-verbose
选项的输出打印如下:
/uploads/54b534908aa9b.pdf[0] PDF 694x1224 694x1224+0+0 16-bit sRGB 944KB 0.000u 0:00.000
.......
/uploads/54b534908aa9b.pdf[50] PDF 694x1224 694x1224+0+0 16-bit sRGB 944KB 0.000u 0:00.000
/uploads/54b534908aa9b.pdf[51] PDF 694x1224 694x1224+0+0 16-bit sRGB 944KB 0.000u 0:00.000
/uploads/54b534908aa9b.pdf=>/small0115/54b534908aa9b_0.jpg PDF
据我所知,该软件会自动再次写入第一页,但使用最后一页来执行此操作,而不是保持原样。
此问题的解决方法是再次生成文件的第一页,但这只是一个解决方法,而不是程序员的可行解决方案:)
试试这个命令:
convert '
-verbose '
/uploads/54b534908aa9b.pdf '
-thumbnail x400 '
/small0115/54b534908aa9b.jpg
生成的文件将自动编号为 54b534908aa9b-0.jpg
、 54b534908aa9b-1.jpg
、 54b534908aa9b-2.jpg
... 54b534908aa9b-51.jpg
.
言论:
我不明白您的
-define jpeg0
参数应该实现什么。这是错别字吗?此外,
-flatten
没有任何影响(Ghostscript - 由ImageMagick用于将PDF处理成光栅文件,然后IM可以处理 - 无论如何都无法处理PDF图层。此外
-background white
不会有任何影响:如果PDF页面具有彩色"背景",则生成的JPEG将具有相同的颜色背景。如果PDF页面具有透明背景(最常见的是PDF),则JPEG文件格式无法处理它,并且背景将显示为白色...