如何利用Python将html转为pdf、word文件

 更新时间:2022年12月19日 08:30:19   作者:Python妙妙屋  
网络上存在很多将HTML转换为PDF的软件和工具,但是大家都知道收费,所以下面这篇文章主要给大家介绍了关于如何利用Python将html转为pdf、word文件的相关资料,文中通过示例代码介绍介绍的非常详细,需要的朋友可以参考下

前言

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

转 pdf

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

安装 pdfkit 库

pip3 install pdfkit

安装 wkhtmltopdf 文件

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

在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把pdf文件转换为word文件

安装pip install pdf2docx:

pip install pdf2docx

如果安装过程出现报错,可能是版本匹配问题,先安装PyMuPDF这个库即可正常安装pip install PyMuPDF。

pip install PyMuPDF

安装好后,把需要转换的PDF文档放到和python代码同一个文件夹内。

python代码:

import os
from pdf2docx import Converter
 
def pdf_docx():
 
    # 获取当前工作目录
    file_path = os.getcwd()
 
    # 获取所有文件
    files = os.listdir(file_path)
 
    # 遍历所有文件
    for file in files:
 
        # 过滤临时文件
        if '~$' in file:
            continue
 
        # 过滤非pdf格式文件
        if file.split('.')[-1] != 'pdf':
            continue
        # 获取文件名称
        file_name = file.split('.')[0]
        # pdf文件名称
        pdf_name = os.getcwd() + '\\' + file
        # docx文件名称
        docx_name = os.getcwd() + '\\' + file_name + '.docx'
        # 加载pdf文档
        cv = Converter(pdf_name)
        cv.convert(docx_name, start=0, end=12)
        cv.close()
 
if __name__ == '__main__':
    pdf_docx()

start是pdf转换的起始页,end是结束页。如果不传入start和end这两个参数,默认就是从第一页转换到最后一页。也可以通过pages方法确定转换页数,方法为:cv.convert(docx_file, pages=[0,2, 5])

总结

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

到此这篇关于如何利用Python将html转为pdf、word文件的文章就介绍到这了,更多相关Python将html转pdf word内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • PyTorch中flatten() 函数的用法实例小结

    PyTorch中flatten() 函数的用法实例小结

    在PyTorch中,flatten函数的作用是将一个多维的张量转换为一维的向量,它可以将任意形状的张量转换为一维,而不需要指定转换后的大小,这篇文章主要介绍了PyTorch中flatten() 函数的用法,需要的朋友可以参考下
    2023-11-11
  • 对TensorFlow中的variables_to_restore函数详解

    对TensorFlow中的variables_to_restore函数详解

    今天小编就为大家分享一篇对TensorFlow中的variables_to_restore函数详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • python实现从ftp服务器下载文件的方法

    python实现从ftp服务器下载文件的方法

    这篇文章主要介绍了python实现从ftp服务器下载文件的方法,涉及Python操作FTP的相关技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • Python assert关键字原理及实例解析

    Python assert关键字原理及实例解析

    这篇文章主要介绍了Python assert关键字原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • python 实现网上商城,转账,存取款等功能的信用卡系统

    python 实现网上商城,转账,存取款等功能的信用卡系统

    本篇文章主要介绍 基于python 实现信用卡系统,附有代码实例,对于用python 开发网络上传系统具有参考价值,有需要的朋友可以看下
    2016-07-07
  • Python3正则匹配re.split,re.finditer及re.findall函数用法详解

    Python3正则匹配re.split,re.finditer及re.findall函数用法详解

    这篇文章主要介绍了Python3正则匹配re.split,re.finditer及re.findall函数用法,结合实例形式详细分析了正则匹配re.split,re.finditer及re.findall函数的概念、参数、用法及操作注意事项,需要的朋友可以参考下
    2018-06-06
  • PyCharm 常用快捷键和设置方法

    PyCharm 常用快捷键和设置方法

    下面小编就为大家分享一篇PyCharm 常用快捷键和设置方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • VSCode配置python环境及中文问题解决方法

    VSCode配置python环境及中文问题解决方法

    这篇文章主要介绍了VSCode配置python环境及中文问题,print打印中文乱码如何解决这个问题呢,本文给大家带来两种方法帮助大家解决这个问题,需要的朋友可以参考下
    2022-02-02
  • 计算python脚本执行时间的多种方法

    计算python脚本执行时间的多种方法

    在编写Python脚本时,了解脚本的执行时间通常是很有用的,特别是在优化代码或评估性能时,Python提供了多种方法来测量脚本的执行时间,从内置模块到第三方库,可以选择适合你需求的方式,本文将介绍计算 Python 脚本执行时间的多种方法,需要的朋友可以参考下
    2023-11-11
  • Python制作简易计算器功能

    Python制作简易计算器功能

    这篇文章主要为大家详细介绍了Python制作简易计算器功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04

最新评论