2012-03-13 7 views
5

Intentando imprimir una página html que contiene una tabla usando UIMarkupTextPrintFormatter. Por alguna extraña razón, la última fila pasa a la segunda página cuando queda mucho espacio (2-3 pulgadas) en la primera página. Peor aún, cuando elimino la última fila de la tabla html, la última fila, que es un par de pulgadas más larga que la eliminada, se divide entre la página 1 y 2 cuando encaja claramente en la página 1 antes de eliminar la fila. La altura del encabezado y del pie de página se establece en cero. Insets también es cero. El mismo html se adapta perfectamente a 1 página cuando se usa un UIWebView e imprime usando UIViewPrintFormatter *formatter = [webview viewPrintFormatter]; Pero esto requiere mostrar UIWebView (para que se muestre) y no quiero hacer esto.UIMarkupTextPrintFormatter deja un espacio en blanco de 2-3 pulgadas en la parte inferior de la página

Cualquier idea de esto es muy apreciada.

Respuesta

0

En una situación similar, pero con un tamaño fijo de mi tabla html esto funcionó para mí:

formatter.maximumContentWidth = 10. * 72.; 

podría no ser la solución más elegante, que tendría que ajustar los parámetros (es decir, hacer dinámico) y comprobar la dependencia del tamaño del papel:

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; 
Cuestiones relacionadas