Невозможно создать pdf с помощью python Ошибка PDFKIT: "Нет исполняемого файла wkhtmltopdf:
Я попробовал установить pdfkit Python API на моем компьютере с Windows 8. Я получаю проблемы, связанные с пути.
Traceback (most recent call last):
File "C:\Python27\pdfcre", line 13, in <module>
pdfkit.from_url('http://google.com', 'out.pdf')
File "C:\Python27\lib\site-packages\pdfkit\api.py", line 22, in from_url
configuration=configuration)
File "C:\Python27\lib\site-packages\pdfkit\pdfkit.py", line 38, in __init__
self.configuration = (Configuration() if configuration is None
File "C:\Python27\lib\site-packages\pdfkit\configuration.py", line 27, in __init__
'https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf' % self.wkhtmltopdf)
IOError: No wkhtmltopdf executable found: ""
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
Кто-нибудь установил Python PDFKIt на машине Windows? Как устранить эту ошибку.
Мой пример кода:
import pdfkit
import os
config = pdfkit.configuration(wkhtmltopdf='C:\\Python27\\wkhtmltopdf\bin\\wkhtmltopdf.exe')
pdfkit.from_url('http://google.com', 'out.pdf')
Ответы
Ответ 1
Следующее должно работать без изменения переменных среды Windows:
import pdfkit
path_wkthmltopdf = r'C:\Python27\wkhtmltopdf\bin\wkhtmltopdf.exe'
config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)
pdfkit.from_url("http://google.com", "out.pdf", configuration=config)
Предполагая, что путь, конечно, правильный (например, в моем случае это r'C:\Program Files (x86)\wkhtmltopdf\bin\wkhtmltopdf.exe ').
Ответ 2
Пожалуйста, установите wkhtmltopdf, используя
sudo apt install -y wkhtmltopdf
для Windows Machine установите его по ссылке ниже, http://wkhtmltopdf.org/downloads.html
и вам нужно добавить путь wkhtmltopdf
в переменные окружения
Ответ 3
IOError: 'No wkhtmltopdf executable found'
Убедитесь, что у вас есть wkhtmltopdf в вашем $ PATH или настроено через пользовательскую конфигурацию. where wkhtmltopdf
в Windows или which wkhtmltopdf
в Linux должен возвращать фактический путь к двоичному файлу.
Добавление этой строки конфигурации работало для меня:
config = pdfkit.configuration(wkhtmltopdf="C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe")
pdfkit.from_string(html, 'MyPDF.pdf', configuration=config)
Из github
Кажется, вам нужно передать configuration=config
качестве аргумента.
Ответ 4
Я изучаю python сегодня, и я встретил ту же проблему, в последнее время я устанавливаю переменные среды windows, и все в порядке.
Я добавляю путь установки wkhtml к пути, например: "D:\developAssistTools\wkhtmltopdf\bin;" это мой путь установки wkhtml, и я добавляю его в путь, все в порядке.
import pdfkit
pdfkit.from_url("http://google.com", "out.pdf")
Наконец, я нахожу out.pdf.
Ответ 5
Вам нужно установить
pdfkit.from_url ('http://google.com', 'out.pdf', configuration = config)
Ответ 6
Найдено, что декодирование на платформе Windows должно быть двоичной строкой, попробуйте:
path_wkthmltopdf = b'C:\Program Files\wkhtmltopdf\\bin\wkhtmltopdf.exe'
config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)
pdfkit.from_url(url=urlpath, output_path=pdffilepath,configuration=config)
Ответ 7
def urltopdf(url,pdffile):
import pdfkit
'''
input
- url : target url
- pdffile : target pdf file name
'''
path_wkthmltopdf = 'D:\\Program Files (x86)\\wkhtmltopdf\\bin\\wkhtmltopdf.exe'
config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)
#pdfkit.from_url(url=urlpath, output_path=pdffilepath,configuration=config)
pdfkit.from_url(url,pdffile,configuration=config)
urltopdf('http://www.google.com','pdf/google.pdf')
очень хорошее решение!
спасибо всем!
Ответ 8
Когда я попробовал все вышеперечисленные методы, я столкнулся с ошибкой разрешения, так как у меня нет прав администратора на моей рабочей станции. Если это так и для вас, убедитесь, что при установке wkhtmltopdf.exe. Папка назначения для установки находится в папке python site-packages или добавьте каталог в sys.path. Обычно он устанавливается в папке Program Files. Я изменил каталог установки, и это работает для меня:
import pdfkit
pdfkit.from_url("http://google.com", "out.pdf")
Ответ 9
Не нужно писать wkhtmltopdf путь в код. Просто определите для него переменную окружения, и она работает.
import pdfkit
pdfkit.from_url('http://google.com', 'out.pdf')
Для меня этот код работает.