使用PIL拆分.TIFF文件

时间:2014-01-24 19:20:16

标签: python image python-imaging-library tiff

我查看了Split multi-page tiff with python文件拆分.TIFF文件,但老实说,我并没有完全理解答案,我希望稍微澄清一下。

我正在尝试将带有多个发票的.Tif文件放入其中并将其拆分为每个页面,然后将其压缩并上传到数据库中。 PIL安装在将运行该程序的计算机上,因此我想坚持使用PIL库。我知道我可以在打开后使用PIL查看每个图像的大小等信息,但是当我尝试保存每个图像时,它会变得有点冒险。 (下面的示例代码)

def Split_Images(img,numFiles):
    ImageFile = Image.open(img)
    print ImageFile.size[0]
    print ImageFile.size[1]
    ImageFile.save('InvoiceTest1.tif')[0]
    ImageFile.save('InvoiceTest2.tif')[1]

然而,当我运行此代码时,我收到以下错误:

TypeError: 'NoneType' object has no attribute '__getitem__'

任何建议?

提前谢谢你,

1 个答案:

答案 0 :(得分:5)

您需要使用PIL Image“搜索”方法来访问不同的页面。

from PIL import Image

img = Image.open('multipage.tif')

for i in range(4):
    try:
        img.seek(i)
        img.save('page_%s.tif'%(i,))
    except EOFError:
        break