拆分 PDF 的特定页面并使用 Python 保存

我正在尝试将 20 页的 pdf 文件(单个)拆分为五个各自的 pdf 文件,第 1 个 pdf 包含 1-3 页,第 2 个 pdf 文件仅包含第 4 页,第 3 个 pdf 包含 5 到 10 页,第 4 个 pdf 包含 11-17页,第 5 个 pdf 包含 18-20 页。我需要python中的工作代码。下面提到的代码将整个 pdf 文件拆分为单个页面,但我想要分组页面..


    from PyPDF2 import PdfFileWriter, PdfFileReader

    inputpdf = PdfFileReader(open("input.pdf", "rb"))

    for i in range(inputpdf.numPages):

    j = i+1    

    output = PdfFileWriter()

    output.addPage(inputpdf.getPage(i))

    with open("page%s.pdf" % j, "wb") as outputStream:

    output.write(outputStream)


江户川乱折腾
浏览 264回答 1
1回答

RISEBY

对我来说,它看起来像是pdfrw使用GitHub 上的这个例子的任务,我编写了以下示例代码:from pdfrw import PdfReader, PdfWriterpages = PdfReader('inputfile.pdf').pagesparts = [(3,6),(7,10)]for part in parts:    outdata = PdfWriter(f'pages_{part[0]}_{part[1]}.pdf')    for pagenum in range(*part):        outdata.addpage(pages[pagenum-1])    outdata.write()这一次创建两个文件:pages_3_6.pdf和pages_7_10.pdf每3页,即3,4,5和7,8,9。注意pagenum-1在代码中,-1用于因事实PDF页面记数开始于1而不是0。我还使用所谓的 f-strings 来获取输出文件的名称。在我看来,这是一种巧妙的方法,但它在 Python2 中不可用,而且我不确定它是否在所有 Python3 版本中都可用(我在 中测试了我的代码3.6.7),因此如果您愿意,可以改用旧的格式化方法。请记住根据您的需要更改文件名和范围。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python