最近,項(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的前兩頁(yè),比較簡(jiǎn)單也就是計(jì)算繪制的rect,對(duì)應(yīng)位置繪制即可。
例如第一頁(yè)的第一個(gè)框,首先繪制一個(gè)矩形框,再在矩形框的范圍內(nèi)繪制文字。代碼如下:

調(diào)用方法

繪制矩形框

繪制文字,設(shè)置段落樣式
至于,類似緊接著的下面的內(nèi)容,也是先繪制一個(gè)矩形框,然后使用循環(huán)設(shè)置rect去繪制每一塊文字。
第三頁(yè),網(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的分頁(yè)是這樣的做的,如下圖:
首先是創(chuàng)建PDF文件的保存在沙盒中的路徑,開啟PDF文件,去繪制每一頁(yè)的內(nèi)容。

保存PDF文件
這樣一個(gè)繪制好的PDF就存在本地了,后面自己根據(jù)保存的路徑展示就可以了。