Python自动化办公之Word转PDF的实现

 更新时间:2022年05月17日 12:50:28   作者:渴望力量的哈士奇  
这篇文章主要为大家详细介绍一下如何在 windows、mac、linux 三种系统中都可以生成 PDF 的解决方案,文中的示例代码讲解详细,需要的可以参考一下

该章节我们将要学习如何将 word 文件转为 PDF文件,其实网上有很多种生成 PDF 的教程,不过绝大多数都是以 windows 为主的,并且兼容有很多的问题。windows、mac、linux 同时兼容的情况比较少,所以今天的章节我们就来学习一下如何在 windows、mac、linux 三种系统中都可以生成 PDF 的解决方案。

pdf 工具包 - pdfkit

pdfkit 包的安装:

pip install pdfkit

依赖工具:

下载符合与自己当前系统的安装包安装完成之后就可以达到兼容的效果了。

html 转 pdf

html 转 pdf 方法:

pdfkit.from_file(html文件, 保存路径) 利用 pdfkit.from_file() 函数传入 "html" 文件与 pdf 的保存路径

代码示例如下:

# coding:utf-8
import pdfkit  # 需安装 pdfkit 第三方包 "pip install pdfkit" 以及第三方依赖 "wkhtmltopdf"

pdfkit.from_file('html测试文件.html', 'html测试文件.pdf')

运行结果如下:

网址 转 pdf

网址 转 pdf 方法:

pdfkit.from_url(网址, 保存路径) 利用 pdfkit.from_url() 函数传入 "网址" 文件与 pdf 的保存路径

“html” 文件与网址的区别在于实际上html文件有可能是我们本地开发生成的,也有可能是通过 “网页另存为” 的方式存储在本地的。所以 网址 与 html文件 还是有一点点区别的,但是它们的本质其实是一样的。

代码示例如下:

# coding:utf-8
import pdfkit  # 需安装 pdfkit 第三方包 "pip install pdfkit" 以及第三方依赖 "wkhtmltopdf"

pdfkit.from_url('https://www.163.com', 'test1.pdf')

运行结果如下:

字符串生成pdf

网址 转 pdf 方法:

pdfkit.from_string(基于html的字符串, 保存路径) 利用 pdfkit.from_string() 函数传入 "网址" 文件与 pdf 的保存路径

基于html的字符串 其实就是前端的一种超文本文件格式,以这种前端规范生成的字符串其实就是 html 的字符串了

# coding:utf-8

import pdfkit  # 需安装 pdfkit 第三方包 "pip install pdfkit" 以及第三方依赖 "wkhtmltopdf"

html = """
<html>
<head>
<meta charset="utf-8" />
</head>
<body>
  <p>你好,这是一个html字符串转为pdf的测试文件</p>
</body>
</html>
"""

pdfkit.from_string(html, 'html_string_test.pdf')

运行结果如下:

结合 pydocx 将 word 转 html 再转 pdf

首先需要安装 pydocx 依赖包 —> pip install pydocx

导入 PyDocX 函数 —> from pydocx import PyDocX

利用 PyDocX 将 word 文件转换为 html 格式(会生成一个 html 的字符串对象)

将 生成的 html 字符串 写入到一个 html 文件中

然后利用 pdfkit 包的 pdfkit.from_file() 函数将其转为 pdf 文件

代码示例如下:

# coding:utf-8

import pdfkit  # pip install pdfkit
from pydocx import PyDocX  # pip install pydocx

html = PyDocX.to_html('简历1.docx')
f = open('简历1.html', 'w')
f.write(html)
f.close()

#pdfkit.from_file('html1.html', 'test3.pdf')
pdfkit.from_string(html, '简历1.pdf')

运行结果如下:

到此这篇关于Python自动化办公之Word转PDF的实现的文章就介绍到这了,更多相关Python Word转PDF内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 基于Python编写一个监控CPU的应用系统

    基于Python编写一个监控CPU的应用系统

    在使用电脑办公时,有时候不知道哪些软件或进程会占用大量的资源,导致进行其他任务时出现变慢、卡顿等现象。因此,实时监控系统的资源就变得非常重要。本文用Python编写了一款超治愈的RunCat监控应用系统,需要的可以参考一下
    2022-06-06
  • python的逻辑与循环详解

    python的逻辑与循环详解

    这篇文章主要为大家详细介绍了python的逻辑与循环,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • 使用Atom支持基于Jupyter的Python开教程详解

    使用Atom支持基于Jupyter的Python开教程详解

    这篇文章主要介绍了使用Atom支持基于Jupyter的Python开发,Vscode虽然说也有连接Jupyter的工具,但是交互式的开发Hydrogen体验更好,需要的朋友可以参考下
    2021-08-08
  • Python导入oracle数据的方法

    Python导入oracle数据的方法

    这篇文章主要介绍了Python导入oracle数据的方法,涉及Python读取csv文件信息再插入到Oracle数据库的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • python 以16进制打印输出的方法

    python 以16进制打印输出的方法

    今天小编就为大家分享一篇python 以16进制打印输出的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-07-07
  • Python多进程与多线程的使用场景详解

    Python多进程与多线程的使用场景详解

    这篇文章主要给大家介绍了关于Python多进程与多线程使用场景的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • python给指定csv表格中的联系人群发邮件(带附件的邮件)

    python给指定csv表格中的联系人群发邮件(带附件的邮件)

    这篇文章主要介绍了python给指定csv表格中的联系人群发邮件,本文通过代码讲解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • python3使用smtplib实现发送邮件功能

    python3使用smtplib实现发送邮件功能

    这篇文章主要为大家详细介绍了python3使用smtplib实现发送邮件功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • 如何实现在jupyter notebook中播放视频(不停地展示图片)

    如何实现在jupyter notebook中播放视频(不停地展示图片)

    这篇文章主要介绍了如何实现在jupyter notebook中播放视频(不停地展示图片),具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-04-04
  • 对python中assert、isinstance的用法详解

    对python中assert、isinstance的用法详解

    今天小编就为的就分享一篇对python中assert、isinstance的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11

最新评论