2012-03-13 33 views
5

Cố gắng in trang html có chứa bảng sử dụng UIMarkupTextPrintFormatter. Đối với một số lý do kỳ lạ, hàng cuối cùng được đẩy đến trang thứ hai khi có rất nhiều không gian (2-3inches) còn lại trên trang đầu tiên. Thậm chí tệ hơn, khi tôi xóa hàng cuối cùng khỏi bảng html, hàng cuối cùng, dài hơn vài inch so với đoạn đã xóa, được chia nhỏ giữa trang 1 và 2 khi nó phù hợp rõ ràng trên trang 1 trước khi xóa hàng. Chiều cao đầu trang và chân trang đều được đặt thành 0. Insets cũng không. Cùng một html phù hợp hoàn hảo trên 1 trang khi sử dụng UIWebView và in bằng cách sử dụng UIViewPrintFormatter *formatter = [webview viewPrintFormatter]; Nhưng điều này yêu cầu hiển thị UIWebView (vì vậy nó được hiển thị) và tôi không muốn làm điều này.UIMarkupTextPrintFormatter để trống khoảng trống 2-3 inch ở cuối trang

Bất kỳ thông tin chi tiết nào về điều này được đánh giá cao.

Trả lời

0

Trong một tình huống tương tự, nhưng với một kích thước cố định của bảng html của tôi này làm việc cho tôi:

formatter.maximumContentWidth = 10. * 72.; 

có thể không phải là giải pháp thanh lịch nhất, bạn sẽ phải điều chỉnh các thông số (ví dụ làm chúng năng động) và kiểm tra sự phụ thuộc kích thước giấy:

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; 
Các vấn đề liên quan