Pdf
如何合併 pdf 文件,以便每個文件從奇數頁碼開始?
我需要合併一些打瞌睡的 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.13addBlankPage
。#!/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)