如何使用魔杖在 Django 中将上传的文件 (InMemoryUploadedFile) 从 pdf 转换为 jpeg?
How to convert an uploaded file (InMemoryUploadedFile) from pdf to jpeg in Django using wand?
我正在尝试将在 Django 中上传的 pdf 文件转换为 jpg 文件。我想直接在 InMemoryUploadedFile 状态下使用文件。
我尝试使用魔杖但没有成功。
这是我写的代码:
from django.shortcuts import render
from wand.image import Image as wi
# Create your views here.
def readPDF(request):
context = {}
if request.method == 'POST':
uploaded_file = request.FILES['document']
if uploaded_file.content_type == 'application/pdf':
pdf = wi(filename=uploaded_file.name, resolution=300)
pdfImage = pdf.convert("jpeg")
return render(request, 'readPDF.html', {"pdf": pdfImage})
我尝试了不同的方法,例如使用 uploaded_file.file 或 uploaded_file.name 作为魔杖图像的第一个参数,但没有任何成功。`
在此先感谢您的帮助!
应该能够将 InMemoryUploadedFile
直接传递给 Wand 的构造函数。
uploaded_file = request.FILES['document']
if uploaded_file.content_type == 'application/pdf':
with wi(file=uploaded_file, resolution=300) as pdf:
# ...
但是,我不建议尝试在 HTTP 请求中将 PDF 页面转换为 JPEG。最好将文档写入存储,并让后台工作人员管理缓慢/不安全的任务。
我正在尝试将在 Django 中上传的 pdf 文件转换为 jpg 文件。我想直接在 InMemoryUploadedFile 状态下使用文件。
我尝试使用魔杖但没有成功。 这是我写的代码:
from django.shortcuts import render
from wand.image import Image as wi
# Create your views here.
def readPDF(request):
context = {}
if request.method == 'POST':
uploaded_file = request.FILES['document']
if uploaded_file.content_type == 'application/pdf':
pdf = wi(filename=uploaded_file.name, resolution=300)
pdfImage = pdf.convert("jpeg")
return render(request, 'readPDF.html', {"pdf": pdfImage})
我尝试了不同的方法,例如使用 uploaded_file.file 或 uploaded_file.name 作为魔杖图像的第一个参数,但没有任何成功。`
在此先感谢您的帮助!
应该能够将 InMemoryUploadedFile
直接传递给 Wand 的构造函数。
uploaded_file = request.FILES['document']
if uploaded_file.content_type == 'application/pdf':
with wi(file=uploaded_file, resolution=300) as pdf:
# ...
但是,我不建议尝试在 HTTP 请求中将 PDF 页面转换为 JPEG。最好将文档写入存储,并让后台工作人员管理缓慢/不安全的任务。