[英]'jpeg' is unsupported format error
這是我寫的方法:
def pdf_page_to_png(src_pdf, pagenum=0, resolution=300, slug=''):
dst_pdf = PyPDF2.PdfFileWriter()
dst_pdf.addPage(src_pdf.getPage(pagenum))
pdf_bytes = io.BytesIO()
dst_pdf.write(pdf_bytes)
pdf_bytes.seek(0)
img = Image(file=pdf_bytes, resolution=resolution)
img.convert("jpeg")
if pagenum == 0:
os.makedirs('media/einsert/%s' % slug)
img.save(filename='media/einsert/%s/page_%s.jpeg' % (slug, pagenum))
return img
我明白了
“jpeg”是不受支持的格式
錯誤
/Users/daro/praca/polsha24/lib/python2.7/site-packages/wand/image.py in format
def format(self, fmt):
if not isinstance(fmt, string_type):
raise TypeError("format must be a string like 'png' or 'jpeg'"
', not ' + repr(fmt))
fmt = fmt.strip()
r = library.MagickSetImageFormat(self.wand, binary(fmt.upper()))
if not r:
raise ValueError(repr(fmt) + ' is unsupported format') ...
r = library.MagickSetFilename(self.wand,
b'buffer.' + binary(fmt.lower()))
if not r:
self.raise_exception()
@property
osx el capan python 2.7.10 相同的代碼適用於其他帶有 debian 的計算機。
您可能需要安裝“ jpeg ”和/或“ ghostscript ”
對於 Mac:
brew install jpeg
brew install ghostscript
對於 linux :
JPEG : http : //www.ijg.org/files/
幽靈腳本: http : //ghostscript.com/download/
下載並安裝最新版本。
它為我解決了類似的問題。
你誤解了 Image.convert 的功能。 它不會在文件格式之間轉換,而是在像素格式之間進行轉換,例如“RGB”代表 RGB 像素或“CMYK”代表 CMYK 數據。 要以特定文件格式實際輸出圖像,請使用Image.save
:
jpeg_bytes = io.BytesIO()
img.save(jpeg_bytes, "jpeg")
然后緩沖區jpeg_bytes
包含 JPEG 數據。
編輯:如果我沒記錯的話,PDF 在 PIL 中是只寫的。 因此,您無法從 PDF 原始數據加載圖像。 但這是另一個問題...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.