を使用しpdftk
て、いくつかの動的な一時 PDF ファイルを生成し、Django がユーザーに提供します。
デスクトップでは正常に動作します-pdfファイルが開き、ユーザーは保存できますが、すべてのブラウザーのAndroid携帯で(iOSでも同じかもしれませんが、iOSデバイスがないためテストできません)、pdfは機能します正常にダウンロードされません。ダウンロードを開始しますが、その後常に失敗し、その理由がわかりません。
以下は、pdf バイナリ データを生成するビューと関数のスニペットです。
def get_pdf():
fdf = {...}
t1 = tempfile.NamedTemporaryFile(delete=False)
t2 = tempfile.NamedTemporaryFile(delete=False)
t1.file.write(fdf)
# close temp files for pdftk to work properly
t1.close()
t2.close()
p = Popen('pdftk %s fill_form %s output %s flatten' %
('original.pdf', t1.name, t2.name), shell=True)
p.wait()
with open(t2.name, 'rb') as fid:
data = fid.read()
# delete t1 and t2 since they are temp files
# at this point the data is the binary of the pdf
return data
def get_pdf(request):
pdf = get_pdf()
response = HttpResponse(pdf, mimetype='application/pdf')
response['Content-Disposition'] = 'filename=foofile.pdf'
return response
なぜこれが起こっているのかについてのアイデアはありますか?