Как установить pdfkit (модуль Python) в Windows 10?

Я устанавливаю pdfkit, используя pip (pip install pdfkit).

Затем я устанавливаю wkhtmltopdf из здесь

Но когда я пытаюсь запустить следующий код:

import pdfkit

config = pdfkit.configuration(wkhtmltopdf='C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe')
pdfkit.from_url('https://www.google.com', 'C:\\Users\\Χρήστος\\Desktop\\out-test.pdf', configuration=config)

Ошибка:

Traceback (most recent call last):
  File "create_pdf.py", line 4, in <module>
    pdfkit.from_url('https://www.google.com', 'C:\\Users\\Χρήστος\\Desktop\\out-test.pdf', configuration=config)
  File "C:\Users\Χρήστος\AppData\Local\Programs\Python\Python38\lib\site-packages\pdfkit\api.py", line 26, in from_url
    return r.to_pdf(output_path)
  File "C:\Users\Χρήστος\AppData\Local\Programs\Python\Python38\lib\site-packages\pdfkit\pdfkit.py", line 156, in to_pdf
    raise IOError('wkhtmltopdf reported an error:\n' + stderr)
OSError: wkhtmltopdf reported an error:
Loading pages (1/6)
QPainter::begin(): Returned false============================] 100%
Error: Unable to write to destination
Exit with code 1, due to unknown error.

Любой совет будет полезен.

Я также запускаю код с правами администратора.

Изменить: с сайта wkhtmltopdf:

Как мне это использовать? Загрузите предварительно скомпилированный двоичный файл или соберите его из исходного кода. Создайте свой HTML-документ, который вы хотите преобразовать в PDF (или изображение). Пропустите свой HTML-документ через инструмент. Например, если мне действительно нравится, как Google сегодня обработал свой логотип, и я хочу сохранить его навсегда в формате PDF:

wkhtmltopdf http://google.com google.pdf

Итак, я попробовал это:

cd C:\Program Files\wkhtmltopdf\bin
wkhtmltopdf http://google.com google.pdf

Не сработало, но когда я запустил его с правами администратора, pdf был создан. Таким образом, модуль pdfkit должен открывать wkhtmltopdf с правами администратора.


person Chris P    schedule 20.11.2020    source источник
comment
похоже, что это не проблема установки, но ваш пункт назначения недоступен для записи. Попробуйте другой пункт назначения.   -  person Lior Cohen    schedule 20.11.2020


Ответы (1)


На GitHub есть issue, кажется, вам нужно указать полный путь (например, ' C://foo/бар')

Возможно потому, что у скрипта нет прав на запись в папку, в которой он живет:
C:\Users\Χρήστος\AppData\Local\Programs\Python\Python38\lib\site-packages\pdfkit\pdfkit.py

Вы указали относительный путь, поэтому во время выполнения он попытается создать файл:
C:\Users\Χρήστος\AppData\Local\Programs\Python\Python38\lib\site-packages\pdfkit\out.pdf

person nenadp    schedule 20.11.2020
comment
я заметил об этой проблеме. Это не проблема. - person Chris P; 20.11.2020
comment
Есть еще одна проблема с github: github.com/wkhtmltopdf/wkhtmltopdf/issues/2934 обсуждается из целевой папки в проблемы с TCP/IP. Попробуйте устранить неполадки и сообщите нам - person Data Monger; 20.11.2020
comment
@DataMonger Вопрос отредактирован. - person Chris P; 20.11.2020