问题描述
|
我正在使用iOS 4.3和Apple建议的打印PDF的方法,该方法是将共享的
UIPrintInteractionController
的printingItem
属性设置为包含PDF数据的NSData
对象。这很容易,很好,但是我发现通过这种方法打印PDF时,页面内容比在Mac上通过Preview.app打印时要低4毫米。当我要打印预切标签时,精确定位很重要。
似乎在此过程中的某个位置,(空白)标头已添加到页面,这导致内容向下移动到页面。在iOS和Mac OS X上得到的水平边距是相同的,因此我怀疑它确实是页眉,而不是全方位的边距。
我检查了以下内容:
打印机是否在添加标题?不可以,因为在使用打印机模拟器进行打印时可以看到相同的结果。
iPad是否使用与Mac不同的纸张尺寸?我已经使用了委托方法来确保UIPrintPaper
两者相同。
我可以为UIPrintPageRenderer
编辑headerHeight
吗?否,因为直接设置打印项目时未创建渲染器。
我的解决方法是使PDF生成器(服务器)创建比应有的高度高4mm的PDF内容,但这会中断从Mac OS进行的打印。
现在没主意了!感谢您的协助。
解决方法
您应该检查Apple的示例代码PrintWebView。我相信您遇到的问题是由于硬件利润。有关更多信息,请参见PrintWebView示例中的
SIMPLE_LAYOUT
常量。希望这可以帮助。