这就是我写的方法:
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()
@propertyosx el capitan python 2.7.10与debian在其他计算机上使用相同的代码。
发布于 2016-07-08 06:36:47
您可能需要安装“jpeg”和/或“鬼怪脚本”。
对于mac:
brew install jpeg
brew install ghostscript对于linux:
JPEG:http://www.ijg.org/files/
Ghostscript:http://ghostscript.com/download/
下载并安装最新版本。
它为我解决了类似的问题。
发布于 2015-10-25 22:21:12
你误解了Image.convert的功能。它不是在文件格式之间转换,而是在像素格式之间进行转换。" RGB“表示RGB像素," CMYK”表示CMYK数据。若要实际以特定文件格式输出图像,请使用Image.save
jpeg_bytes = io.BytesIO()
img.save(jpeg_bytes, "jpeg")然后,缓冲区jpeg_bytes包含JPEG数据。
编辑:如果我没记错,PDF是只写在PIL中的。因此,您无法从PDF原始数据加载图像。但这是另一个问题..。
https://stackoverflow.com/questions/33335571
复制相似问题