【发布时间】:2022-11-28 08:15:20
【问题描述】:
简单用例:
- 包含许多(主要是多页)PDF 文件的文件夹。
- 脚本应将每个 PDF 页面转换为 JPG 并将其存储在以 PDF 文件名命名的子文件夹中。 (例如
#33.pdf到文件夹#33) - 单个 JPG 文件也应该有这个文件名加上一个反映 PDF 中连续页码的计数器。 (例如
#33_001.jpg)
我发现了一堆相关的问题,但没有什么能完全满足我的要求,例如
How do I convert multiple PDFs into images from the same folder in Python?
python 脚本可以正常工作,但在 Win10 中执行此操作的任何其他方式(例如 imagemagick)对我来说都很酷。
【问题讨论】:
-
您可以通过
convert -density XXX image.pdf -set filename:fn "%[filename:fn]_%3d.jpg"将多页 pdf 转换为单独的 jpg 文件。这将产生 image_001.jpg image002.jpg ... 等。文件名部分是 Imagemagick 自动将输出名称设置为与输入名称相同的方式。 %3d 设置页面计数器部分 -
但是如何批量处理多个文件并批量创建相应的子文件夹呢?
-
在每个图像上编写一个 .bat 脚本 FOR 循环。使用 %[filename] 作为目录而不是文件名。 "%[filename:fn]/%[filename:fn_%3d.jpg" 应该用输入的名称命名文件夹和文件。
-
如果不存在,convert 能够创建一个文件夹吗?您是否有指向此类 .bat 循环示例的链接?为我的无知道歉。
-
Imagemagick 不会创建新目录。它们必须已经存在。您的 .bat 脚本可以创建目录,然后调用 Imagemagick。抱歉,我不是 Windows 用户,不会编写 .bat 脚本。
标签: python image pdf imagemagick batch-processing