2012-03-13 3 views
5

UIMarkupTextPrintFormatter을 사용하는 표가 포함 된 html 페이지를 인쇄하려고합니다. 몇 가지 이상한 이유로 첫 번째 페이지에 충분한 공간 (2-3 인치)이있을 때 마지막 행이 두 번째 페이지로 푸시됩니다. 더 나쁜 것은, 내가 html 테이블에서 마지막 행을 제거하면 삭제 된 행보다 몇 인치 더 긴 마지막 행이 1 행과 2 행 사이에 분할되어 행을 삭제하기 전에 1 페이지에 분명하게 맞을 때입니다. 머리글 및 바닥 글 높이가 모두 0으로 설정됩니다. Insets도 0입니다. 동일한 HTML은 UIWebView를 사용하여 인쇄 할 때 1 페이지에 완벽하게 맞습니다. UIViewPrintFormatter *formatter = [webview viewPrintFormatter]; 하지만 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; 
관련 문제