python

您所在的位置:网站首页 如何把pdf合并成一页文档内容一样 python

python

#python| 来源: 网络整理| 查看: 265

我有一个 pdf,其中共有 6 页图像。我想将第 1 页和第 2 页合并为一个 pdf,依此类推,合并 3 到 6 页。

我将所有 6 页 pdf 拆分为单独的 pdf。

导入操作系统 从 PyPDF2 导入 PdfFileReader、PdfFileWriter

def pdf_splitter(路径): fname = os.path.splitext(os.path.basename(path))[0]

pdf = PdfFileReader(path) for page in range(pdf.getNumPages()): pdf_writer = PdfFileWriter() pdf_writer.addPage(pdf.getPage(page)) output_filename = '{}_page_{}.pdf'.format( fname, page+1) with open(output_filename, 'wb') as out: pdf_writer.write(out) print('Created: {}'.format(output_filename))

如果名称 == '主要': 路径 = 'D:\Tasks\Samples\fw9.pdf' pdf_splitter(路径)

我想知道如何将fw9的第1页和第2页合并为单个pdf文件,该文件仅包含1页,其中半页作为fw9 pdf文件的第1页,另一半作为fw9 pdf文件的第2页。我必须这样做对于所有 6 页,1-2 页作为 1 个 pdf,其中 1 页,3-4 页作为另一个 pdf,其中只有 1 页,两者都在同一页上,依此类推。如果有人知道如何做,请提供帮助所以。

最佳答案

库 pyPDF2 还有一个 PdfFileMerger 对象,它应该完全符合您的要求。

如示例 here 所示您只需创建一个 PdfFileMerger,读取两页并将它们放入一个文件中。

我稍微改变了你的脚本,还创建了页面为 0-1、2-3、4-5 ecc 的文件。(当然,第 0 页是第一页,但 python 编号从 0 开始)

import os from PyPDF2 import PdfFileReader, PdfFileWriter, PdfFileMerger def pdf_splitter(path): fname = os.path.splitext(os.path.basename(path))[0] pdf = PdfFileReader(path) input_paths = [] for page in range(pdf.getNumPages()): pdf_writer = PdfFileWriter() pdf_writer.addPage(pdf.getPage(page)) output_filename = '{}_page_{}.pdf'.format(fname, page+1) input_paths.append(output_filename) with open(output_filename, 'wb') as out: pdf_writer.write(out) print('Created: {}'.format(output_filename)) # every 2 pages! # Change the two if you need every other number of pages! if page % 2 == 1: pdf_merger = PdfFileMerger() #create pdfilemerger for path in input_paths: pdf_merger.append(path) #read the single pages # we call it pages_N-1_N, so first would be pages_0_1! output_path = '{}_pages_{}_{}.pdf'.format(fname, page-1, page) with open(output_path, 'wb') as fileobj: pdf_merger.write(fileobj) # write the two pages pdf! input_paths = [] if __name__ == '__main__': path = 'D:\Tasks\Samples\fw9.pdf' pdf_splitter(path)

这是你想要的吗?

这将首先为每个页面创建单个 pdf,然后将它们合并为 2 到 2。也可以跳过创建单个 pdf,但我不确定您是否需要。

关于python - 如何将 pdf 文件中的两页合并为一页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56970605/



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3