完整的菜鸟,我如何制作一个脚本来将PDF的各个页面转换为图像并将其保存在与PDF相同的文件夹中?

问题描述 投票:-2回答:1

例如,如果我有book1.pdf和book2.pdf,我想创建一个脚本,其中pdf的页面将转换为图像,并保存在它们各自的文件夹中:book1文件夹和book2文件夹。

这是[program要做的,但我不想为此付出27美元。

关于编码,我是一个完全菜鸟。我安装了Ghostscript并添加了运行ghostscript的打印机,所以现在我可以选择打开PDF(或任何文档),然后使用Ghostscript打印机进行打印,并将输出的图像输出到文件夹。

这是该程序的打印机属性->端口->参数的代码:

-sDEVICE=jpeg -r300 -dJPEGQ=100 -o -dSAFER -sOutputFile="C:\IMAGEfiles\image%%03d.jpg" -

我现在的目标是使系统自动化,以便可以拥有PDF列表,并将其页面转换为图像,并根据与PDF相同的名称分类到文件夹中。谢谢

image pdf ghostscript file-conversion
1个回答
1
投票

这实际上不是Ghostscript问题,这是Shell脚本编程问题。

由于您使用的是C:我假设您使用的是Windows。我还要假设您已经预先创建了文件夹。

如果您随后打开命令外壳并执行:

for %s in (*.pdf) do "c:\program files\gs\gs9.52\bin\gswin64c" -sDEVICE=jpeg -r300 -dJPEGQ=100 -dBATCH -dNOPAUSE -sOutputFile=c:/%~ns/image%03d.jpg %s

将查找所有具有* .pdf格式名称的文件,执行Ghostscript(您可能需要更改路径和可执行文件的名称,这取决于您安装的版本),并将生成的JPG文件输出到名称为的文件夹中是输入文件名的'*'部分。

请注意,原始命令行同时具有-o-sOutputFile,您应该对其进行修改以删除其中一个。假定-o后跟输出文件的名称,并且包括-dBATCH-dNOPAUSE都打包为一个。而-sOutputFile =只是设置输出文件名。两者都使用是一个坏主意,如果它起作用了,我会感到惊讶,并且如果它在某个时候停止工作或出现了意外的副作用,当然也不会感到惊讶。

© www.soinside.com 2019 - 2024. All rights reserved.