如何合并 pdf 文件,以便每个文件从奇数页码开始?

Jan*_*hoł 11 pdf merge

我需要合并一些打瞌睡的 pdf,我希望所有输入 pdf 都从输出 pdf 的奇数页开始。

示例:A.pdf有 3 页,B.pdf有 4 页。我不希望我的输出有 7 页。我想要的是一个 8 页的 pdf,其中第 1-3A.pdf页来自,第 4 页是空的,第 5-8 页来自B.pdf. 我怎样才能做到这一点?

我知道 pdftk,但我在手册页中没有找到这样的选项。

Gil*_*il' 6

如果您愿意编写一些 Python ,PyPdf 库可以使这类事情变得简单。将下面的代码保存在一个名为pdf-cat-even(或任何您喜欢的脚本)的脚本中,使其可执行 ( chmod +x pdf-cat-even),并将其作为过滤器 ( ./pdf-cat-even a.pdf b.pdf >concatenated.pdf) 运行。你需要 pyPdf ?1.13 的addBlankPage方法。

#!/usr/bin/env python
import copy, sys
from pyPdf import PdfFileWriter, PdfFileReader
output = PdfFileWriter()
output_page_number = 0
alignment = 2           # to align on even pages
for filename in sys.argv[1:]:
    # This code is executed for every file in turn
    input = PdfFileReader(open(filename))
    for p in [input.getPage(i) for i in range(0,input.getNumPages())]:
        # This code is executed for every input page in turn
        output.addPage(p)
        output_page_number += 1
    while output_page_number % alignment != 0:
        output.addBlankPage()
        output_page_number += 1
output.write(sys.stdout)
Run Code Online (Sandbox Code Playgroud)