我目前正在为执行多项操作的 OSX 开发应用程序,并且应该提供将某些数据导出为 PDF 的选项。
生成的 PDF 应该有一个复杂的样式:一些带有边框和背景的矢量元素、一个可选的图像、自定义字体类型,也许还有一些段落格式。
我有从应用程序控制 Adobe InDesign 以将数据注入模板和导出 PDF 文件的经验,但在这种情况下,我需要在我的应用程序中嵌入所有功能,因此我的客户不需要其他任何东西。
我需要一种方法来拥有某种模板,在其中我可以从应用程序中注入数据,并有可能重复模板的设计元素。想象一个 Invoice ,它有一些需要填充一次的字段,比如客户名称和地址;但是对于发票中列出的每个产品,还有其他元素需要重复。
我一直在研究这个主题,我发现了一些关于 Cocoa Drawing 和 Quartz 的信息,但这需要在我的应用程序中编码模板,最好将它们分开作为可导入的数据应用程序。(那是因为我也是一名设计师,我想为我的应用程序的用户提供自定义模板设计)。
也许一种方法是使用 HTML/CSS 渲染(在应用程序中或远程)并将其转换为 PDF?我可以在应用程序内或使用 PHP 进行转换......这两个选项会保持元素矢量吗?这并不重要,这只是文件大小的问题。
有什么方法/ Cocoa 库可以让我以与我的想法类似的方式工作吗?我不是一个非常有经验的 Cocoa 程序员,事实上我对它很陌生,但是我用很多其他的 OOP 语言做过很多事情。
很抱歉这个问题很长,我只是想清楚我的项目。
谢谢!