我希望我的 Ghostscript 输出以更高数字开头的 PNG 页面名称,例如“31”。如何?
Posted
技术标签:
【中文标题】我希望我的 Ghostscript 输出以更高数字开头的 PNG 页面名称,例如“31”。如何?【英文标题】:I want my Ghostscript to output PNG pagenames starting with a higher number, e.g. "31". How? 【发布时间】:2010-08-10 00:44:00 【问题描述】:我想使用 Ghostscript 从 PDF 创建约 330 个 PNG 文件(我作为礼物赠送的相册)。现在我想把这些照片放到网上。我知道使用-sOutputFile=somename--%03d.png
的方法,它会按照somename--001.png
、somename--002.png
等模式为我提供编号的PNG 文件名。但是,我想在网上再放大约25-30 张图片,这些应该有编号较低的名称。
问题:我需要转换后的 PDF 输出的文件名以“31”开头,即somename--031.png
。如果我使用 Ghostscript 编号方法,我必须手动重命名所有 PNG 文件...*shudder*。 有没有办法让 Ghostscript 的编号以“031”开头? %03d
的一些隐藏参数可能吗?
【问题讨论】:
【参考方案1】:我不知道%03d
表示法有任何隐藏参数,以使其以偏移量开始编号方案。
但是,这里有一个技巧可以实现您想要的,这比手动重命名所有 ~330 个 PNG 文件要少得多。
像这样运行 Ghostscript 命令:
gs \
-o somename--%03d.png \
-sDEVICE=png \
-c "showpage showpage showpage" \
-f photobook.pdf
注意到 3 个showpage
参数了吗?实际上,这会将 3 个空页面插入 Ghostscript 使用的代码流中。只有在这些之后,它才会处理您的 photobook.pdf -- 文件编号将从“4”开始。您现在可以丢弃前 3 个 .png 文件,或者用其他图片覆盖它们... :-)
要使其以“31”开头,您必须插入显示页的 30 倍。
或者,为了更容易,您还可以创建一个 30 页的 PDF 帮助文件,其中包含如下的空白页面:
gs \
-o 30-empty.pdf \
-sDEVICE=pdfwrite \
-c "1 1 30 showpage for"
然后运行
gs \
-o somename--%03d.png \
-sDEVICE=png \
30-empty.pdf \
photobook.pdf
【讨论】:
以上是关于我希望我的 Ghostscript 输出以更高数字开头的 PNG 页面名称,例如“31”。如何?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 GhostScript 设置 PDF 文件的输出图像大小限制