django - 如何使用 wand 在 Django 中将上传的文件(InMemoryUploadedFile)从 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。最好将文档写入存储,并让后台工作人员管理缓慢/不安全的任务。
推荐阅读
- python - 如何确保子进程的子进程不会在 Python(在 Linux 上)中获得 SIGINT?
- reactjs - 如何将状态值从一个组件传递到同一级别的另一个组件
- python-3.x - 在单个列中更改多个 ROW 值,遵循但过滤过程
- python-3.x - 我将图像 ID 的键值对作为键,将 numpy 数组(24、366、366)作为值。有效保存这些数据的最佳方法是什么?
- rust - 得到,“在实现中缺少`from`”
- python - 明智地创建新的数据框
- r - 闪亮应用程序中的渲染打印和过滤器出错
- android - StaticLayout getHeight 总是返回行数
- c# - 如何使用 AspNetCore.Diagnostics.HealthChecks 库提供的 AWS S3 健康检查方法
- python - 刮问题。错误后我的循环不会继续