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相关推荐

  1. POI生成Web版Word文件

    POI生成Web版Word文件 1       通过URL的输入流实现 2       直接把Html文本写入到Word文件 所谓的使用POI生成Web版Word文件是指利用POI将Html代码插入到 ...

  2. Python通过word模板生成新的word文件

    功能自定义好的word文档,生成新的word文件 模块地址:https://docxtpl.readthedocs.io/en/latest/ 使用模块 docxtpl 安装方式 在线安装 pip i ...

  3. 把Excel数据填充word模板生成多份word文档

    有些事情,你想记得的就会记得.有些事情,你想忘记的就会忘记,如果忘记不了,那就不要忘记了,因为忘记是不需要努力的. Model_Car.cs代码 public class Model_Car{publ ...

  4. Word邮件合并功能详解:合并后生成多个word文档,删除空白页

    Word邮件合并功能详解:合并后生成多个word文档,删除空白页 最近在实习,干了很多打杂得工作,所以office软件用的很多很多,瞬间觉得自己可以去裸考计算机二级了哈哈哈哈哈哈.今天因为工作用到了邮 ...

  5. 基于Visual C++2010 与office2010开发办公自动化(2)-自动生成excel与word并打开

    VS2010是新一代全新开发工具 属于全新的系统构架 VS2010旗舰版功能全景 Office 2010,是微软推出新一代办公软件,开发代号为Office 14,实际是第12个发行版.该软件共有6个版 ...

  6. 基于Visual C++2010 与office2010开发办公自动化 2 -自动生成excel与word并打开

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! VS20 ...

  7. 利用poi读取word模板文件生成新的word文档

    利用poi读取word模板文件生成新的word文档 利用poi读取word模板文件,并回填逻辑数据,生成并导出需要的word文档源码.解决模板读取异常问题,提供wordUtils工具类(各种功能实现) ...

  8. java word模板poi生成文件_利用poi读取word模板文件生成新的word文档

    利用poi读取word模板文件生成新的word文档 利用poi读取word模板文件,并回填逻辑数据,生成并导出需要的word文档源码.解决模板读取异常问题,提供wordUtils工具类(各种功能实现) ...

  9. Excel明细生成多个word采购合同,Excel魔方完成

    场景: 我们的采购信息存储在excel中,需要以合同编号为基准,批量生成多个word采购合同. 采购合同样本如下: 实现方法和步骤: 通常这种可以使用邮件合并来完成,但是涉及多条信息拆分到word中的 ...

最新文章

  1. 工业物联网的应用领域与方向
  2. Android开发之ContentProvider结合LoaderManager加载数据(图文源代码分享)
  3. 腾讯科技改版 新闻帝国必经之路
  4. Scala定义函数的5种方式
  5. 80. 删除有序数组中的重复项 II
  6. 武汉国家光电实验室计算机考研,2018年华中科技大学武汉国家光电实验室408计算机学科专业基础综合之计算机操作系统考研基础五套测试题...
  7. 计算机网络——OSI参考模型和TCP/IP协议
  8. 记一次找因Redis使用不当导致应用卡死bug的过程
  9. 条件语句的多层嵌套问题优化,助你写出不让同事吐槽的代码
  10. DRUID连接池的使用
  11. Chrome下的语音控制框架MyVoix.js使用篇(二)
  12. VS2013用InstallShield生成安装包文件步骤
  13. 传智播客-刘意-java深入浅出精华版学习笔记Day10
  14. 如何解决ueditor乱码问题
  15. HD地址批量生成 java
  16. 批量获取百度网盘文件目录
  17. unity将预制体写成fbx_Unity3d 动态加载fbx模型文件
  18. PostgreSQL下载与安装
  19. Zalando在疫情中成为赢家,甚至超越了亚马逊
  20. macOS上如何安装(不需要编译安装或者brew)、使用ffmpeg转码的教程,以及如何使用硬件加速

热门文章

  1. 《阿里云代码安全白皮书》5个维度应对3类代码安全问题
  2. 最新葫芦侠图床带API网站源码
  3. 8188gu驱动和su realtek_Realtek全系列官方网卡驱动
  4. WinEdt 与 SumatraPDF 的正反向搜索功能
  5. 谈下这几天sybase数据库获取行号遇到的坑
  6. 第三十三篇,网络编程TCP协议通讯过程实现和函数接口
  7. 【nssm将exe封装成服务】
  8. Sketch最常用的十个插件
  9. 数据库第十一次作业--视图的应用
  10. 最新商业免签支付系统源码/第三方支付程序源码+源码价值4000缘