Python自动化办公之Word转PDF的实现
作者:渴望力量的哈士奇 发布时间:2022-10-04 05:30:50
该章节我们将要学习如何将 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')
运行结果如下:
来源:https://blog.csdn.net/weixin_42250835/article/details/124809193
猜你喜欢
- 有时候我们的数据是按某个频率收集的,比如每日、每月、每15分钟,那么我们怎么产生对应频率的索引呢?pandas中的date_range可用于
- 一、文件内容的分发 应用场景:分批读取共有358086行内容的txt文件,每取1000条输出到一个文件当中# coding=utf-8# 分
- 代码: import os while True: dynamic = input('输入计算表达式:') if dynam
- urllib是python的一个获取url(Uniform Resource Locators,统一资源定址符)了,可以利用它来抓取远程的数
- 我开发了一个程序,数据在服务器端处理,通过ODBC和Access通讯。在实际应用中,调用后台存储过程不方便,花费时间也长。有什么好办法可以在
- 由于分形树具有对称性,自相似性,所以我们可以用递归来完成绘制。只要确定开始树枝长、每层树枝的减短长度和树枝分叉的角度,我们就可以把分形树画出
- 在python自动化中,经常会遇到对数据文件的操作,比如添加多名员工,但是直接将员工数据写在python文件中,不但工作量大,要是以后再次遇
- 对于xml2ddl项目,Freshmeat.org提供了一整套基于GNU或者GPL通用公共许可证下的Python程序。在一个运行的Pytho
- 在ie7发布之前,Dean的addEvent/removeEvent可以称的上是完美了。IE7发布后,引入新的内存泄漏(这个我不是很确定,忘
- 代码如下:<%@LANGUAGE="VBSCRIPT"%> <% option&n
- 这篇文章主要介绍了python匿名函数lambda原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值
- urls.py:URL dispatcher(路由配置文件)URL配置(URLconf)就像是Django所支撑网站的目录。它的本质是URL
- keras 中fit(self, x=None, y=None, batch_size=None, epochs=1, verbose=1,
- 当你执行大型程序的时候,突然出现exception,会让程序直接停止,这种对服务器自动程序很不友好,而python有着较好的异常捕获机制,不
- 有的时候,为了对python文件进行加密,会把python模块编译成.pyd文件,供其他人调用。拿到一个.pyd文件,在没有文档说明的情况下
- 引言所有的层都具有的参数,如name, type, bottom, top和transform_param请参看我的前一篇文章:Caffe卷
- 导读只需要添加几行代码,就可以得到更快速,更省显存的PyTorch模型。你知道吗,在1986年Geoffrey Hinton就在Nature
- 想实现发送邮件需要经过以下几步:1、登录邮件服务器2、构造符合邮件协议规则要求的邮件内容3、发送Python对SMTP支持有smtplib和
- 使用PDB的方式有两种:1. 单步执行代码,通过命令 python -m pdb xxx.py 启动脚本,进入单步执行模式 pdb
- 在本文中我们将展示一种新的使用仿CSS选择器的语法来快速开发HTML和CSS的方法。它由Sergey Chikuyonok开发。你在写HTM