我有 268 个 PDF 需要查看,需要提取其中的第 1、第 4 和第 8 页。因此,我需要以某种方式将它们制作成仅包含所需页面的文件,而不是制作多页的 PDF 文件。我希望有一种比手动操作更有效的方法,并通过批处理从 268 个 PDF 中提取所需页面并将其放入新 PDF 中来节省一些时间。有人知道可以实现此目的的其他程序或方法吗?
我知道有一种用于提取第一页的表格,它涉及一些代码编写,但我不熟悉,也不知道如何编写代码才能让我只得到第 1、第 4 和第 8 页。
我在Windows电脑上操作。
请帮忙。
答案1
由于您使用的是 Windows,因此您可以使用 PowerShell 和 PDFTk 一键实现您的目标
$pdftk = "C:\pdftk_server-2.02-win-setup\{app}\bin\pdftk.exe"
$input = "C:\originalPDFs"
$output = "C:\newPDFs"
Get-Childitem -path $input -filter *.pdf -recurse | foreach {
& $pdftk $_.Fullname cat 1 4 8 output $output\$_
}
如何
下载PDFTk 服务器。这是流行的 PDFTk 软件的命令行版本
但是,由于它是一个命令行实用程序,我们不想安装它。而是使用UniExtract 二进制存档提取下载的文件pdftk_server-2.02-win-安装
正确完成后,您将获得一个新文件夹。下面
..\{App}\bin
是我们需要的两个文件:libiconv2.dll
和pdftk.exe
。创建一个新文本文件并粘贴上述代码。根据您自己的需要更改所有三个路径变量。它们是不言自明的
另存为
SomeName.ps1
,右键单击并选择Run with PowerShell
执行脚本
最重要的部分& $pdftk $_.Fullname cat 1 4 8 output $output\$_
是
& $pdftk
» 使用以下一些参数运行 PDFTk 实用程序$_.Fullname
» 将当前 PDF 的完整路径作为输入文件cat 1 4 8
» 将输入 PDF 的第 1、4 和 8 页连接起来以创建一个新的 PDFoutput $output\$_
» 新 PDF 的文件名。它是输出文件夹加上原始 PDF 名称
参考
- https://www.pdflabs.com/tools/pdftk-server/(下载 PDFTk)
- https://www.pdflabs.com/docs/pdftk-man-page/(完整手册)
- https://www.pdflabs.com/docs/pdftk-cli-examples/(例子)
- http://ss64.com/ps/(PowerShell 命令列表)
答案2
不确定您是否会考虑这个选项...如果您有一个允许制作 PDF 的 Adobe 版本,那么您可以将所需的页面打印到 Adobe 虚拟打印机,并为所需的页面制作新的 PDF。
答案3
我使用的是 Adobe Acrobat Professional v10 版本。我刚想到了另一种选择...您可以使用任何第三方 PDF 创建器(应该可以免费下载)来实现相同的目的。