py使用wkhtmltopdf报错AttributeError: module 'pdfkit' has no attribute 'from_files'
时间: 2024-01-21 16:15:16 浏览: 37
根据提供的引用内容,当使用py执行wkhtmltopdf时出现AttributeError: module 'pdfkit' has no attribute 'from_files'的错误,这通常是由于pdfkit库版本不兼容或安装不正确导致的。解决此问题的方法是确保正确安装了pdfkit库,并检查其版本是否与您的代码兼容。
以下是解决此问题的步骤:
1. 确保已正确安装pdfkit库。可以使用以下命令在终端中安装pdfkit库:
```shell
pip install pdfkit
```
2. 检查pdfkit库的版本。可以使用以下命令在终端中检查已安装的pdfkit库的版本:
```shell
pip show pdfkit
```
确保版本号正确且与您的代码兼容。
如果您已经正确安装了pdfkit库并且版本也正确,但仍然遇到此错误,请尝试以下解决方法:
1. 检查您的代码中是否存在拼写错误或语法错误。确保正确导入pdfkit库并正确使用其函数和属性。
2. 检查您的代码中是否存在命名冲突。可能存在其他名称为pdfkit的变量或模块,导致导入pdfkit库时出现冲突。
3. 尝试重新安装pdfkit库。可以使用以下命令在终端中重新安装pdfkit库:
```shell
pip uninstall pdfkit
pip install pdfkit
```
请注意,以上解决方法是基于常见情况的推测。如果问题仍然存在,请提供更多的代码和错误信息以便更好地帮助您解决问题。
相关问题
import tkinter as tk import pdfkit from bs4 import BeautifulSoup import requests import os options = {'enable-local-file-access': None } url ='http://funds.hexun.com/2020-07-28/201774800.html' def get_title(url): page = requests.get(url) soup = BeautifulSoup(page.content, 'html.parser') title_tag = soup.find('title').text title = title_tag.strip() return title '''将网页生成pdf文件''' def generate_pdf(url): title = get_title(url) pdf_file_name = f"{title}.pdf" # 将wkhtmltopdf.exe程序绝对路径传入config对象 path_wkthmltopdf = r'E:\PDF\wkhtmltopdf\bin\\wkhtmltopdf.exe' config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf) # 生成pdf文件,to_file为文件路径 pdfkit.from_url(url, pdf_file_name,configuration=config,options=options) return pdf_file_name filename = generate_pdf(url) print(f"PDF 文件 {filename} 生成成功!") File "C:\Users\ASUS\PycharmProjects\pythonProject1\venv\lib\site-packages\pdfkit\api.py", line 27, in from_url return r.to_pdf(output_path) File "C:\Users\ASUS\PycharmProjects\pythonProject1\venv\lib\site-packages\pdfkit\pdfkit.py", line 201, in to_pdf self.handle_error(exit_code, stderr) File "C:\Users\ASUS\PycharmProjects\pythonProject1\venv\lib\site-packages\pdfkit\pdfkit.py", line 155, in handle_error raise IOError('wkhtmltopdf reported an error:\n' + stderr) OSError: wkhtmltopdf reported an error: libpng warning: iCCP: known incorrect sRGB profile Exit with code 1 due to network error: HostNotFoundError
这段代码使用Python编程语言编写,主要用到了tkinter、pdfkit、BeautifulSoup和requests等库。代码目的是将指定网页转换为PDF文件并保存在本地。通过获取网页标题作为文件名,生成PDF文件。其中包括了“enable-local-file-access”参数,用于允许访问本地文件。具体实现方式是先通过requests库获取网页内容,再利用BeautifulSoup库对网页内容进行解析,提取网页标题。最后利用pdfkit库生成和保存PDF文件。该段代码的网页链接是http://funds.hexun.com/2020-07-28/201774800.html。
OSError: No wkhtmltopdf executable found: "E:\wkhtnltopdf\wkhtmltopdf\bin\wkhtmltopdf.exe"
根据引用,该错误是由于找不到wkhtmltopdf可执行文件导致的。提示中建议检查该文件是否存在以及当前进程是否可读取该文件。另外,你可以在方法调用中手动传递该文件的路径。你也可以参考引用和中的代码示例来设置wkhtmltopdf的路径。你可以检查一下你的wkhtmltopdf文件是否存在,并确保路径正确。如果不存在,你可以安装wkhtmltopdf。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [raise IOError(‘No wkhtmltopdf executable found: “%s“\n‘OSError: No wkhtmltopdf executable found:...](https://blog.csdn.net/qq_43384629/article/details/129971860)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *3* [Pdfkit OSError: No wkhtmltopdf executable found](https://blog.csdn.net/qq_38846810/article/details/83450293)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]