2017-02-23 2 views
3

Je suis en train de convertir une page web au format PDF, en utilisant PDFKit mais il montre l'erreur suivantePDFKit OSError: Aucun exécutable wkhtmltopdf trouvé

Traceback (most recent call last): 

    File "<ipython-input-39-33289a2ef087>", line 1, in <module> 
runfile('H:/Python/Practice/pdf_read_write.py', wdir='H:/Python/Practice') 

    File "C:\Program Files\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 866, in runfile 
execfile(filename, namespace) 

    File "C:\Program Files\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile 
exec(compile(f.read(), filename, 'exec'), namespace) 

    File "H:/Python/Practice/pdf_read_write.py", line 10, in <module> 
config = pdfkit.configuration(wkhtmltopdf="C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe") 

    File "C:\Program Files\Anaconda3\lib\site-packages\pdfkit\api.py", line 83, in configuration 
return Configuration(**kwargs) 

    File "C:\Program Files\Anaconda3\lib\site-packages\pdfkit\configuration.py", line 27, in __init__ 
'https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf' % self.wkhtmltopdf) 

OSError: No wkhtmltopdf executable found: "C:\Program Files\wkhtmltopdin\wkhtmltopdf.exe" 
If this file exists please check that this process can read it. Otherwise please install wkhtmltopdf - https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf 

J'ai téléchargé wkhtmktopdf de Here et installé. Ajout du chemin d'accès à la variable d'environnement mais montre toujours la même erreur.
J'ai essayé de configurer pdfkit mais rien n'a fonctionné.

Voici mon code:

import pdfkit 
config = pdfkit.configuration(wkhtmltopdf="C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe") 
pdfkit.from_url("http://www.geeksforgeeks.org/convex-hull-set-2-graham-scan/", "out.pdf",configuration=config) 

Comment résoudre ce problème ??

+3

Le '\ b' dans' \ bin' est un ([Backspace ASCII] http : //stackoverflow.com/questions/25065608/what-does-backward-slash-b-do-in-python). Essayez 'r 'C: \ Program Files \ ..." 'ou' "C: \\ Program Files \\ ..." '. – Wondercricket

+0

Oh !! Merci beaucoup !! Ça a marché !! : D Poster comme une réponse. @Wondercricket –

Répondre

3

Votre chemin de configuration contient un ASCII Backspace, le \b dans \bin, qui PDFKit semble décapage et à la conversion C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe-C:\Program Files\wkhtmltopdf\wkhtmltopdf.exe.

Cela peut être résolu en utilisant r, ce qui en fait un raw literal

config_path = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe' 

ou \\

config_path = 'C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe'