我正在尝试使用iOS 4.2中的打印内容从我的iPhone应用程序进行打印,但是我很难将多页内容显示出来。正如您在附加的iOS打印API生成的PDF屏幕截图中所看到的,UIMarkupTextPrintFormatter在渲染时非常喜欢使用极小的上边距。
此外,它似乎也没有试图将块元素拆分得太漂亮......在屏幕截图中很难看到但是分页实际上发生在表行的中间,而不是在行之间的边界上。
我尝试使用CSS @page指令来指定页面边界,但iOS Webkit似乎根本不支持这些。
有没有人知道HTML或iOS SDK中的任何技术,以使这些顶级利润更大?
我真的不想编写自定义的UIPrintPageRenderer类,因为我试图让我的用户能够通过HTML模板自定义他们的打印输出...使用自定义渲染器几乎肯定会使这个不可能(或者真的难)。
非常感谢任何帮助!
答案 0 :(得分:2)
您使用UIPrintPageRenderer
走在正确的轨道上,但幸运的是,您无需编写自定义子类来执行此操作。您需要做的就是实例化一个vanilla UIPrintPageRenderer
,设置headerHeight
和footerHeight
属性,然后使用addPrintFormatter:startingAtPage:
将HTML格式化程序添加到渲染器。它只需要几行代码,我在这里发布了我的方法:Print paper size and content inset