我有大约 500 个 PDF 需要查看并提取其中的第一页。然后,它们需要经过一些耗时的转换过程,因此希望通过批处理从 500 个 PDF 中提取第一页并将其放入新的 PDF 中来尝试节省一些时间。
对 Acrobat 进行了一些研究,但找不到对多个文件执行此操作的实际方法。
有人知道其他可以实现此目的的程序或方法吗?免费和开源显然更受欢迎。
编辑:实际上,我使用 GhostScript 提取一页时取得了一些成功。我现在正在研究如何批量处理并获取文件列表并使用它们。
答案1
使用pdftk...
在 Mac 和 Linux 上通过命令行。
for file in *.pdf ; do pdftk "$file" cat 1 output "${file%.pdf}-page1.pdf" ; done
在 Windows 上,您可以创建一个批处理文件。打开记事本,将其粘贴到其中:
for %%I in (*.pdf) do "pdftk.exe" "%%I" cat 1 output "%%~nI-page1.pdf"
您可能需要将“pdftk.exe”替换为 pdftk 的完整路径,例如,"C:\Program Files\pdftk\pdftk.exe
或其他任何路径。(我不使用 Windows,所以我不知道。)
将其保存为以 .bat 结尾的扩展名,然后将其放入包含 PDF 的文件夹中并双击。
是的,您可以使用 Ghostscript 做同样的事情。
让我们看看。对于 Mac 和 Linux(全部一行):
for file in *.pdf ; do gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="${file%.pdf}-page1.pdf" -dFirstPage=1 -dLastPage=1 "$file" ; done
我不太清楚 Windows 批处理文件的相应命令是什么。我猜(我没有 Windows,所以无法测试):
for %%I in (*.pdf) do "C:\Program Files\gs\gs9.00\gswin32c.exe" -dSAFER -dNOPAUSE -dBATCH -sDEVICE#pdfwrite -sOutPutFile#"%%~nI-page1.pdf" -dFirstPage#1 -dLastPage#1 "%%I"
仔细检查 ghost 脚本可执行文件的路径是否正确,因为我不使用 Windows,所以我没有测试过这个。
编辑:好的,我刚刚意识到你可能不想要 500 个 1 页的 PDF,而想要一个将它们全部合并在一起的 PDF。只需运行上述操作,你就会得到 500 个 1 页的 PDF。要在 Mac 和 Linux 上使用 pdftk 合并它们...:
pdftk *-page1.pdf cat output combined.pdf
我认为在 Windows 上可能也一样,只是可能需要 pdftk 的完整路径,如上所述。您只需在批处理文件中的上述行后面添加该行即可。
在 Mac 和 Linux 上使用 Ghostscript...:
gs -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="combined.pdf" *-page1.pdf
在 Windows 上可能也是一样的,只是将开头的“gs”替换为 gswin32c.exe 的完整路径,如上所述。
ghostscript 可能有一种方法可以一步完成这两项工作,但我现在懒得去弄清楚。
如果组合它们的顺序很重要,那么我们将需要更多信息。
答案2
今天在 Linux 上做了这件事。它也应该适用于 Mac。从您的终端执行以下命令。
lpr -o page-ranges="1-1" path/to/folder/*.pdf
lpr 将作业提交给打印机。
请注意命令中的 * 字符用法。这将对目录中的所有 PDF 文件运行该命令。
答案3
如同 Windows 批处理文件命令 (.bat) (%% 表示 bat 文件中的变量)
将 pdf 第一页提取为分辨率/尺寸降低的 jpg
for %%I in (*.pdf) do "C:\Program Files (x86)\gs\gs9.14\bin\gswin32c.exe" -dSAFER -dNOPAUSE -dBATCH -sDEVICE#jpeg -r20 -sOutputFile#"%%~nI.jpg" -dFirstPage#1 -dLastPage#1 "%%I"
(在上面的帖子中,sOutputFile 写错了...并且与标准 gs x86 安装的当前路径错误)
答案4
我认为您可以使用 pdf 虚拟打印机,例如 pdf-forge。
您只需“打印”第一页,我现在在 Mac 上,无法尝试,但我很确定您可以一次打印多页。
祝你好运!!
特鲁法