最近,項(xiàng)目有需要繪制PDF荆虱,不是簡(jiǎn)單的讀取PDF文件蒿偎,是要自己在代碼生成并查看。
因?yàn)橹皼]有做過這塊怀读,在此記錄一下诉位。沒有考慮性能,消耗這些菜枷,就是簡(jiǎn)單的實(shí)現(xiàn)了需要的效果苍糠。請(qǐng)忽略下文各方法名的命名格式...??哈哈??,demo簡(jiǎn)單測(cè)試用的啤誊。岳瞭。。
所有的繁瑣 其實(shí)就是計(jì)算你繪制的每一塊內(nèi)容的rect蚊锹。
效果圖如下:
需要的PDF
反正就是各種繪制了瞳筏,繪制橫豎線,文字牡昆,圖片等姚炕。
效果圖中展示的PDF的前兩頁,比較簡(jiǎn)單也就是計(jì)算繪制的rect丢烘,對(duì)應(yīng)位置繪制即可柱宦。
例如第一頁的第一個(gè)框,首先繪制一個(gè)矩形框播瞳,再在矩形框的范圍內(nèi)繪制文字掸刊。代碼如下:
調(diào)用方法
繪制矩形框
繪制文字,設(shè)置段落樣式
至于狐史,類似緊接著的下面的內(nèi)容痒给,也是先繪制一個(gè)矩形框说墨,然后使用循環(huán)設(shè)置rect去繪制每一塊文字。
第三頁苍柏,網(wǎng)格和曲線的實(shí)現(xiàn)比較繁瑣一下尼斧,是先繪制圖片,然后在把圖片添加PDF中试吁。
得到繪制的圖片的方法:
在圖片上繪制表格
第一個(gè)循環(huán)是計(jì)算出波形的點(diǎn)坐標(biāo)棺棵,第二個(gè)循環(huán)是繪制波峰對(duì)應(yīng)的兩個(gè)值
這個(gè)調(diào)用的方法是繪制曲線圖,最后返回圖片
這就得到了要展示的圖片內(nèi)容了熄捍,然后添加到PDF的內(nèi)容中烛恤。
得到包含內(nèi)容的圖片,添加到PDF的內(nèi)容中
我這里對(duì)于PDF的分頁是這樣的做的余耽,如下圖:
首先是創(chuàng)建PDF文件的保存在沙盒中的路徑缚柏,開啟PDF文件,去繪制每一頁的內(nèi)容碟贾。
保存PDF文件
這樣一個(gè)繪制好的PDF就存在本地了币喧,后面自己根據(jù)保存的路徑展示就可以了。