小蓝丸子 2023-04-26 20:34 采纳率: 61.5%
浏览 373
已结题

没有用list为什么会出现'_VirtualList 'object is not callable的问题

使用python实现PDF文件的拆分,为什么会出现有关列表这样的问题

img

img

  • 写回答

1条回答 默认 最新

  • Py小郑 新星创作者: python技术领域 2023-05-01 12:04
    关注

    在Python中,' _VirtualList ' object is not callable 错误通常是由于使用了列表的错误用法,例如将列表当作函数来调用,但是它不是函数,而是一个可迭代的对象。

    对于PDF文件的拆分,通常需要使用类似 PyPDF2 或者 pdfplumber 这样的第三方库来进行操作。以下是一个使用 PyPDF2 拆分 PDF 文件并保存为多个单页 PDF 文件的示例代码:

    import os
    import PyPDF2
    
    input_path = 'input.pdf'
    output_dir = 'output'
    
    # 创建输出文件夹
    if not os.path.exists(output_dir):
        os.makedirs(output_dir)
    
    # 打开 PDF 文件并读取页面
    with open(input_path, 'rb') as input_file:
        pdf_reader = PyPDF2.PdfFileReader(input_file)
        for page_num in range(pdf_reader.getNumPages()):
            # 创建一个新的 PDF 写入器
            pdf_writer = PyPDF2.PdfFileWriter()
            # 将当前页面添加到新的 PDF 文件中
            pdf_writer.addPage(pdf_reader.getPage(page_num))
            # 构造输出文件名
            output_file = os.path.join(output_dir, f'page{page_num+1}.pdf')
            # 将新的 PDF 文件写入到磁盘中
            with open(output_file, 'wb') as output_file:
                pdf_writer.write(output_file)
    

    上述代码中,我们首先使用 PyPDF2.PdfFileReader 类打开 PDF 文件,然后使用 getNumPages() 方法获取 PDF 文件中的页面数量。接下来,我们遍历每个页面,使用 PdfFileWriter 类创建一个新的 PDF 写入器,将当前页面添加到新的 PDF 文件中,构造输出文件名,并将新的 PDF 文件写入到磁盘中。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月13日
  • 已采纳回答 5月5日
  • 创建了问题 4月26日