使用Imagemagick从PDF中提取一系列页面并转换为JPEG格式时,输出文件名是什么?

4
我正在尝试使用convert(Imagemagick)从多页pdf文件中提取一系列页面到单独的jpeg文件,提取工作正常。我遇到的问题是,如果我想提取10-20页范围内的页面,我仍然会得到名为page-0.jpeg到page-9.jpeg的jpeg文件,而我希望它们的名称为page-10.jpeg到page-20.jpeg。有没有办法在命令行上指定这个?
我需要这样做是因为我想以10页为一组提取页面,以避免对于大型pdf文件占用过多内存,并且不想保留重命名的文件。
我记得在早期的项目中已经实现了这个功能,但现在无法弄清楚我缺少了什么。
2个回答

13

最终成功完成此操作。留下答案以防有其他人寻找相同的解决方案。该解决方案与Imagemagick 6.5.1版本兼容。

因此,我们想要从a.pdf中提取第i到第j页,并将它们转换为各自的jpeg文件,文件名为a-10.jpeg到a-20.jpeg。

convert a.pdf[i-j] -set filename:page "%[fx:t+i]" a-%[filename:page].jpeg

这里使用了fx运算符。fx:t给出当前图像在序列中的屏幕编号,我们可以加上偏移量来获得所需屏幕的编号。


不是我想要的确切答案,但你的帖子让我开始搜索fx运算符并在整体上探索imagemagick。加一分 :) - varun
嗨,你能给出一个确切的命令吗?比如说,当我们想提取第5到20页时应该怎么做?我尝试了这个命令 convert file.pdf[5-10] -set filename:page "%[fx:t+5]" a-%[filename:page].jpeg 但它只提取了第6页。 - user1437328

0

您可以通过添加-scene n参数来指定输出文件名中%d使用的第一个“页”号,例如:

convert a.pdf[0-9] -scene 10 a-%d.jpeg

将输出a-10.jpega-11.jpeg等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接