iOS创buildPDF发票
我想在我的iOS应用程序(Objective-C或Swift)中创build一个PDF发票。
我的主要问题是,发票可能有几个页面,这是很难用苹果现有的API(CoreGraphics,Quartz 2D等)实现的。
到目前为止,我已经有一个几乎没有工作的解决scheme:
- 我创build了一个HTML模板,这是发票的基本结构
- 模板使用GRMustache填充数据
- 我将生成的HTML文件加载到一个
UIWebView
并保存为PDF(我使用NDHTMLtoPDF来做到这一点)
到现在为止还挺好。
此解决scheme的问题是分页符无法正常工作。 有一些表和图像和分页通常切断的表或图像。
我试图使用page-break-inside: avoid;
图像和表格的CSS属性,但UIWebView
似乎完全忽略它们…
我的问题是:
- 你知道如何解决分页问题吗?
- 你能推荐另一种解决scheme来在iOS上创buildPDF文件吗?
- 我应该在Storyboard中devise发票并从
UIView
生成PDF吗? 那么这里的分页符呢?
我宁愿有一个模板(如HTML),填充数据并保存为PDF,而不是做所有的代码。
我实际上自己编写了一个PDF报告组件,这个组件大概是类似的要求:
- 模板是通过HTML / CSS完成的
- 每页上的静态页眉/页脚
你可以使用UIPrintPageRenderer和UIViewPrintFormatter API来实现这个function,但是由于你使用的是私有的Apple API,所以可能会让你的应用在app store评论中被拒绝。 所以这种方法可能只适用于学术环境或开发内部应用程序。
有一些关于如何做到这一点的教程,我不打算重复,但对我来说这些资源非常有用: