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


猜你喜欢
- What? 什么是面包屑面包屑是作为辅助和补充的导航方式(secondary navigation scheme),它能让用户知道在网站或应
- Jenkins和项目在两台服务器上Jenkins的下载安装部署省略,可自行上官网。1.安装maven插件完成后,会出现“
- pygame城市之战横版射击游戏,按上下左右方向箭头操作飞机。这是一个横板射击小游戏,在黑夜的城市上空,你将要操作一架飞机去射击敌机, * 效
- prototype 是在 IE 4 及其以后版本引入的一个针对于某一类的对象的方法,而且特殊的地方便在于:它是一个给类的对象添加方法的方法!
- 前言在早期学Python的时候,买了一本《Python编程快速上手-让繁琐工作自动化》。这本书里面讲得都比较基础,不过却非常的实用。估计从书
- 前提准备:1.使用python requests模块2.了解json3.zabbix api的具体调用建议先浏览一下官网先上代码:impor
- Python算术运算符以下假设变量a为10,变量b为20:运算符描述实例+加 - 两个对象相加a + b 输出结果 30-减 - 得到负数或
- 本文实例讲述了Python让字典保持有序的方法。分享给大家供大家参考,具体如下:问题:创建一个字典,同时对字典做迭代或序列化操作时,也能控制
- 下面的教程总结了Javascript在网页定位方面的相关知识。一、网页的绝对大小和相对大小首先,要明确两个基本概念。一张网页的全部面积,就是
- Mysql8.0.12解压版安装方法亲测,供大家参考1.下载(官方推荐的是下载安装板,但是之前一直用,想试一下解压版,毕竟更简单嘛),下载地
- 本文讨论的是如果开发一个符合w3c标准的web站点,重点探讨在新的设计与开发模式下,web项目组中的美工/页面制作人员/后台程序员三者之间如
- 主要讲 except 和 not in 的性能上的区别。 代码如下:CREATE TABLE tb1(ID int) CREAT
- asp函数代码 代码如下:<% Function RemoveHTML(str) Dim objRegExp, Match,strHT
- 前面我们已经介绍了速度动画、透明度动画、多物体运动和任意值变化,并且我们在Javascript动画效果(二)中介绍到我们封装了一个简单的插件
- 如果你的网站涉及个人隐私或者机密性非公开的网页,怎样告诉禁止搜索引擎收录抓取,下面侯庆龙说下以下方法,希望对不想被搜索引擎收录抓取网站有所帮
- 一、数据库是什么?数据库是管理数据的一类软件。对数据的管理体现在两个方面,第一是描述数据,即一条数据如何表示,第二是组织数据,即很多数据如何
- 前言加密解密在实际开发中应用比较广泛,常用加解密分为:“对称式”、“非对称式&a
- 一、常用文件函数库1、basename(); -- 返回路径中的文件名部分。string basename ( string $path [
- 大家都知道select的优先权比较高,CSS不宜控制,而且还能遮挡层的正常显示!那么我们就来模拟一个!这样样式就可以随心所欲了(若您看不到效
- Python 2里面读取输入的函数是raw_input(), Python 3的是input(),读入一个值后回车读取输入就退出了,想要一次