将 2 个 PDF 合并为 16 个页面段

问题描述

我有 2 个 PDF,是通过拆分由 32 页签名组成的 2-up 文档得到的。意思是一个 PDF 有第 1-16、33-48、65-80 页……而另一个有第 17-32、49-64、81-96 页……

如何使用 Python 合并两者,迭代每个 16 页的片段?获得最终组合的 PDF 格式为 1-16,17-32,33-48,49-64 .....

我可以逐页迭代它们,我可以一个接一个地组合一个完整的 PDF,等等。但似乎无法获得按段合并的正确方法。

第一个操作是使用外部软件(Xerox Freeflow Core)完成的,我得到了 4 个文件,其中 16 页序列分为偶数页/奇数页,我加入它们迭代:

import itertools as itt
import sys
import PyPDF2 as PDF
def main():
fbase = sys.argv[1]

pdf_out = PDF.PdfFileWriter()

with open(fbase + "_odd.pdf",'rb') as f_odd:
    with open(fbase + "_even.pdf",'rb')  as f_even:
        pdf_odd = PDF.PdfFileReader(f_odd)
        pdf_even = PDF.PdfFileReader(f_even)

        for p in itt.chain.from_iterable(
            itt.zip_longest(
                pdf_odd.pages,(pdf_even.pages),)
        ):
            if p:
                pdf_out.addPage(p)

        with open(fbase + ".pdf",'wb') as f_out:
            pdf_out.write(f_out)

return 0
if __name__ == "__main__":

if len(sys.argv) != 2:
    print("Wrong number of arguments!")
    sys.exit(1)

sys.exit(main())

之后我得到了上面提到的2个文件。如果我可以遍历 16p 段而不是逐页迭代,上面的代码对我有用。

请问有什么线索吗?

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)