我使用pdftk和python将http post数据传递给一个请求处理程序,该处理程序生成一个pdf文件并将其作为http响应返回。
下面是我当前的代码:
import os
from fdfgen import forge_fdf
from django.views.generic.edit import FormView
from django.http import HttpResponse
from myapp.forms import PdfForm
class PdfAutofillFormView(FormView):
form_class = PdfForm
def form_valid(self, form):
fields = [('first_field', form.cleaned_data.get('blah', '')),
('second_field', form.cleaned_data.get('blahblah', '')),]
fdf = forge_fdf("", fields, [], [], [])
fdf_file = open("/tmp/data.fdf", "wb")
fdf_file.write(fdf)
fdf_file.close()
cmd = 'pdftk %s fill_form %s output %s dont_ask' % \
('/home/myuser/original.pdf',
'/tmp/data.fdf',
'/tmp/output.pdf',)
os.system(cmd)
return HttpResponse(open('/tmp/output.pdf', 'r'),
mimetype="application/pdf")尽管此方法可以工作,但它会在磁盘上创建两个临时文件(data.fdf和output.pdf)。
我正在寻找一种方法来管道data.fdf和output.pdf到内存文件(而不是在磁盘上)。
发布于 2016-06-09 17:01:34
我结束了在操作系统上创建内存磁盘文件夹
https://stackoverflow.com/questions/34596099
复制相似问题