Python 3.x 如何使用python3将HTML转换为PDF
如何使用python3将HTML转换为PDF?我用pyqt5写了一些关于webView的代码,我想把webView中的html转换成pdf,我应该怎么做 我尝试过使用html2pdf,但它似乎只支持python2.x 我尝试安装wkhtmltox-0.12.2.2_msvc2013-win64.exe和pdfkit,然后使用示例代码Python 3.x 如何使用python3将HTML转换为PDF,python-3.x,Python 3.x,如何使用python3将HTML转换为PDF?我用pyqt5写了一些关于webView的代码,我想把webView中的html转换成pdf,我应该怎么做 我尝试过使用html2pdf,但它似乎只支持python2.x 我尝试安装wkhtmltox-0.12.2.2_msvc2013-win64.exe和pdfkit,然后使用示例代码 import pdfkit pdfkit.from_url('http://google.com', 'out.pdf') pdfkit.from_file('t
import pdfkit
pdfkit.from_url('http://google.com', 'out.pdf')
pdfkit.from_file('test.html', 'out.pdf')
pdfkit.from_string('Hello!', 'out.pdf')
但是我也失败了。错误如下
Traceback (most recent call last):
File "E:\Python34\lib\site-packages\pdfkit\configuration.py", line 21, in __init__
with open(self.wkhtmltopdf) as f:
FileNotFoundError: [Errno 2] No such file or directory: b''
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<pyshell#2>", line 1, in <module>
pdfkit.from_url('http://google.com', 'out.pdf')
File "E:\Python34\lib\site-packages\pdfkit\api.py", line 22, in from_url
configuration=configuration)
File "E:\Python34\lib\site-packages\pdfkit\pdfkit.py", line 38, in __init__
self.configuration = (Configuration() if configuration is None
File "E:\Python34\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: "b''"
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
回溯(最近一次呼叫最后一次):
文件“E:\Python34\lib\site packages\pdfkit\configuration.py”,第21行,在\uu init中__
将open(self.wkhtmltopdf)作为f:
FileNotFoundError:[Errno 2]没有这样的文件或目录:b“”
在处理上述异常期间,发生了另一个异常:
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
pdfkit.from_url('http://google.com“,”out.pdf“)
文件“E:\Python34\lib\site packages\pdfkit\api.py”,第22行,在from\u url中
配置=配置)
文件“E:\Python34\lib\site packages\pdfkit\pdfkit.py”,第38行,在\uu init中__
self.configuration=(如果配置为None,则为configuration()
文件“E:\Python34\lib\site packages\pdfkit\configuration.py”,第27行,在\uu init中__
'https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf“%self.wkhtmltopdf)
OS错误:未找到wkhtmltopdf可执行文件:“b”
如果此文件存在,请检查此进程是否可以读取它。否则请安装wkhtmltopdf-https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf
但我也失败了。那我该怎么办呢?我的系统是window7 x64,python的版本是3.4
“设置路径”
可能意味着将**.exe
添加到系统环境变量$path$
。例如,将D:\ProgramFiles\wkhtmltopdf\bin
添加到$Path$
中 因为这还没有一个公认的答案,所以我在多次搜索并尝试使用PyPDF2、PyPDF2的wkhtmltopdf beta分支、Python3的qpdf等失败后发现了一个在Python3中工作的很棒的库。它是weasyprint。我有相关的答案和示例代码
为完整起见,请参阅:
从weasyprint导入HTML
HTML('http://weasyprint.org/)。请编写_pdf('/tmp/weasyprint website.pdf')
这真的很容易 我重新安装wkhtmltox并设置路径,我工作得很好!!嗨,zonzely,我也有同样的问题。你是怎么做到的?你所说的“设置路径”是什么意思?这并不能回答这个问题。您可以,也可以参考页面右侧的相关和链接问题来找到答案。如果您有一个相关但不同的问题,并包含指向此问题的链接以帮助提供上下文。看:Weasy太容易了。谢谢