1

我最近开始学习 python,我想将现有的 html 文件转换为 pdf 文件。这很奇怪,但 pdfkit 似乎是 python pdf 文档的唯一库。

import pdfkit
pdfkit.from_file("C:\\Users\\user\Desktop\\table.html", "out.pdf")

发生错误: OSError: No wkhtmltopdf executable found: "b''"

如何在 Windows 上正确配置此库以使其工作?我无法得到它:(

4

2 回答 2

0

看来您需要安装 wkhtmltopdf。对于 Windows,可以在https://wkhtmltopdf.org/downloads.html找到安装程序

另请查看这个人的帖子,他有同样的问题:无法使用 python PDFKIT 创建 pdf 错误:“未找到 wkhtmltopdf 可执行文件:”

于 2017-06-20T20:00:37.980 回答
0

我找到了可行的解决方案。如果您想将文件转换为 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()
于 2017-06-21T09:21:17.120 回答