'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
还好。通过了。
如果蒙的不对,最后就只有继续查看该函数的源码了。

posted on 2022-07-18 16:55  耀扬  阅读(7170)  评论(0编辑  收藏  举报

导航