最近,项目有需要绘制PDF,不是简单的读取PDF文件,是要自己在代码生成并查看。
因为之前没有做过这块,在此记录一下。没有考虑性能,消耗这些,就是简单的实现了需要的效果。请忽略下文各方法名的命名格式...😆哈哈😆,demo简单测试用的。。。
所有的繁琐 其实就是计算你绘制的每一块内容的rect。
效果图如下:
反正就是各种绘制了,绘制横竖线,文字,图片等。
效果图中展示的PDF的前两页,比较简单也就是计算绘制的rect,对应位置绘制即可。
例如第一页的第一个框,首先绘制一个矩形框,再在矩形框的范围内绘制文字。代码如下:
至于,类似紧接着的下面的内容,也是先绘制一个矩形框,然后使用循环设置rect去绘制每一块文字。
第三页,网格和曲线的实现比较繁琐一下,是先绘制图片,然后在把图片添加PDF中。
得到绘制的图片的方法:
这就得到了要展示的图片内容了,然后添加到PDF的内容中。
我这里对于PDF的分页是这样的做的,如下图:
首先是创建PDF文件的保存在沙盒中的路径,开启PDF文件,去绘制每一页的内容。
这样一个绘制好的PDF就存在本地了,后面自己根据保存的路径展示就可以了。