pythonhtml生成word_html转word
html转word
将web/html内容导出为world文档,再java中有很多解决方案,比如使用Jacob、Apache POI、Java2Word、iText等各种方式,以及使用freemarker这样的模板引擎这样的方式。php中也有一些相应的方法,但在python中将web/html内容生成world文档的方法是很少的。其中最不好解决的就是如何将使用js代码异步获取填充的数据,图片导出到word文档中。
unoconv
优缺点
功能
1.支持将本地html文档转换为docx格式的文档,所以需要先将网页中的html文件保存到本地,再调用unoconv进行转换。转换效果也不错,使用方法非常简单。
缺点
1.只能对静态html进行转换,对于页面中有使用ajax异步获取数据的地方也不能转换(主要是要保证从web页面保存下来的html文件中有数据)。
2.只能对html进行转换,如果页面中有使用echarts,highcharts等js代码生成的图片,是无法将这些图片转换到word文档中;
3.生成的word文档内容格式不容易控制。
使用
# 安装
sudo apt-get install unoconv
# 使用
unoconv -f pdf *.odt
unoconv -f doc *.odt
unoconv -f html *.odt
python-docx
优缺点
功能
1.python-docx是一个可以读写word文档的python库。
缺点
1.功能非常弱。有很多限制比如不支持模板等,只能生成简单格式的word文档。
使用方法
获取网页中的数据,使用python手动排版添加到word文档中。
from docx import Document
from docx.shared import Inches
document = Document()
document.add_heading('Document Title', 0)
p = document.add_paragraph('A plain paragraph having some ')
p.add_run('bold').bold = True
p.add_run(' and some ')
p.add_run('italic.').italic = True
document.add_heading('Heading, level 1', level=1)
document.add_paragraph('Intense quote', style='IntenseQuote')
document.add_paragraph(
'first item in unordered list', style='ListBullet'
)
document.add_paragraph(
'first item in ordered list', style='ListNumber'
)
document.add_picture('monty-truth.png', width=Inches(1.25))
table = document.add_table(rows=1, cols=3)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = 'Qty'
hdr_cells[1].text = 'Id'
hdr_cells[2].text = 'Desc'
for item in recordset:
row_cells = table.add_row().cells
row_cells[0].text = str(item.qty)
row_cells[1].text = str(item.id)
row_cells[2].text = item.desc
document.add_page_break()
document.save('demo.docx')
from docx import Document
from docx.shared import Inches
document = Document()
for row in range(9):
t = document.add_table(rows=1,cols=1,style = 'Table Grid')
t.autofit = False #很重要!
w = float(row) / 2.0
t.columns[0].width = Inches(w)
document.save('table-step.docx')
pythonhtml生成word_html转word相关推荐
- POI生成Web版Word文件
POI生成Web版Word文件 1 通过URL的输入流实现 2 直接把Html文本写入到Word文件 所谓的使用POI生成Web版Word文件是指利用POI将Html代码插入到 ...
- Python通过word模板生成新的word文件
功能自定义好的word文档,生成新的word文件 模块地址:https://docxtpl.readthedocs.io/en/latest/ 使用模块 docxtpl 安装方式 在线安装 pip i ...
- 把Excel数据填充word模板生成多份word文档
有些事情,你想记得的就会记得.有些事情,你想忘记的就会忘记,如果忘记不了,那就不要忘记了,因为忘记是不需要努力的. Model_Car.cs代码 public class Model_Car{publ ...
- Word邮件合并功能详解:合并后生成多个word文档,删除空白页
Word邮件合并功能详解:合并后生成多个word文档,删除空白页 最近在实习,干了很多打杂得工作,所以office软件用的很多很多,瞬间觉得自己可以去裸考计算机二级了哈哈哈哈哈哈.今天因为工作用到了邮 ...
- 基于Visual C++2010 与office2010开发办公自动化(2)-自动生成excel与word并打开
VS2010是新一代全新开发工具 属于全新的系统构架 VS2010旗舰版功能全景 Office 2010,是微软推出新一代办公软件,开发代号为Office 14,实际是第12个发行版.该软件共有6个版 ...
- 基于Visual C++2010 与office2010开发办公自动化 2 -自动生成excel与word并打开
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! VS20 ...
- 利用poi读取word模板文件生成新的word文档
利用poi读取word模板文件生成新的word文档 利用poi读取word模板文件,并回填逻辑数据,生成并导出需要的word文档源码.解决模板读取异常问题,提供wordUtils工具类(各种功能实现) ...
- java word模板poi生成文件_利用poi读取word模板文件生成新的word文档
利用poi读取word模板文件生成新的word文档 利用poi读取word模板文件,并回填逻辑数据,生成并导出需要的word文档源码.解决模板读取异常问题,提供wordUtils工具类(各种功能实现) ...
- Excel明细生成多个word采购合同,Excel魔方完成
场景: 我们的采购信息存储在excel中,需要以合同编号为基准,批量生成多个word采购合同. 采购合同样本如下: 实现方法和步骤: 通常这种可以使用邮件合并来完成,但是涉及多条信息拆分到word中的 ...
最新文章
- 工业物联网的应用领域与方向
- Android开发之ContentProvider结合LoaderManager加载数据(图文源代码分享)
- 腾讯科技改版 新闻帝国必经之路
- Scala定义函数的5种方式
- 80. 删除有序数组中的重复项 II
- 武汉国家光电实验室计算机考研,2018年华中科技大学武汉国家光电实验室408计算机学科专业基础综合之计算机操作系统考研基础五套测试题...
- 计算机网络——OSI参考模型和TCP/IP协议
- 记一次找因Redis使用不当导致应用卡死bug的过程
- 条件语句的多层嵌套问题优化,助你写出不让同事吐槽的代码
- DRUID连接池的使用
- Chrome下的语音控制框架MyVoix.js使用篇(二)
- VS2013用InstallShield生成安装包文件步骤
- 传智播客-刘意-java深入浅出精华版学习笔记Day10
- 如何解决ueditor乱码问题
- HD地址批量生成 java
- 批量获取百度网盘文件目录
- unity将预制体写成fbx_Unity3d 动态加载fbx模型文件
- PostgreSQL下载与安装
- Zalando在疫情中成为赢家,甚至超越了亚马逊
- macOS上如何安装(不需要编译安装或者brew)、使用ffmpeg转码的教程,以及如何使用硬件加速