各ファイルが奇数ページ番号で始まるようにPDFファイルをマージする方法は?

各ファイルが奇数ページ番号で始まるようにPDFファイルをマージする方法は?

いくつかのロックされたPDFをマージする必要があり、すべての入力PDFが出力PDFの奇数ページから始まるようにしたいと思います。

例:A.pdf3ページがあります。B.pdf4ページあります。私欲しくない私の出力には7ページがあります。私が望むのは、1-3ページがから出て、A.pdf4ページが空で、5-8ページがから出る8ページPDFですB.pdf。どうすればいいですか?

pdftkについて知っていますが、マニュアルページにそのようなオプションがありません。

ベストアンサー1

これpypdfライブラリPythonコードを書こうとすると、これらの作業は簡単になります。以下のコードをpdf-cat-even(または必要に応じて)スクリプトに保存して実行可能にし、(chmod +x pdf-cat-even)実行して出力をファイルにリダイレクトします。./pdf-cat-even a.pdf b.pdf >concatenated.pdf現在のバージョンのpypdfはパイプへの書き込みをサポートしていません。

#!/usr/bin/env python3
import copy, sys
from pypdf import PdfWriter, PdfReader
output = PdfWriter()
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 = PdfReader(filename)
    for p in input.pages:
        # This code is executed for every input page in turn
        output.add_page(p)
        output_page_number += 1
    while output_page_number % alignment != 0:
        output.add_blank_page()
        output_page_number += 1
output.write(sys.stdout.buffer)

おすすめ記事