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
scroll top