最近,項目有需要繪制PDF,不是簡單的讀取PDF文件,是要自己在代碼生成并查看。
因為之前沒有做過這塊,在此記錄一下。沒有考慮性能,消耗這些,就是簡單的實現(xiàn)了需要的效果。請忽略下文各方法名的命名格式...??哈哈??,demo簡單測試用的。。。
所有的繁瑣 其實就是計算你繪制的每一塊內容的rect。
效果圖如下:

需要的PDF
反正就是各種繪制了,繪制橫豎線,文字,圖片等。
效果圖中展示的PDF的前兩頁,比較簡單也就是計算繪制的rect,對應位置繪制即可。
例如第一頁的第一個框,首先繪制一個矩形框,再在矩形框的范圍內繪制文字。代碼如下:

調用方法

繪制矩形框

繪制文字,設置段落樣式
至于,類似緊接著的下面的內容,也是先繪制一個矩形框,然后使用循環(huán)設置rect去繪制每一塊文字。
第三頁,網格和曲線的實現(xiàn)比較繁瑣一下,是先繪制圖片,然后在把圖片添加PDF中。
得到繪制的圖片的方法:

在圖片上繪制表格

第一個循環(huán)是計算出波形的點坐標,第二個循環(huán)是繪制波峰對應的兩個值

這個調用的方法是繪制曲線圖,最后返回圖片
這就得到了要展示的圖片內容了,然后添加到PDF的內容中。

得到包含內容的圖片,添加到PDF的內容中
我這里對于PDF的分頁是這樣的做的,如下圖:
首先是創(chuàng)建PDF文件的保存在沙盒中的路徑,開啟PDF文件,去繪制每一頁的內容。

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