做网站的财务会涉及到的科目,网站开发 印花税,济南网站建设 选聚搜网络,网站建设与管期末试题程序导出word文档的方法
将web/html内容导出为world文档#xff0c;再java中有很多解决方案#xff0c;比如使用Jacob、Apache POI、Java2Word、iText等各种方式#xff0c;以及使用freemarker这样的模板引擎这样的方式。php中也有一些相应的方法#xff0c;但在python中将…程序导出word文档的方法
将web/html内容导出为world文档再java中有很多解决方案比如使用Jacob、Apache POI、Java2Word、iText等各种方式以及使用freemarker这样的模板引擎这样的方式。php中也有一些相应的方法但在python中将web/html内容生成world文档的方法是很少的。其中最不好解决的就是如何将使用js代码异步获取填充的数据图片导出到word文档中。
1. unoconv
功能
1.支持将本地html文档转换为docx格式的文档所以需要先将网页中的html文件保存到本地再调用unoconv进行转换。转换效果也不错使用方法非常简单。
\# 安装
sudo apt-get install unoconv
\# 使用
unoconv -f pdf *.odt
unoconv -f doc *.odt
unoconv -f html *.odt
缺点
1.只能对静态html进行转换对于页面中有使用ajax异步获取数据的地方也不能转换主要是要保证从web页面保存下来的html文件中有数据。
2.只能对html进行转换如果页面中有使用echarts,highcharts等js代码生成的图片是无法将这些图片转换到word文档中
3.生成的word文档内容格式不容易控制。
2. python-docx
功能
1.python-docx是一个可以读写word文档的python库。
使用方法
1.获取网页中的数据使用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, level1)
document.add_paragraph(Intense quote, styleIntenseQuote)
document.add_paragraph(
first item in unordered list, styleListBullet
)
document.add_paragraph(
first item in ordered list, styleListNumber
)
document.add_picture(monty-truth.png, widthInches(1.25))
table document.add_table(rows1, cols3)
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(rows1,cols1,style Table Grid)
t.autofit False #很重要
w float(row) / 2.0
t.columns[0].width Inches(w)
document.save(table-step.docx)
缺点
1.功能非常弱。有很多限制比如不支持模板等只能生成简单格式的word文档。
程序导出PDF文档方法
1.pdfkit
功能
1.wkhtmltopdf主要用于HTML生成PDF。
2.pdfkit是基于wkhtmltopdf的python封装支持URL本地文件文本内容到PDF的转换其最终还是调用wkhtmltopdf命令。是目前接触到的python生成pdf效果较好的。
优点
1.wkhtmltopdf利用webkit内核将HTML转为PDF
webkit是一个高效、开源的浏览器内核包括Chrome和Safari在内的浏览器都使用了这个内核。Chrome打印当前网页的功能其中有一个选项就是直接“保存为 PDF”。
2.wkhtmltopdf使用webkit内核的PDF渲染引擎来将HTML页面转换为PDF。高保真转换质量很好且使用非常简单。
使用方法
# 安装
pip install pdfkit
# 使用
import pdfkit
pdfkit.from_url(http://google.com, out.pdf)
pdfkit.from_file(test.html, out.pdf)
pdfkit.from_string(Hello!, out.pdf)
####缺点
1.对使用echartshighcharts这样的js代码生成的图标无法转换为pdf因为它的功能主要是将html转换为pdf,而不是将js转换为pdf。对于纯静态页面的转换效果还是不错的。
###2.其他
其他生成pdf的插件还有weasyprintreportlabPyPDF2等经简单试验都不如pdfkit效果好且有些用法复杂。