如何将文件夹中的JPEG批量合并为PDF


18

我大约有500个文件夹,里面有图像。有没有一种方法可以将其批量转换,以便获取包含所有图像作为页面的.pdf文件?

编辑:

应该创建500个PDF,每个PDF都包含包含文件夹的名称,并且每个文件夹中都有图像作为页面。


3
什么操作系统?您是否需要CLI或GUI工具?这些文件是以合理的或一致的方式命名的,并且顺序重要吗?
Journeyman Geek

Mac OS X,它可以是任何一种工具,我确实拥有Acrobat Pro,但找不到该选项。文件按字母顺序组织,我想保持该顺序。谢谢
Ska

Answers:


16

OS X具有内置的一些工具来自动执行图像处理和PDF创建。

只需打开Automator.app,创建一个新的Application。

Automator.app

通过将操作从左窗格拖动到右窗格,如下所示进行更改。

步骤1

  • 启用“ 重复...”选项的“ 获取文件夹内容 ” 将获取所有文件,即使从子目录中也是如此。

  • 来自图像的新PDF将在桌面上创建一个PDF文件,每页包含一个图像。

将应用程序保存在某处(例如,在/ Applications下或在桌面上)。给它起一个适当的名称,例如“从Image.app创建PDF”。然后,您可以将文件夹拖到其图标上。让工作流程为您完成工作。


上面为所有图像创建了一个PDF文件。如果每个文件夹都需要一个文件夹,那将变得更加复杂。

首先,您需要“ 增量分配项目”操作。安装它。然后,再次打开Automator,并创建一个新的工作流(不是应用程序)。

现在,为方便起见,您可以在此处下载工作流程。万一链接断开,只需如下所示进行更改:

工作流程截图

或者,以文本形式:

  • 获取选定的查找器项目
  • 逐步分配物品(我们之前安装的物品
  • 设置Variable的Value,以记住我们所在的文件夹
  • 获取文件夹内容,获取图像
  • 从图像中创建新的PDF,以创建PDF。在这里,从底部的“变量”面板中获取变量,并将其拖动到“保存输出到...”字段。这样可以确保在其所属的文件夹中创建了PDF。除了设置静态文件名外,没有简单的方法来重命名文件。您可以添加一个“ 重命名查找器”项操作来进行设置。
  • 循环,从头开始并在下一个文件夹中运行。您可以禁用要求确认的零件。

将其另存为工作流,现在,这是执行它的方法。在Finder中选择文件夹。

Finder屏幕截图

然后,转到Automator.app,然后单击右上角的“运行”


如果有500个文件夹,则可能需要一段时间。特别是对于高分辨率图片,您的PDF可能会变得很大。但是您可以先在较小的选项上尝试,然后让工作流运行直到完成。


太神奇了,但是所有图像现在都在一个PDF中。是否可以为每个包含文件夹制作单独的PDF?我什至不知道您可以使用Automator做什么,非常感谢!
Ska

@Ska查看我的最新答案。希望对你有效。这是在Automator中变得棘手的地方,并且您会考虑迁移到AppleScript或与AppleScript结合使用的简单Bash脚本。
slhck

不用担心,稍后我将使用bash脚本重命名它们。但是,是否有可能创建一个应用程序来传递“获取文件夹内容”(文件夹名称)的输出并在其中创建变量?
Ska

@Ska是的,这就是设置变量的方式,但是您不能在PDF的输出名称中使用该变量。至少不是简单的方法。
slhck

那是一个很棒的工作流程。感谢您的帮助。过去一周,我花了很多时间解密每期《国家地理》的JPG,并需要一种将所有250,000页转换为PDF的方法,以便可以对其进行OCR并使其可搜索。您刚刚为我节省了大量的体力劳动。我必须对脚本进行的一项更改是将超时时间设置为大于默认的0分钟。否则,它仅创建一个PDF。我是通过手动循环来做到这一点的,但是这过多地参与了自动化过程。我还告诉它将它们保存到单个文件夹中,以便

22

在OS X上

使用Homebrew,可以轻松安装ImageMagick:

brew install imagemagick

convert *.jpg output.pdf

如果生成的PDF太大,则可以尝试:

convert -quality 60 *.jpg output.pdf

Linux,Unix,Windows

当然,ImageMagick也可以安装在其他Unix系统上,例如apt-get install imagemagickDebian和Ubuntu。甚至在Windows上通过GNU / CygwinChocolately


3
比使用预览的烦躁要快得多!
DK_ 2014年

1
+1我认为在这种情况下,此答案与接受的答案之间的比较确实显示了命令行工具(尤其是imagemagick)的强大功能!
Bill Cheatham 2014年

1
在Windows中也可以这样做。如果您使用Chocolatey(用于Windows的程序包管理器)choco install imagemagick.tool:,然后按照@KasperSouren的“ convert”命令进行操作。
Giscard Biamby 2015年


2

在几乎所有要以最佳解决方案运行它的系统上,可能都是ImageMagick。在* nix,Mac和Windows上可用,同时支持通配符(aka文件名)和输入文件列表的规范(例如@ ImagesToProcess.txt),一些高级文件规范选项,强大的命令行等。


这还需要GhostScript和我与谁知道有多少依赖项管理一起进行编程。我认为可能有一个简单的工具可以做到这一点。毕竟,用例非常简单。
斯卡

并不难,只要安装了ImageMagick和GhostScript且ImageMagick能够找到GS,您就可以使用IM命令行来简化脚本编写。假设文件名遍历将以正确的顺序处理文件,但是如果不正确,那么它将变得更加复杂。对于Windows,这是使它们协同工作的一个指南:stackoverflow.com/questions/3243361/…。不过,对于Mac而言,另一个答案更好
击剑网

感谢您在IM,fencepost上的出色提示。你每天学习新的东西。至于原始问题,我将首先尝试slhck的解决方案。
Ska

你太客气了。我发布的消息没有意识到A)您正在使用Mac,B)Mac上对Ghostscript的支持显然由于某些原因而明显较弱-或至少它没有跟上Windows和* nix的步伐。
fencepost
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.