我正在使用Ghostscript将我的PDF文件转换为带有Ghostscript的JPEG文件,效果很好。
对于我的输出图像,我在文件名中使用%03d
,因此文件名根据页码显示001
,002
...等等。
但我想在某些情况下数字从更高的数字开始。
例如,我处理一个包含两个页面的文件,因此输出图像为page001.jpg
,page002.jpg
现在我想要处理另一个PDF而不是替换这些文件,我想创建page003.jpg
,page004.jpg
。
如何做到这一点?
这是我现在正在使用的完整命令行:
'C:\gs\gs9.14\bin \gswin64c -dNOPAUSE -sDEVICE=png16m \
-sOutputFile=page-%03d.jpg -r100x100 -q' . $pdf_file. '-c quit'
答案 0 :(得分:2)
这是一个解决方法,您可以使用:
gswin64c.exe ^
-sDEVICE=png16m ^
-sOutputFile=page-%03d.jpg ^
-r100x100 ^
-c "showpage showpage" ^
-f filename.pdf
-c "showpage showpage"
将两个空页插入输出中。输出文件将命名为
page-001.jpg + page-002.jpg + page-003.jpg + page-004.jpg
所以前两个是纯白色的JPEG,之后应该删除。
您可以使用任意数量的空页扩展此命令。
当然,如果您事先知道要将几个不同的PDF文件转换为您希望计算新PDF的位置与最后一个PDF结束的位置完全一致的图像,您可以这样做:
gswin64c.exe ^
-sDEVICE=jpeg ^
-sOutputFile=page-%03d.jpg ^
-r100x100 ^
-f file1.pdf ^
-f file2.pdf ^
-f file3.pdf ^
-f [...]
BTW,您的原始命令请求.jpg
文件后缀,而Ghostscript设备是png16m
。这不匹配。最初我盲目地复制了你的命令,但现在我已经纠正了它。
答案 1 :(得分:0)
您不能使用标准版本的Ghostscript,输出文件编号作为发出的页码给出(因此,如果您有一个10页文件,使用/ NumCOpies 2,您将获得编号为0到19的文件)。
当然,你可以在同一个命令行上处理这两个文件,我想这会给你第二个文件的页码从第一组停止的地方开始。
否则你将不得不修改Ghostscript设备的源代码。