我的iPad应用程序中有一个SQLlite表。当用户点击按钮时#34;打印"我想调用一个方法来读取表并创建一个包含表数据的PDF文件。还想在顶部添加公司徽标和地址。
知道如何做到这一点?我是iOS编程的初学者,因此不知道从哪里开始。任何帮助表示赞赏。
由于
答案 0 :(得分:0)
我最近一直在开发一个应用程序,需要生成用于通过电子邮件发送/打印的PDF文件。
为此,我使用了NDHTMLtoPDF,顾名思义从HTML生成PDF。为了完成HTML生成,我在app主包中有一个基本的HTML模板,它有自定义标签,例如{content},然后我可以使用
替换我想要的任何内容。stringByReplacingOccurrencesOfString:@“{content}”withString:MY_HTML_STRING
因此,在您的基本HTML文件中,您已经拥有公司徽标和地址集以及相关的表格标签。
我感谢您是iOS编程的新手,所以我建议您查看可用于添加和替换字符串的NSString方法。
<强>更新强>
首先,您需要将baseHtml文件转换为NSString:
NSString *htmlString = [[NSBundle mainBundle] pathForResource:@"base" ofType:@"html"];
如上所述,HTML文件已经有标签,可以将公司徽标和地址放在页面上的所需位置。
然后,您将拥有生成表格的HTML标签,该表格将根据您希望模型数据的显示方式进行设计。
在表格中,您将拥有我通常在{}中包含的各种占位符标记,但您可以使用&lt;&gt;或者您喜欢的任何内容,您可以使用它来填充模型数据。
因此,假设您的模型中有一个属性为firstName,您可以将{firstName}放在HTML表格单元格的其中一个单元格中。
然后回到生成HTML的类中,您可以这样做:
htmlString = [htmlString stringByReplacingOccurrencesOfString:@"{firstName}" withString:[YOUR_MODEL firstName]];
然后,您将为希望在PDF中显示的每个数据模型对象执行此操作。