reportlab 為了方便生成文件提供了一種叫platypus(page layout and typography using scripts)的一系列的模板類,它用於控制文件的布局,可以讓我們不用關心具體的座標,繪製命令,甚至分頁的處理,而將注意力集中在布局與內容上。
下面是乙個最簡單的生成hello, reportlab的例子。
from reportlab.platypus import paragraph, ******doctemplate
from reportlab.lib.styles import getsamplestylesheet
stylesheet=getsamplestylesheet()
normalstyle = stylesheet['normal']
story =
doc = ******doctemplate(『hello.pdf』)
doc.build(story)
第1行我們匯入paragraph和******doctemplate類。paragraph是用於生成文字段落,******doctemplate是文件布局模板。
第2行匯入將要用在paragraph中的樣式。也就是說reportlab已經為我們預先定義了一些樣式,如標準,標題1,標題2,黑體等等,用於生成特殊效果。與word中的樣式有些象。
第3行是得到樣式集。
第4行是得到標準樣式,它將用在paragraph的生成中。
第5行是生成乙個空列表。這裡叫story,在使用者手冊中你會看到這個單詞。它將用來儲存象段落這樣的物件,其它的還可以是等。而這些東西是有順序的,因此使用了list來儲存。因此在使用者手冊中看到這個單詞不要以為是什麼特別的物件。
第6行生成我們期待的」hello, reportlab」段落,並且它的樣式是普通。將生成的結果放在story中。
第7行建立******doctemplate物件,指定將要生成的檔名。
第8行執行文件模板的build方法最終生成檔案。所以有文件模板類都有build方法。
從上面的例子可以看到通過文件模板及樣式可以讓我們方便的建立物件導向的應用,而不用再關心座標、繪製命令等底層的東西,從而可以方便我們的文件生成。開啟hello.pdf看一看效果吧。這回就象是真正的文件,」hello, reportlab」放在上面了。
生成pdf檔案
public void createpdf throws exception tablet.settotalwidth f this.addcell tablet,姓名 yy 1,0,20,fontcn.getnormalfont element.align left,0,0,0,0 this.ad...
java生成pdf檔案
先附上我寫的 再慢慢解析內容 doc.open 開啟文件 pdfptable pdfpcell 單元格 paragraph 段落 doc.newpage 新開一頁 paragraph.setalignment 1 設定居中 document doc new document doc.setmargi...
java 生成PDF檔案
工具 adobe acrobat 1 選擇準備表單 2 設定表單 解決中文字元問題 com.itextpdf groupid itext asian artifactid 5.2.0 version dependency 定義乙個與模板表單中名稱對應的bean class contentbean p...