Python настроить pdfkit на windows
Я недавно начал изучать Python и хочу преобразовать существующий HTML-файл в PDF-файл. Это очень странно, но pdfkit кажется единственной библиотекой для pdf документов для python.
import pdfkit
pdfkit.from_file("C:\\Users\\user\Desktop\\table.html", "out.pdf")
Произошла ошибка:OSError: No wkhtmltopdf executable found: "b''"
Как правильно настроить эту библиотеку в Windows, чтобы она работала? Я не могу получить это:(
2 ответа
Похоже, вам нужно установить wkhtmltopdf. Для Windows установщик можно найти по адресу https://wkhtmltopdf.org/downloads.html
Также ознакомьтесь с постом этого парня, у которого возникла та же проблема: не удается создать pdf с помощью python PDFKIT Ошибка: "Не найден исполняемый файл wkhtmltopdf:"
Я нашел рабочее решение. Если вы хотите конвертировать файлы в формат PDF, просто не используйте Python для этой цели. Вам нужно включить библиотеку DOMPDF в ваш php-скрипт на вашем локальном / удаленном сервере. Что-то вроде этого:
<?php
// include autoloader
require_once 'vendor/autoload.php';
// reference the Dompdf namespace
use Dompdf\Dompdf;
if (isset($_POST['html']) && !empty($_POST['html'])) {
// instantiate and use the dompdf class
$dompdf = new Dompdf();
$dompdf->loadHtml($_POST['html']);
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'landscape');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
$dompdf->stream();
} else {
exit();
}
Затем в вашем скрипте Python вы можете опубликовать свой HTML или любой другой контент на вашем сервере и получить сгенерированный файл PDF в качестве ответа. Что-то вроде этого:
import requests
url = 'http://example.com/html2pdf.php'
html = '<h1>hello</h1>'
r = requests.post(url, data={'html': html}, stream=True)
f = open('converted.pdf', 'wb')
f.write(r.content)
f.close()