Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problemas al visualizar textos largos con DOMPDF

Estas en el tema de Problemas al visualizar textos largos con DOMPDF en el foro de PHP en Foros del Web. Problemas al visualizar textos largos con DOMPDF Hola, Buenas noches Tengo el siguiente problema, para ver si alguien tiene una idea de lo que pueda ...
  #1 (permalink)  
Antiguo 18/09/2014, 22:28
 
Fecha de Ingreso: agosto-2011
Ubicación: Playa del Carmen, Quintana Roo
Mensajes: 31
Antigüedad: 12 años, 8 meses
Puntos: 0
Problemas al visualizar textos largos con DOMPDF

Problemas al visualizar textos largos con DOMPDF

Hola, Buenas noches

Tengo el siguiente problema, para ver si alguien tiene una idea de lo que pueda estar ocurriendo.

Sucede que estoy utilizando DOMPDF para imprimir en PDF cierto contenido de una tabla.
1.- Toda la información la muestra bien.
2.- Cuando el Alto de la informacion de una fila es mayor al espacio existente en una hoja, esta información se salta a la siguiente página.



el Código donde tengo la información es en HTML:

Código PHP:
$strHTML "<!DOCTYPE html><HTML>";
    
$strHTML $strHTML "<HEAD><TITLE>Registro de Tour</TITLE>
    <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
    <link href='css/principalpdf.css' rel='stylesheet' type='text/css' /></HEAD>" 
;

        
$strHTML $strHTML "<body>";
                
        
$strHTML $strHTML "<table align='center' style='width:100%'>";
$strHTML $strHTML "<tr valign='baseline'>
              <td colspan='4'><div class='titulostour'>Nombre Tour:</div></td>
            </tr>"
;
         
$strHTML $strHTML "<tr valign='baseline'>
              <td colspan='4'>"
$row_DatosTour["strTour"]."</td>
            </tr>"


$strHTML $strHTML ."<tr valign='baseline'>
              <td colspan='4'><div class='titulostour'>Actividades Tour:</div></td>
            </tr>"
;
            
            
              
                 do {
                    if (
$row_DatosActividad["strActividad"]!=Null)
                    {  
                    
$strHTML $strHTML ."<tr valign='baseline'>
                   <td colspan='4' class='centrado4'>
                    <div class='cuadreact'>Inicio:</div>
                    <div class='cuadreact1'>"
.$row_DatosActividad["hrIniActividad"]."</div>
                    <div class='cuadreact1'>Fin:</div>
                    <div class='cuadreact1'>"
.$row_DatosActividad["hrFinActividad"]."</div>
                    <div class='cuadreact1'>Actividad:</div>
                    <div class='cuadreact1'>"
.$row_DatosActividad["strActividad"]."</div>
                  </td>
                 </tr>"
;
                    }
                  } while (
$row_DatosActividad mysql_fetch_assoc($DatosActividad)); 
                  
//comentario de actividades
        
            
             
$strHTML $strHTML ."<tr valign='baseline'>
              <td align='left' valign='top'>Comentarios Actividades:</td>
              <td colspan='3'>
              <div class='Detalleactividad'>"
.nl2br(utf8_encode($row_DatosTour["txtDetalleactividad"]))."</div></td>
            </tr>"
;

 
$strHTML $strHTML "</table>";
        
        
        
        
        
     
$strHTML $strHTML '</body>' ;
     
$strHTML $strHTML '</html>'
La información que se desplaza a la hoja siguiente es:
$row_DatosTour["txtDetalleactividad"]

El codigo donde exporto a PDF es:
Código PHP:
// generamos PDF
                
require_once("js/dompdf-0.5.1/dompdf_config.inc.php");
                
                
$dompdf = new DOMPDF();
                
$base_path $_SERVER['DOCUMENT_ROOT'].rutalocal;
                
$dompdf->set_base_path($base_path);
                
$dompdf->load_html($strHTML);
                
//$dompdf->set_paper('letter', 'portrait');
                
$dompdf->render();
                
// add the header
                
$canvas $dompdf->get_canvas();
                
