我在这个论坛上发现了很多相关问题。但是,没有一个能解决我的问题。请在将其标记为重复之前仔细检查。
假设我有两个 PDF 文件。
first.pdf
有10页。second.pdf
有20页。
我想创建一个新的 PDF 文件,其中我需要第 2、5、6、9 页first.pdf
和第 6、7、15、19 页second.pdf
。
如何从命令行执行此操作?
答案1
您可以使用pdfseparate
命令将所有页面的 pdf 拆分为单页 pdf。以下命令将创建last_page
-pdf first_page
,其名称为out_<pageNumber>
:
pdfseparate -f <first_page> -l <last_page> <file_name>.pdf out_%d.pdf
将该过程应用于两个 pdf,对每个输入 pdf 使用不同的输出名称,这样您就不会覆盖以前创建的单页 pdf。然后,您可以使用pdfunite
它将选定的页面合并为一个 pdf:
pdfunite <ordered list of pdf> <output_filename>.pdf
答案2
您可以使用pdftk
在短短一步:
pdftk A=first.pdf B=second.pdf cat A2 A5 A6 A9 B6 B7 B15 B19 output final.pdf
PS. 如果需要安装,则需要:
sudo apt-get install pdftk
答案3
安装pdftk
:
sudo apt install pdftk
然后,从名为“1.pdf”的文件中的第一个文件中提取“2 5 6 9”:
pdftk first.pdf cat 2 5 6 9 output 1.pdf
对于第二个.pdf:
pdftk second.pdf cat 6 7 15 19 output 2.pdf
然后合并它们:
pdftk 1.pdf 2.pdf output final.pdf
并删除不需要的:
rm 1.pdf 2.pdf
答案4
使用 qpdf 非常简单(也可以在 Windows 上与 Cygwin 一起使用):
qpdf --empty --pages 'file1.pdf' 1,2,4-10 'file2.pdf' 11-26 'file1.pdf' 27-29 -- ./merged-result.pdf