Retour d'une réponse PDF à Django
-
11-11-2019 - |
Question
Je pose une question très similaire à celui-ci. Je crée un PDF utilisant WKHTMLTOPDF sur un serveur Ubuntu dans Django.
from tempfile import *
from subprocess import Popen, PIPE
tempfile = gettempdir()+"/results.pdf"
papersize = 'Tabloid'
orientation = 'Landscape'
command_args = "wkhtmltopdf -O %s -s %s -T 0 -R 0 -B 0 -L 0 http://pdfurl %s" %(orientation, papersize, tempfile)
popen = Popen(command_args, stdout=PIPE, stderr=PIPE)
pdf_contents = popen.stdout().read()
popen.terminate()
popen.wait()
response = HttpResponse(pdf_contents, mimetype='application/pdf')
return response
Cela me donne une erreur "pas de fichier ou de répertoire" sur la ligne POPEN = POPEN .... Alors j'ai changé cette ligne en
popen = Popen(["sh", "-c", command_args], stdout=PIPE, stderr=PIPE)
Et maintenant, j'obtiens un objet "Fichier 'n'est pas une erreur" sur la ligne PDF_Contents = ...
J'ai également essayé d'ajouter .ComNicate () à la ligne POPEN = ... mais je n'arrive pas à localiser la sortie PDF de cette façon. Je dois ajouter que la saisie de la ligne Command_args dans la ligne de commande crée un PDF très bien. Est-ce que quelqu'un peut-il me montrer la bonne direction?
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow