You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PyPDF2裁剪PDF报错TypeError: 'tuple' object is not callable的解决方法

解决PyPDF2裁剪PDF时的TypeError问题

错误原因分析

  • page.cropbox.lower_left和page.cropbox.upper_right是元组类型的属性,不是可调用的方法,不能用括号传值,需要直接赋值。
  • 存在变量名和方法名错误:write.addPage(page)应为writer.add_page(page),PyPDF2的方法采用小写下划线的命名规范,且变量名是writer而非write。
  • PdfReader初始化无需传入'r'参数,该类仅接受文件路径或文件对象作为参数。

修正后的代码

from PyPDF2 import PdfReader, PdfWriter

reader = PdfReader('Flipkart_Test.pdf')
writer = PdfWriter()

print("Total PDF Pages", len(reader.pages))
page = reader.pages[4]

# 查看原页面的尺寸参数
print(page.mediabox.left)
print(page.mediabox.right)
print(page.mediabox.top)
print(page.mediabox.bottom)

crop_left = (180.0, 0)
print(crop_left[0])

for i in range(len(reader.pages)):
    page = reader.pages[i]
    # 直接为裁剪框坐标属性赋值
    page.cropbox.lower_left = crop_left
    page.cropbox.upper_right = (100, 120)
    writer.add_page(page)

# 使用with语句自动管理文件流
with open('Flipkart_Crop.pdf', 'wb') as outstream:
    writer.write(outstream)

内容的提问来源于stack exchange,提问作者Hasti Ghelani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 23:45:54