$font Font_Metrics::get_font("helvetica""bold");
                
$size 8;
                
$y $canvas->get_height() - 24;
                
$x $canvas->get_width() - 15 Font_Metrics::get_text_width("1/1"$font$size);
                
$canvas->page_text($x$y"{PAGE_NUM}/{PAGE_COUNT}"$font$size);
     
                
//$canvas->page_text(72, 18, "Página {PAGE_NUM} de {PAGE_COUNT}", $font, 8, array(0,0,0));
                
                
$dompdf->stream("archivopdf-".date('d-m-Y').'.pdf');
                exit(
0); 

Los Estilos involucrados fueron:
Código CSS:
Ver original
  1. .Detalleactividad{
  2.     width: 285px;
  3.     height: auto;
  4.     background: #23ECEC;
  5.     /*border-radius:5px;*/
  6.  
  7.     padding-right: 2px;
  8.     padding-left: 2px;
  9.     float: right;
  10.     display: block;
  11.     border: 1px solid #50616E;
  12.     margin: 0;
  13.  
  14. }
  15. .cuadreact {
  16.     /*height: 200px;*/
  17.     /*margin-right:10px;*/
  18.     overflow: hidden;
  19.     /*margin-top: 5px;*/
  20.     /*margin-bottom: 5px;*/
  21.     /*margin-left: 5px;*/
  22.     display: inline;
  23.     width: 80px;
  24.     margin: 0px;
  25.     float: none;
  26.     padding-top: 5px;
  27.     padding-right: 5px;
  28.     padding-bottom: 5px;
  29. }
  30.  
  31. .cuadreact1 {
  32.     /*height: 200px;*/
  33.     /*margin-right:10px;*/
  34.     /*overflow: hidden;*/
  35.     /*margin-top: 5px;*/
  36.     /*margin-bottom: 5px;*/
  37.     /*margin-left: 5px;*/
  38.     display: inline;
  39.     width: 60px;
  40.     margin: 0px;
  41.     float: none;
  42.     padding-top: 2px;
  43.     padding-right: 2px;
  44.     padding-bottom: 2px;
  45.     padding-left: 60px;
  46.     clear: right;
  47. }  
  48. .centrado4{
  49.         /*background-color: #96C;*/
  50.     width: 500px;
  51.     overflow:auto;
  52. }

Se que involucro varios tópicos, pues aun no determino si el detalle se puede arreglar con algún cambio en el DOMPDF o en el CSS.

De antemano gracias por sus comentarios-
  #2 (permalink)  
Antiguo 19/09/2014, 11:26
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Problemas al visualizar textos largos con DOMPDF

¿Y qué es lo que esperas? si el texto no cabe en el espacio disponible la librería salta de hoja, es lo normal y lo que hacen otras librerías.

En todo caso, si la información no es muy variable, podrías reducir el margen de la hoja cambiando el estilo del body en la hoja de estilos, pero si la información es variable, siempre habrá la posibilidad de que ocurra el salto.
  #3 (permalink)  
Antiguo 19/09/2014, 21:17
 
Fecha de Ingreso: agosto-2011
Ubicación: Playa del Carmen, Quintana Roo
Mensajes: 31
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problemas al visualizar textos largos con DOMPDF

La información sera variable.

Decía si existe una forma de que si el texto llego a cierta distancia en la hoja y aun le falta por mostrar, que la informacion faltante se escriba en la siguiente hoja.
Si tienes una idea, gracias.
  #4 (permalink)  
Antiguo 20/09/2014, 23:56
 
Fecha de Ingreso: agosto-2011
Ubicación: Playa del Carmen, Quintana Roo
Mensajes: 31
Antigüedad: 12 años, 8 meses
Puntos: 0
Respuesta: Problemas al visualizar textos largos con DOMPDF

He resuelto el problema, el caso es que al usar Tabla, se saltaba la columna, la he quitado y puesto DIV, de esa forma, si que se corta el texto alterminar la pagina t continua en la 2da.

Ahora el problema es CSS, por lo que respecta al PHP, lo dejo resuelto.

Etiquetas: dompdf
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:31.