我有一个函数,通过
这导致了一个错误:
OSError: 无法识别图像文件<_io.BytesIO object at 0x0000023440F3A8E0> 我找到了一些类似问题的讨论帖子(PIL open()方法与BytesIO不兼容),但是我看不出我在这里错在哪里,因为我已经添加了pdf_bytes.seek(0)。
非常感谢任何提示。
PyPDF2
从PDF文件中获取页面,并应该使用Pillow
(PIL分支)将第一页转换为png(或jpg)。from PyPDF2 import PdfFileWriter, PdfFileReader
import os
from PIL import Image
import io
# Open PDF Source #
app_path = os.path.dirname(__file__)
src_pdf= PdfFileReader(open(os.path.join(app_path, "../../../uploads/%s" % filename), "rb"))
# Get the first page of the PDF #
dst_pdf = PdfFileWriter()
dst_pdf.addPage(src_pdf.getPage(0))
# Create BytesIO #
pdf_bytes = io.BytesIO()
dst_pdf.write(pdf_bytes)
pdf_bytes.seek(0)
file_name = "../../../uploads/%s_p%s.png" % (name, pagenum)
img = Image.open(pdf_bytes)
img.save(file_name, 'PNG')
pdf_bytes.flush()
这导致了一个错误:
OSError: 无法识别图像文件<_io.BytesIO object at 0x0000023440F3A8E0> 我找到了一些类似问题的讨论帖子(PIL open()方法与BytesIO不兼容),但是我看不出我在这里错在哪里,因为我已经添加了pdf_bytes.seek(0)。
非常感谢任何提示。