2011-02-01 70 views
1

我正尝试使用iOS 4.2中的打印内容从我的iPhone应用程序进行打印,但我很难让多页内容很好地显示。正如您在通过iOS打印API生成的PDF的附加屏幕截图中所看到的,UIMarkupTextPrintFormatter确实喜欢在渲染时使用小小的顶部边距。使用UIMarkupTextPrintFormatter时,是否可以控制顶部和底部页边距?

此外,它似乎没有试图很好地分割块元素......在屏幕截图中很难看到,但分页符实际上是在表行的中途发生的,而不是在行之间的边界上。

我试过使用CSS @page指令来指定页面边界,但是iOS Webkit似乎并不支持这些。

有谁知道任何技术,无论是在HTML中或通过iOS SDK,使这些顶级利润更大?

我真的不想写一个自定义的UIPrintPageRenderer类,因为我试图让我的用户能够通过HTML模板自定义他们的打印输出......使用自定义渲染器几乎肯定会使这个不可能(或真的很难)。

任何帮助非常感谢!

Top-of-page are really small by default

回答

2

你是正确的轨道上UIPrintPageRenderer,幸好你不需要编写自定义子类来做到这一点。您只需实例化一个香草UIPrintPageRenderer,设置headerHeightfooterHeight属性,然后使用addPrintFormatter:startingAtPage:将HTML格式化程序添加到渲染器。它只需要一些额外的代码行,我已经在这里发布我的方法:Print paper size and content inset

+0

真棒托比,谢谢你。作品一种享受。 – glenc 2011-05-15 12:28:34