2012-03-13 1 views
5

Попытка распечатать html-страницу, содержащую таблицу, используя UIMarkupTextPrintFormatter. По какой-то странной причине последняя строка попадает на вторую страницу, когда на первой странице осталось много места (2-3inches). Хуже того, когда я удаляю последнюю строку из таблицы html, теперь последняя строка, которая на пару дюймов длиннее, чем удаленная, разделяется между страницами 1 и 2, когда она четко соответствует на странице 1 перед удалением строки. Высота заголовка и нижнего колонтитула равна нулю. Вставки также равны нулю. Тот же html идеально подходит на 1 странице при использовании UIWebView и печати с использованием 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; 

 Смежные вопросы

  • Нет связанных вопросов^_^