iOS-APP内生成PDF文件,并展示

最近,项目有需要绘制PDF,不是简单的读取PDF文件,是要自己在代码生成并查看。

因为之前没有做过这块,在此记录一下。没有考虑性能,消耗这些,就是简单的实现了需要的效果。请忽略下文各方法名的命名格式...哈哈,demo简单测试用的。。。

所有的繁琐 其实就是计算你绘制的每一块内容的rect。

效果图如下:

iOS-APP内生成PDF文件,并展示_第1张图片
需要的PDF


反正就是各种绘制了,绘制横竖线,文字,图片等。

效果图中展示的PDF的前两页,比较简单也就是计算绘制的rect,对应位置绘制即可。

例如第一页的第一个框,首先绘制一个矩形框,再在矩形框的范围内绘制文字。代码如下:


调用方法
iOS-APP内生成PDF文件,并展示_第2张图片
绘制矩形框
iOS-APP内生成PDF文件,并展示_第3张图片
绘制文字,设置段落样式

至于,类似紧接着的下面的内容,也是先绘制一个矩形框,然后使用循环设置rect去绘制每一块文字。

第三页,网格和曲线的实现比较繁琐一下,是先绘制图片,然后在把图片添加PDF中。

得到绘制的图片的方法:

iOS-APP内生成PDF文件,并展示_第4张图片
在图片上绘制表格
iOS-APP内生成PDF文件,并展示_第5张图片
第一个循环是计算出波形的点坐标,第二个循环是绘制波峰对应的两个值
iOS-APP内生成PDF文件,并展示_第6张图片
这个调用的方法是绘制曲线图,最后返回图片

这就得到了要展示的图片内容了,然后添加到PDF的内容中。


iOS-APP内生成PDF文件,并展示_第7张图片
得到包含内容的图片,添加到PDF的内容中

我这里对于PDF的分页是这样的做的,如下图:

首先是创建PDF文件的保存在沙盒中的路径,开启PDF文件,去绘制每一页的内容。

iOS-APP内生成PDF文件,并展示_第8张图片
保存PDF文件

这样一个绘制好的PDF就存在本地了,后面自己根据保存的路径展示就可以了。

你可能感兴趣的:(iOS-APP内生成PDF文件,并展示)