我正在尝试使用魔杖将 PDF 转换为 JPG。
我想根据全局变量 docHeight 调整 jpg 的大小。
jpg 的大小将由最大尺寸与将放置的目标页面的比率确定。
我似乎从起跑门开始就失败了,我不知道为什么。
我的 with 语句中似乎没有读取该文件。
我的 with Image 语句返回
>>>>with Image(filename = thumbOriginal, resolution = (RESOLUTION,RESOLUTION)) as img:
print img
'NoneType' object has no attribute '__getitem__'
我阅读文件的方式有什么问题?
它主要是从这个问题中借来的。我几乎找不到有关如何正确进行此转换的任何信息。
with Image(filename = thumbOriginal, resolution = (RESOLUTION,RESOLUTION)) as img:
print img # prints 'NoneType' object has no attribute '__getitem__'
img_width = img.width
print "img_width: "+str(img_width) # prints 0 if I comment out "print img" statement
img_height = img.height
print "img_height: "+str(img_height) # prints 0 if I comment out "print img" statement
if img_width > img_height:
ratio = float(dest_width / img_width) # Fails for float divided by 0 if I comment out "print img" statement
else: ratio = float(dest_height / img_height) # Fails for float divided by 0 if I comment out "print img" statement
img.resize(int(ratio*img_width), int(ratio *img.height))
img.alpha_channel = False
img.format = 'jpg'
img.save(filename = thumb)
我还尝试了在另一个 stackoverflow 问题上找到的更简单的版本:
with Image(filename = thumbOriginal, resolution = 300) as img:
print img
img.compression_quality = 99
img.save(filename=thumb)
但我得到了同样的错误
'NoneType' object has no attribute '__getitem__'
我知道pdf在那里。我可以手动打开它,它工作得很好。
我也尝试过完全删除解决方案参数,但没有成功。
当我包含一个...
print thumbOriginal
.... 语句,它返回正确且完整的文件路径。