我正在尝试将 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)
1 回答

RISEBY
TA贡献1856条经验 获得超5个赞
对我来说,它看起来像是pdfrw使用GitHub 上的这个例子的任务,我编写了以下示例代码:
from pdfrw import PdfReader, PdfWriter
pages = PdfReader('inputfile.pdf').pages
parts = [(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),因此如果您愿意,可以改用旧的格式化方法。请记住根据您的需要更改文件名和范围。
添加回答
举报
0/150
提交
取消