2 python windows pdf jpeg scanning
当我扫描页面时,我有一个扫描仪,它生成一个BMP文件,但每页的大小是50MB.我如何告诉Python,使其JPEG和小尺寸.
rv = ss.XferImageNatively()
if rv:
(handle, count) = rv
twain.DIBToBMFile(handle,'imageName.bmp')
Run Code Online (Sandbox Code Playgroud)
你怎么告诉他把它变成JPEG或PDF?(本机传输始终是未压缩的图像,因此您的图像大小将为:(宽度 - 英寸*dpi)*(高度英寸*dpi)*每像素字节数)
您可以使用PIL(http://www.pythonware.com/products/pil/)或Pillow(https://github.com/python-pillow/Pillow)之类的东西,它将以您指定的格式保存文件基于文件名.
如果没有指定文件名,python TWAIN模块将从DIBToBMFile返回位图作为字符串,因此您可以将该字符串提供给其中一个图像库以用作缓冲区.否则,你可以保存到一个文件,然后打开该文件并重新保存它,但这是一种相当迂回的做事方式.
编辑:看(懒惰模式)
from PIL import Image
img = Image.open('C:/Python27/image.bmp')
new_img = img.resize( (256, 256) )
new_img.save( 'C:/Python27/image.png', 'png')
Run Code Online (Sandbox Code Playgroud)
输出: