你要先生成一個模板,然後用 python 對模板進行修改。
如果是 pdf 模板:
可以使用 pyPdf 和 reportlab 包。參考
http://stackoverflow.com/questions/1180115/add-text-to-existing-pdf-using-python
如果是 word (.docx 文件)模板(建議使用 word 模板):
docx 文件可以用 zipfile 模塊解壓縮,然後進行修改替換,接著將 word 轉 pdf。參考
http://stackoverflow.com/questions/16867594/find-and-replace-text-in-docx-file-python
http://stackoverflow.com/questions/6011115/doc-to-pdf-using-python
㈡ python 列印報表 有什麼好的報表軟體嗎
你好,你可以用python 去調用fastreport.dll。下面是一個例子。
import clr
import threading
def fastRepot_run():
report = Report()
report.Load("test.frx")
report.Show();
clr.FindAssembly("FastReport.dll")
from FastReport import *
threading.Thread(target=fastRepot_run).start()
㈢ python使用reportlab合並表格後怎麼在表格內居中
#找到這個table_model設置表格屬性,
def table_model(data):
# 合並表格 ('SPAN',(第一個方格的左上角坐標),(第二個方格的左上角坐標)),合並後的值為靠上一行的值,按游歲照長方形合並
('SPAN',(0,0),(0,1)),
('SPAN',(1,0),(2,0)),
('SPAN',(3,0),(4,0)),
('SPAN',(5,0),(7,0)),
#設置下面兩項
('ALIGN', (0, 0), (-1, -1), '肆滲CENTER'裂磨脊), # 左右居中對齊
('VALIGN', (-1, 0), (-2, 0), 'MIDDLE'), # 垂直居中對齊
㈣ Python 安裝 reportlab
pip這個命令時在線安裝相應的包,脊念不是下載之後使用這個命令,命令改成pip install reportlab就會自動安裝合適的最新版本。如果櫻孝困是本地安裝使用python ...xml的形式慎謹。
㈤ Python reportlab庫之Canvas
在上一篇 《Python reportlab庫之hello world》 中我們演示了簡單Demo,在Demo中使用Canvas對象。
本篇文章將簡單介紹一下Canvas對象,首先我先來看看Canvas的構造函數
filename 參數控制最終PDF文件的名稱
pagesize 參數有width和巧行height兩個參數,canvas默認的大小是A4紙(美國標志信件採用的就是A4),具體demo如下
運行效果
bottomup 參數用於切換坐標系。一些系統把(0,0)坐標設置在底部左側。 bottomup 未來可能會被移除。
pageCompression 選擇是否壓縮每個頁面。默認的頁面是不被壓縮的,因為壓縮會影響文件處理速度。如果 pageCompression =1,那麼文件將被壓縮到最小,但生成時間也會被延長。注意,圖片總是會被壓縮。如果您有鬧蘆大量的文章和矢量圖像會造成文件過大,使用 pageCompression 參數將有效減少文件體積。
encoding 參數在2.0版本上已經省略了,大家基本上可以忽略這個參數。
verbosity 參數參數確定列印多少日誌信息。默認情況下, verbosity 為0。如果值液寬頻為1,您將得到生成文檔是的日誌信息。數值越高可能會在未來產生更多的日誌輸出。
encrypt 參數決定文檔是否加密。默認情況下,文檔是不加密的。