'Document' object has no attribute 'pageCount',_writeIMG() missing 1 required positional argument: 'format'问题
python中想用fitz库,把pdf转为图片。
网上找了资料发现。均报错
'Document' object has no attribute 'pageCount'
没啥
肯定是库升级了,函数改名了。
首先 考虑 使用 dir() 方法查找一下该对象的所有的属性和方法
果然改名了
# 安装fitz需要安装PyMuPDF才能使用
import fitz
import os
def pdf_to_jpg(name):
pdfdoc=fitz.open(name)
temp = 0
# print(dir(fitz.Matrix))
for pg in range(pdfdoc.pageCount):
page = pdfdoc[pg]
temp += 1
rotate = int(0)
# 每个尺寸的缩放系数为2,这将为我们生成分辨率提高四倍的图像。
zoom_x = 2.0
zoom_y = 2.0
trans = fitz.Matrix(zoom_x, zoom_y).prerotate(rotate)
# print(dir(page))
pm = page.get_pixmap(matrix=trans, alpha=False)
pic_name = '{}.jpg'.format(temp)
#拼接生成pdf的文件路径
pic_pwd = os.path.join('', pic_name)
print(pic_name)
# print(dir(pm._writeIMG))
pm._writeIMG(pic_pwd,1)
pdf_to_jpg(r'C:\123.pdf')
如果发现还有其他的改动,那就dir()检查吧。
然后发现另一个错误
_writeIMG() missing 1 required positional argument: 'format'
总之是缺少一个参数,估计是输入图片的格式。瞎蒙一个'jpg'
然后报错了。发现应该是 int型。
然后就瞎蒙了 个 1
还好。通过了。
如果蒙的不对,最后就只有继续查看该函数的源码了。