2012-03-13 81 views
5

嘗試使用UIMarkupTextPrintFormatter打印包含表格的html頁面。出於某種奇怪的原因,當第一頁上留有足夠的空間(2-3英寸)時,最後一行會被推到第二頁。更糟糕的是,當我從html表中刪除最後一行時,現在最後一行比已刪除行更長几英寸,當它在刪除行之前明顯適合第1頁時,將在第1頁和第2頁之間進行拆分。頁眉和頁腳高度都設置爲零。插入也爲零。 當使用UIWebView和使用 UIViewPrintFormatter *formatter = [webview viewPrintFormatter]; 使用UIWebView時,相同的html完全適合1頁但這需要顯示UIWebView(因此它被呈現),我不想這樣做。UIMarkupTextPrintFormatter在頁面底部留下2-3英寸的空白空間

任何有識之士都非常感謝。

回答

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;