栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

Python自动化办公篇 - 96 - word文件自动化 - word 转 PDF(pdfkit与pydocx相结合)

Python 更新时间:发布时间: 百科书网 趣学号
万叶集
 隐约雷鸣,阴霾天空。 
 但盼风雨来,能留你在此。 

前言:
✌ 作者简介:渴望力量的哈士奇 ✌,大家可以叫我 哈士奇 ,致力于用白话讲解技术知识的博主 ✌
CSDN博客专家认证、新星计划第三季全栈赛道 top_1 、华为云享专家、阿里云专家博主 
 如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步
 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。
 如果感觉博主的文章还不错的话,还请关注、点赞、收藏三连支持一下博主哦


系列专栏:
                Python全栈系列 - [更新中]     【 本文在该系列】
                        Python零基础入门篇
                        Python语法进阶篇
                        Python自动化办公篇
                网安之路系列
​                        网安之路踩坑篇
​                        网安知识扫盲篇
​                        Vulhub 漏洞复现篇
​                        Shell脚本编程篇
​                        Web攻防篇   2021年9月3日停止更新,转战先知等安全社区
​                        渗透工具使用集锦  2021年9月3日停止更新,转战先知等安全社区
​                ⭐️ 点点点工程师系列
​                        测试神器 - Charles 篇
​                        测试神器 - Fiddler 篇
​                        测试神器 - Jmeter 篇
​                        自动化 - RobotFrameWork 系列
​                        自动化 - 基于 JAVA 实现的WEB端UI自动化
                        自动化 - 基于 MonkeyRunner 实现的APP端UI自动化

文章目录
    •  pdf 工具包 - pdfkit
      •  html 转 pdf
      •  网址 转 pdf
      •  字符串生成pdf
    •  结合 pydocx 将 word 转 html 再转 pdf

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

 pdf 工具包 - pdfkit

pdfkit 包的安装:

pip install pdfkit


依赖工具:

https://wkhtmltopdf.org/downloads.html 下载符合与自己当前系统的安装包安装完成之后就可以达到兼容的效果了。

 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字符串转为pdf的测试文件

""" 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')

运行结果如下:



PS:感觉这种方法进行Word转PDF不好用啊,转成PDF之后Word格式和样式全变了,无法作为商业化方案。

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/892365.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号