Pdf

如何合併 pdf 文件,以便每個文件從奇數頁碼開始?

  • December 7, 2019

我需要合併一些打瞌睡的 pdf,我希望所有輸入 pdf 都從輸出 pdf 的奇數頁開始。

範例:A.pdf有 3 頁,B.pdf有 4 頁。我不希望我的輸出有 7 頁。我想要的是一個 8 頁的 pdf,其中第 1-3 頁來自A.pdf,第 4 頁是空的,第 5-8 頁來自B.pdf。我怎樣才能做到這一點?

我知道 pdftk,但我沒有在手冊頁中找到這樣的選項。

如果您願意編寫一點 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)

引用自:https://unix.stackexchange.com/questions/66418