python html 转 pdf文件,用 Python 将 html 转为 pdf、word

36880c0bf705dfb624ae0e6db3adb054.png

文 |某某白米饭

来源:Python 技术「ID: pythonall」

1f014a8120d8e5cb21df9e29cb52430f.png

在日常中有时需将 html 文件转换为 pdf、word 文件。网上免费的大多数不支持多个文件转换的情况,而且在转换几个后就开始收费了。

3b85c7288fe57123da87dd3a02624da2.png

转 pdf

转 pdf 中使用 pdfkit 库,它可以让 web 网页直接转为 pdf 文件,多个 url 可以合并成一个文件。

安装 pdfkit 库pip3 install pdfkit

安装 wkhtmltopdf 文件

pdfkit 是基于 wkhtmltopdf 的 python 封装库,所以需要安装 wkhtmltopdf 软件。

下载地址:https://wkhtmltopdf.org/downloads.html

eb1209a0aa7b992a993af6c0e9a4d96f.png

在windows 系统中,需要将 wkhtmltopdf.exe 文件路径配置在系统环境变量中。

url 生成 pdf

这里使用 baidu 首页和 bing 首页作为示例import pdfkit

# 第一个参数可以是列表,放入多个域名,第二个参数是生成的 PDF 名称

pdfkit.from_url(['www.baidu.com','www.bing.com'],'search.pdf')

本地 html 文件生成 pdf

提前将需要转换的 html 存储到本地,也可以使用 python 爬虫代码抓取 html 文件到本地。import pdfkit

pdfkit.from_file('/Users/xx/Desktop/html/baidu.html', 'search.pdf')

转 word

使用 pypandoc 库将 html 转换为 word 文件,pypandoc 是一个支持多种文件格式转换的 Python 库,它用到了 pandoc 软件,所以需要在电脑上安装 pandoc 软件

安装 pypandoc 库pip install pypandoc

安装 pandoc 软件

pypandoc 是基于 pandoc 软件的库,所以要安装一下 pandoc (https://github.com/jgm/pandoc/releases/tag/2.11.4),pandoc 支持多种类型转换。下图是 pandoc 的转换类型。

使用

将 html 文件提前存储在本地,也可以用爬虫将需要转换的 html 文件在代码中抓取后使用。import pypandoc

# convert_file('原文件','目标格式','目标文件')

output = pypandoc.convert_file('/Users/xx/Desktop/html/baidu.html', 'docx', outputfile="baidu.doc")

pypandoc 无法对 word 进行排版,所以需要小伙伴们进行 2 次排版。

总结

利用好 Python 第三方库类,可以为小伙伴写出各种个性化定制的小程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你可以使用Python的第三方库reportlab来将Word文档换为PDF。下面是一个简单的代码示例: ```python from docx2pdf import convert # 将Word文档换为PDF convert('path/to/word/document.docx', 'path/to/pdf/document.pdf') ``` 请注意,这需要安装reportlab和docx2pdf库。可以使用以下命令进行安装: ```python pip install reportlab docx2pdf ``` 希望这可以帮助你! ### 回答2: 要使用PythonWord转为PDF,可以使用python-docx和pdfkit库。首先,需要确保已经安装了这两个库。可以通过pip命令来安装: pip install python-docx pip install pdfkit 接下来,需要下载并安装wkhtmltopdf工具,它是换器的一部分,用于将HTML换为PDF。下载地址:https://wkhtmltopdf.org/downloads.html 安装完成之后,需要设置pdfkit的配置,将wkhtmltopdf的路径指定为pdfkit的配置: import pdfkit config = pdfkit.configuration(wkhtmltopdf='C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe') 现在,我们可以开始将Word换为PDF了。首先,使用python-docx库读取Word文件: from docx import Document doc = Document('input.docx') 接下来,将Word文件另存为HTML格式: html_file = 'temp.html' doc.save(html_file) 最后,使用pdfkit库将HTML文件换为PDFpdf_file = 'output.pdf' pdfkit.from_file(html_file, pdf_file, configuration=config) 运行以上代码后,将会在当前目录下生成一个output.pdf文件,即为换后的PDF文件。 需要注意的是,这个方法在换复杂的Word文件时可能存在一些格式方面的问题,因为在换为HTML时可能会丢失一些特定的格式信息。 ### 回答3: 要使用PythonWord文件换为PDF,我们可以使用Python的`docx2pdf`库。首先,确保已安装该库,可以通过运行`pip install docx2pdf`来安装。 接下来,我们需要编写Python代码来完成换过程。首先,我们导入`docx2pdf`库,并指定要换的Word文件的路径和要生成的PDF文件的路径。然后,我们调用`convert`函数,并传入这两个文件的路径作为参数。最后,我们打印出换成功的消息。 下面是一个简单的示例代码: ```python import docx2pdf # 指定要换的Word文件和生成的PDF文件的路径 word_file = 'path/to/input.docx' pdf_file = 'path/to/output.pdf' # 调用convert函数进行换 docx2pdf.convert(word_file, pdf_file) # 打印换成功的消息 print("换成功!") ``` 您只需将`path/to/input.docx`替换为实际的Word文件路径,`path/to/output.pdf`替换为要生成的PDF文件路径,然后运行Python代码即可完成WordPDF的过程。换成功后,您将在指定的PDF文件路径下找到生成的PDF文件。 请注意,您需要安装Microsoft Word或LibreOffice,以便正确执行换。同时,确保输入的文件路径是正确的,并具有适当的权限。 希望以上信息对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值