国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

利用python程序生成word和PDF文檔的方法

2020-02-23 04:22:22
字體:
來源:轉載
供稿:網友

一、程序導出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 *.odtunoconv -f doc *.odtunoconv -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 Documentfrom docx.shared import Inchesdocument = Document()document.add_heading('Document Title', 0)p = document.add_paragraph('A plain paragraph having some ')p.add_run('bold').bold = Truep.add_run(' and some ')p.add_run('italic.').italic = Truedocument.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].cellshdr_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.descdocument.add_page_break()document.save('demo.docx')
from docx import Documentfrom docx.shared import Inchesdocument = 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')

缺點:

功能非常弱。有很多限制比如不支持模板等,只能生成簡單格式的word文檔。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 广水市| 安庆市| 桃园市| 兴文县| 黔西县| 济南市| 岑巩县| 洪洞县| 余姚市| 横峰县| 宜州市| 浦城县| 巴彦淖尔市| 三原县| 莱芜市| 辽宁省| 锡林郭勒盟| 安顺市| 兰考县| 疏勒县| 万年县| 曲靖市| 孝义市| 北票市| 余干县| 玉山县| 定远县| 北流市| 马关县| 酒泉市| 井研县| 许昌县| 平陆县| 安顺市| 安化县| 全南县| 健康| 石屏县| 巴林右旗| 河东区| 连州市|