我试图使用Pillow
和PyPDF
将tiff
文件转换为PDF
。我可以使用Pillow
的早期版本来实现这一点,但我不能使用哪个版本。在
我最近升级到Pillow 3.1.0
,现在遇到了问题。这是以前的工作代码。在
import os
import traceback
from PIL import Image
from PyPDF2 import PdfFileReader, PdfFileMerger
to_merge = []
with Image.open('my_tif.tif') as img:
seeker = 0
while True:
try:
# temp file name for PDF
img_pdf = 'temp_{}.pdf'.format(seeker)
#seeks to next image with TIFF
img.seek(seeker)
# saves the image as a PDF
img.save(img_pdf)
seeker += 1
to_merge.append(img_pdf)
except Exception as err:
traceback.print_exc()
break
merger = PdfFileMerger()
for f in to_merge:
merger.append(PdfFileReader(f))
os.remove(f)
merger.write('merged.pdf')
事先,它为tiff
中的每个图像生成一个PDF文件,然后毫无问题地将PDF合并在一起。在
在我升级到Pillow 3.1.0
之后,它会循环遍历所有的图像,但是在最后一个图像上抛出一个ValueError
。在
引起ValueError
的原因是什么?在
不久前我也有同样的问题。我找到的唯一解决方案是将文件作为文件对象打开并将其传递给图像。打开在每次迭代中:
相关问题 更多 >
编程相关推荐