UIMarkupTextPrintFormatter在页面底部留下2-3英寸的空白区域

时间:2012-03-13 07:23:19

标签: iphone html ios printing airprint

尝试使用UIMarkupTextPrintFormatter打印包含表格的html页面。出于某些奇怪的原因,当第一页上有足够的空间(2-3英寸)时,最后一行被推到第二页。更糟糕的是,当我从html表中删除最后一行时,现在的最后一行(比删除的一行长几英寸)在第1页和第2页之间分开,当它在删除行之前明显适合第1页时。页眉和页脚高度都设置为零。插图也为零。 使用UIWebView并使用打印时,相同的html完全适合1页 UIViewPrintFormatter *formatter = [webview viewPrintFormatter]; 但这需要显示UIWebView(因此它被渲染),我不想这样做。

非常感谢对此的任何见解。

1 个答案:

答案 0 :(得分:0)

在类似的情况下,但是我的html表的固定大小这对我有用:

    formatter.maximumContentWidth = 10. * 72.;

可能不是最优雅的解决方案,您必须调整参数(即使它们动态化)并检查纸张尺寸依赖性:

    UIPrintFormatter *formatter = [[UIMarkupTextPrintFormatter alloc] initWithMarkupText:html];
    formatter.startPage = 0;
    formatter.contentInsets = UIEdgeInsetsMake(36., 14., 0., 0.);

    // prevent to generate an extra blank page
    formatter.maximumContentWidth = 10. * 72.;

    ...
    [formatter release];
    // please note        
    printInfo.orientation = UIPrintInfoOrientationLandscape;
相关问题