Foros del Web » Programando para Internet » PHP »

Dompdf Agregar otra pagina

Estas en el tema de Dompdf Agregar otra pagina en el foro de PHP en Foros del Web. Hola amigos, ya he buscado por todas partes y de verdad no entiendo como agrega automaticamente otra pagina con el Dompdf. Resulta que los datos ...
  #1 (permalink)  
Antiguo 13/09/2011, 21:35
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Pregunta Dompdf Agregar otra pagina

Hola amigos, ya he buscado por todas partes y de verdad no entiendo como agrega automaticamente otra pagina con el Dompdf. Resulta que los datos que traigo mediante una consulta a mysql no me caben en una hoja del pdf y no se como hacer para que genere la otra. Este es el código que tengo:

Código PHP:
$dompdf = new DOMPDF();
$dompdf->set_paper("letter""portrait");
$dompdf->load_html($html);
$dompdf->render();
$dompdf->stream("consulta.pdf", array("Attachment" => 0));
$pdf $dompdf->output ();
file_put_contents("archivo.pdf"$pdf); 
Me da este error

Notice: Undefined offset: 6 in C:\AppServ\www\phpMyAdmin\preescolar\dompdf\includ e\cellmap.cls.php on line 559

Fatal error: Call to a member function get_id() on a non-object in C:\AppServ\www\phpMyAdmin\preescolar\dompdf\includ e\cellmap.cls.php on line 560.

Por favor me pueden indicar que estoy haciendo mal.

Gracias
__________________
Caminando con el corazón partío
  #2 (permalink)  
Antiguo 13/09/2011, 22:07
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Dompdf Agregar otra pagina

Kimmy, seria mas facil ayudarte si muestras la linea 559, que es donde te da el error, pero me parece que no tiene que ver con DomPdf, sino con un error, tal vez en una consulta a base de datos.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 13/09/2011, 22:11
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Dompdf Agregar otra pagina

Gracias Triby, me funciona perfectamente cuando los datos no sobrepasan la hoja del pdf por eso es que pienso que debe tener alguna forma de decirle que cree otra pagina cuando se llene la primera.

Pero no se como
__________________
Caminando con el corazón partío
  #4 (permalink)  
Antiguo 13/09/2011, 22:24
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Dompdf Agregar otra pagina

Cita:
Iniciado por DomPdf FAQ
Q: How do I insert page breaks?
A: Page breaks can be inserted by applying the CSS properties page-break-before and page-break-after to any block level element.
Se supone que solo debes agregar un elemento con las propiedades CSS mencionadas. Si no especificas salto de pagina, el script lo manejara por su cuenta.

Mas sobre paginacion en las FAQ.

Por cierto, que version tienes? 0.6.0 beta 2?
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 13/09/2011, 22:30
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Dompdf Agregar otra pagina

tengo la 0.5.2. No entiendo en que parte del html del pdf tengo que poner lo de css.
__________________
Caminando con el corazón partío
  #6 (permalink)  
Antiguo 13/09/2011, 22:39
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Dompdf Agregar otra pagina

Triby mil gracias por el enlace de las FAQ voy a tratar de entender con mi limitado ingles. ;)
__________________
Caminando con el corazón partío
  #7 (permalink)  
Antiguo 14/09/2011, 09:23
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Dompdf Agregar otra pagina

No he podido solucionar el problema. Agregue esta linea al finalizar el html:

'<div style="page-break-before: always;"></div>'.

y me da este error:

Catchable fatal error: Object of class DOMPDF could not be converted to string in C:\AppServ\www\phpMyAdmin\preescolar\alumnos\impri mir_consulta.php on line 434

esa linea contiene esto:

$dompdf = new DOMPDF();

Lo que pasa es que no se usar el page-break-before, no se donde va, no se si me falta algo más.

Por favor si pueden orientarme se los agradezco mucho.
__________________
Caminando con el corazón partío
  #8 (permalink)  
Antiguo 14/09/2011, 09:33
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Respuesta: Dompdf Agregar otra pagina

Hola nuevamente Kimmy, muestra tu codigo como lo estas usando para poder ayudarte.
  #9 (permalink)  
Antiguo 14/09/2011, 09:38
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Dompdf Agregar otra pagina

Hola ginitofl. Este es mi código:

Código PHP:
Ver original
  1. $rci = $_POST['rci'];
  2. include ('../func/func.php');
  3.  
  4.   $conn = db_connect();
  5.   if (!$conn)
  6.    return 0;
  7.  
  8. $rs = mysql_query("SELECT * FROM alumnos WHERE rci='$rci'");
  9. while ($result = mysql_fetch_array($rs)) {
  10.     $id_alumno = $result['id_alumno'];
  11.     $fecha = $result['fecha'];
  12.     $ced_escolar = $result['ced_escolar'];
  13.     $ambiente = $result['ambiente'];
  14.     $apnombre = $result['apnombre'];
  15.     $asnombre = $result['asnombre'];
  16.     $apapellido = $result['apapellido'];
  17.     $asapellido = $result['asapellido'];
  18.     $sexo = $result['sexo'];
  19.     $month = $result['month'];
  20.     $day = $result['day'];
  21.     $year = $result['year'];
  22.     $edad_a = $result['edad_a'];
  23.     $edad_m = $result['edad_m'];
  24.     $anacionalidad = $result['anacionalidad'];
  25.     $procedencia = $result['procedencia'];
  26.     $direccion = $result['direccion'];
  27.     $atelefono = $result['atelefono'];
  28.     $rnombre = $result['rnombre'];
  29.     $rapellido = $result['rapellido'];
  30.     $rci = $result['rci'];
  31.     $rnacionalidad = $result['rnacionalidad'];
  32.     $redad = $result['redad'];
  33.     $parentesco = $result['parentesco'];
  34.     $rprofesion = $result['rprofesion'];
  35.     $fuera = $result['fuera'];
  36.     $rvive = $result['rvive'];
  37.     $negativo = $result['negativo'];
  38.     $rtelefono = $result['rtelefono'];
  39.     $rempresa = $result['rempresa'];
  40.     $rtlf_ofic = $result['rtlf_ofic'];
  41.     $rcelular = $result['rcelular'];
  42.     $remail = $result['remail'];
  43.     $mnombre = $result['mnombre'];
  44.     $mapellido = $result['mapellido'];
  45.     $mci = $result['mci'];
  46.     $mnacionalidad = $result['mnacionalidad'];
  47.     $medad = $result['medad'];
  48.     $mvive = $result['mvive'];
  49.     $mtelefono = $result['mtelefono'];
  50.     $mcelular = $result['mcelular'];
  51.     $mprofesion = $result['mprofesion'];
  52.     $mempresa = $result['mempresa'];
  53.     $mtlf_ofic = $result['mtlf_ofic'];
  54.     $memail = $result['memail'];
  55.     $mdireccion_emp = $result['mdireccion_emp'];
  56.     $pnombre = $result['pnombre'];
  57.     $papellido = $result['papellido'];
  58.     $pci = $result['pci'];
  59.     $pnacionalidad = $result['pnacionalidad'];
  60.     $pedad = $result['pedad'];
  61.     $pvive = $result['pvive'];
  62.     $ptelefono = $result['ptelefono'];
  63.     $pcelular = $result['pcelular'];
  64.     $pprofesion = $result['pprofesion'];
  65.     $pempresa = $result['pempresa'];
  66.     $ptlf_ofic = $result['ptlf_ofic'];
  67.     $pemail = $result['pemail'];
  68.     $pdireccion_emp = $result['pdireccion_emp'];
  69.     $sano = $result['sano'];
  70.     $talla = $result['talla'];
  71.     $peso = $result['peso'];
  72.     $alergico = $result['alergico'];
  73.     $qalergico = $result['qalergico'];
  74.     $padecidas = $result['padecidas'];
  75.     $limitacion = $result['limitacion'];
  76.     $limiespecif = $result['limiespecif'];}
  77.  
  78. require_once("../dompdf/dompdf_config.inc.php");
  79. $html =
  80.  
  81. '<html><body>'.
  82.     '<table>'.
  83.     '<tbody>'.
  84.     '<tr>'.
  85.     '<th colspan="8">REGISTRO DE ALUMNO</th>'.
  86.     '</tr>'.
  87.     '<tr>'.
  88.    ' <td colspan="8">'.
  89.    ' <h4>1. DATOS DEL MENOR</h4></td>'.
  90.    ' </tr>'.
  91.    
  92.    ' <tr>'.
  93.    '  <td colspan="2">Cedula Escolar:</td>'.
  94.     ' <td>' .
  95.     $ced_escolar  .
  96.     '</td>'.
  97.      '<td>Ambiente:</td>'.
  98.     ' <td>'.
  99.      $ambiente .
  100.      '</td>'.
  101.     ' <td></td>'.
  102.      '<td></td>'.
  103.    '  <td></td>'.
  104.     ' <td></td>'.
  105.     ' </tr>'.
  106.     '<tr>'.
  107.     '<td><label for="apnombre">Nombres:</label></td>'.
  108.     '<td>'.
  109.     $apnombre .
  110.     '</td>'.
  111.     '<td>'.
  112.     $asnombre .
  113.     '</td>'.
  114.     '<td><label for="apapellido">Apellidos:</label></td>'.
  115.    ' <td>'.
  116.     $apapellido .
  117.     '</td>'.
  118.     '<td>'.
  119.     $asapellido .
  120.     '</td>'.
  121.     '<td><label for="sexo">Sexo:</label></td>'.
  122.     '<td>'.
  123.     '<label>'.
  124.     $sexo .
  125.     '</label></td>'.
  126.     '</tr>'.
  127.     '<tr>'.
  128.     '<td colspan="2"><label>Fecha Nacimiento:</label></td>'.
  129.     '<td >'.
  130.     $month .  
  131.     '/'.
  132.     $day .
  133.     '/'.       
  134.     $year .    
  135.     '<td><label for="edad_a">Edad-Años:</label></td>'.
  136.     '<td>'.
  137.     $edad_a .
  138.     '</td>'.
  139.     '<td><label for="edad_m">Edad-Meses:</label></td>'.
  140.     '<td>'.
  141.     $edad_m .
  142.     '</td>'.
  143.   '</tr>'.
  144.    '<tr>'.
  145.    '<td><label for="anacionalidad">Nacionalidad:</label></td>'.
  146.    '<td>'.
  147.    $anacionalidad .
  148.    '</td>'.
  149.    '<td>'.
  150.    '<label for="procedencia">Procedencia:</label></td>'.
  151.    '<td>'.
  152.    $procedencia .
  153.    '</tr>'.
  154.    '<tr>'.  
  155.    '</td>'.
  156.    '<td colspan="4"></td>'.
  157.    '</tr>'.
  158.    '<tr>'.
  159.     '<td><label for="direccion">Dirección:</label></td>'.
  160.     '<td colspan="3">'.
  161.     '<textarea name="direccion" id="direccion" readonly="readonly" >'.
  162.     $direccion .
  163.     '</textarea></td>'.
  164.     '<td><label for="atelefono">Teléfono:</label></td>'.
  165.     '<td>'.
  166.     $atelefono .
  167.     '</td>'.
  168.     '<td colspan="2"></td>'.
  169.    '</tr>'.
  170.    '<tr>'.
  171.     '<td colspan="8">'.
  172.     '<h4>2. DATOS DEL REPRESENTANTE ANTE LA INSTITUCION</h4></td>'.
  173.     '</tr>'.
  174.     '<tr>'.
  175.     '<td><label for="rnombre">Nombre:</label></td>'.
  176.     '<td>'.
  177.     $rnombre .
  178.     '</td>'.
  179.     '<td><label for="rapellido">Apellido:</label></td>'.
  180.     '<td>'.
  181.     $rapellido .
  182.     '</td>'.
  183.     '<td><label for="rci">Cédula:</label></td>'.
  184.     '<td>'.
  185.     $rci .
  186.     '</td>'.
  187.     '<td><label for="rnacionalidad">Nacionalidad:</label></td>'.
  188.     '<td>'.
  189.     $rnacionalidad .
  190.     '</td>'.
  191.     '</tr>'.
  192.     '<tr>'.
  193.     '<td><label for="redad">Edad:</label></td>'.
  194.     '<td>'.
  195.     $redad .
  196.     '</td>'.
  197.     '<td><label for="parentesco">Parentesco:</label></td>'.
  198.     '<td>'.
  199.     $parentesco .
  200.     '</td>'.
  201.     '<td><label for="rprofesion">Profesión:</label></td>'.
  202.     '<td>'.
  203.     $rprofesion .
  204.     '</td>'.
  205.     '<td>Trabaja fuera del hogar:</td>'.
  206.     '<td>'.
  207.     $fuera .
  208.     '</td>'.
  209.     '</tr>'.
  210.     '<tr>'.
  211.     '<td>Vive con el alumno:</td>'.
  212.     '<td>'.
  213.     $rvive .
  214.     '</td>'.
  215.     '<td>Motivo:</td>'.
  216.     '<td colspan="3">'.
  217.     $negativo .
  218.     '</td>'.
  219.     '<td><label for="rtelefono">Teléfono:</label></td>'.
  220.     '<td>'.
  221.     $rtelefono .
  222.     '</td>'.
  223.     '</tr>'.
  224.     '<tr>'.
  225.     '<td><label for="rempresa">Empresa:</label></td>'.
  226.     '<td>'.
  227.     $rempresa .
  228.     '</td>'.
  229.     '<td><label for="rtlf_ofic">Teléf. Ofic:</label></td>'.
  230.     '<td>'.
  231.     $rtlf_ofic .
  232.     '</td>'.
  233.     '<td><label for="rcelular">Celular:</label></td>'.
  234.     '<td>'.
  235.     $rcelular .
  236.     '</td>'.
  237.     '<td><label for="remail">Email:</label></td>'.
  238.     '<td>'.
  239.     $remail .
  240.     '</td>'.
  241.     '</tr>'.
  242.     '<tr>'.
  243.     '<td colspan="8">'.
  244.     '<h4>DATOS DE LA MADRE </h4>'.
  245.     '</td>'.
  246.     '</tr>'.    
  247.     '<tr>'.
  248.     '<td><label for="mnombre">Nombre:</label></td>'.
  249.     '<td>'.
  250.     $mnombre .
  251.     '</td>'.
  252.     '<td><label for="mapellido">Apellido:</label></td>'.
  253.     '<td>'.
  254.     $mapellido .
  255.     '</td>'.
  256.     '<td><label for="mci">Cédula:</label></td>'.
  257.     '<td>'.
  258.     $mci .
  259.     '</td>'.
  260.     '<td><label for="mnacionalidad">Nacionalidad:</label></td>'.
  261.     '<td>'.
  262.     $mnacionalidad .
  263.     '</td>'.
  264.     '</tr>'.
  265.     '<tr>'.
  266.     '<td><label for="medad">Edad:</label></td>'.
  267.     '<td>'.
  268.     $medad .
  269.     '</td>'.
  270.     '<td>Vive con el alumno:</td>'.
  271.     '<td>'.
  272.     $mvive .
  273.     '</td>'.
  274.     '<td><label for="mtelefono">Teléfono:</label></td>'.
  275.     '<td>'.
  276.     $mtelefono .
  277.     '</td>'.
  278.     '<td><label for="mcelular">Celular:</label></td>'.
  279.     '<td>'.
  280.     $mcelular .
  281.     '</td>'.
  282.     '</tr>'.
  283.     '<tr>'.
  284.     '<td><label for="mprofesion">Profesión:</label></td>'.
  285.     '<td>'.
  286.     $mprofesion.
  287.     '</td>'.
  288.     '<td><label for="mempresa">Empresa:</label></td>'.
  289.     '<td>'.
  290.     $mempresa .
  291.     '</td>'.
  292.     '<td><label for="mtlf_ofic">Teléf. Ofic:</label></td>'.
  293.     '<td>'.
  294.     $mtlf_ofic .
  295.     '</td>'.
  296.     '<td><label for="memail">Email:</label></td>'.
  297.     '<td>'.
  298.     $memail .
  299.     '</td>'.
  300.     '</tr> '.  
  301.     '<tr>'.
  302.     '<td colspan="2"><label for="mdireccion_emp">Dirección Empresa:</label></td>'.
  303.     '<td colspan="8">'.
  304.     $mdireccion_emp .
  305.     '</textarea></td>'.
  306.     '</tr>'.
  307.     '<tr>'.
  308.     '<td colspan="8">'.
  309.     '<h4>DATOS DEL PADRE </h4>'.
  310.     '</td>'.
  311.     '</tr>  '.  
  312.     '<tr>'.
  313.     '<td><label for="pnombre">Nombre:</label></td>'.
  314.     '<td>'.
  315.     $pnombre .
  316.     '</td>'.
  317.     '<td><label for="papellido">Apellido:</label></td>'.
  318.     '<td>'.
  319.     $papellido .
  320.     '</td>'.
  321.     '<td><label for="pci">Cédula:</label></td>'.
  322.     '<td>'.
  323.     $pci .
  324.     '</td>'.
  325.     '<td><label for="pnacionalidad">Nacionalidad:</label></td>'.
  326.     '<td>'.
  327.     $pnacionalidad .
  328.     '</td>'.
  329.     '</tr>'.
  330.     '<tr>'.
  331.     '<td><label for="pedad">Edad:</label></td>'.
  332.     '<td>'.
  333.     $pedad .
  334.     '</td>'.
  335.     '<td>Vive con el alumno:</td>'.
  336.     '<td>'.
  337.     $pvive .
  338.     '</td>'.
  339.     '<td><label>Teléfono:</label></td>'.
  340.     '<td>'.
  341.     $ptelefono .
  342.     '</td>'.
  343.     '<td><label>Celular:</label></td>'.
  344.     '<td>'.
  345.     $pcelular .
  346.     '</td>'.
  347.     '</tr>'.
  348.     '<tr>'.
  349.     '<td><label>Profesión:</label></td>'.
  350.     '<td>'.
  351.     $pprofesion .
  352.     '</td>'.
  353.     '<td><label>Empresa:</label></td>'.
  354.     '<td>'.
  355.     $pempresa .
  356.     '</td>'.
  357.     '<td><label>Teléf Ofic.:</label></td>'.
  358.     '<td>'.
  359.     $ptlf_ofic .
  360.     '</td>'.
  361.     '<td><label>Email:</label></td>'.
  362.     '<td>'.
  363.     $pemail .
  364.     '</td>'.
  365.     '</tr>  '.  
  366.     '<tr>'.
  367.     '<td colspan="2"><label>Dirección Empresa:</label></td>'.
  368.     '<td colspan="8">'.
  369.     '<textarea>'.
  370.     $pdireccion_emp .
  371.     '</textarea></td>'.
  372.     '</tr>'.
  373.     '<tr>'.
  374.     '<td colspan="8">'.
  375.     '<h4>4. DATOS DEL PEDIATRA </h4>'.
  376.     '</td>'.
  377.     '</tr>'.
  378.     '<tr>'.
  379.     '<td colspan="2">Niño sano apto:</td>'.
  380.     '<td>'.
  381.     $sano .
  382.     '</td>'.
  383.     '<td><label for="talla">Talla:</label></td>'.
  384.     '<td>'.
  385.     $talla .
  386.     '</td>'.
  387.     '<td><label for="peso">Peso:</label></td>'.
  388.     '<td>'.
  389.     $peso .
  390.     '</td>'.
  391.     '<td>Alérgico:</td>'.
  392.     '<td>'.
  393.     $alergico .
  394.     '</td>'.   
  395.     '</tr>'.    
  396.     '<tr>'.
  397.     '<td ><label for="qalergico">A que es alergico:</label></td>'.
  398.     '<td colspan="4"><textarea>'.
  399.     $qalergico .
  400.     '</textarea></td>'.
  401.     '<td></td>'.
  402.     '</tr>'.
  403.     '<tr>'.
  404.     '<td colspan="3"><label for="padecidas">Enfermedades padecidas:</label></td>'.
  405.     '<td colspan="4"><textarea>'.
  406.     $padecidas .
  407.     '</textarea></td>'.
  408.     '<td></td>'.
  409.     '</tr>'.
  410.     '<tr>'.
  411.     '<td>Posee limitación física:</td>'.
  412.     '<td>'.
  413.     $limitacion .
  414.     '</td>'.
  415.     '<td ><label for="limiespecif">Especifique:</label></td>'.
  416.     '<td colspan="4"><textarea>'.
  417.     $limiespecif .
  418.     '</textarea></td>'.
  419.     '<td></td>'.
  420.     '</tr>'.
  421.    
  422.   '</tbody>'.
  423. '</table>'.
  424. '<div style="page-break-before: always;"></div>'.
  425.  
  426. $dompdf = new DOMPDF();
  427. $dompdf->load_html($html);
  428. $dompdf->render();
  429. $dompdf->stream("prueba.pdf");
__________________
Caminando con el corazón partío
  #10 (permalink)  
Antiguo 14/09/2011, 09:53
Avatar de ginitofl  
Fecha de Ingreso: diciembre-2006
Ubicación: Lima Perú
Mensajes: 349
Antigüedad: 17 años, 4 meses
Puntos: 22
Respuesta: Dompdf Agregar otra pagina

Al parecer hay problemas de desbordamiento y los resultados estan ocupando mas de los margenes permitidos de la hoja, lo que puedes hacer es separar los datos de padre o la madre en otra tabla y entre ellos poner:

Código PHP:
Ver original
  1. '<div style="page-break-before: always;"></div>'.

prueba y me cuentas.
  #11 (permalink)  
Antiguo 15/09/2011, 11:43
Avatar de kimmy  
Fecha de Ingreso: julio-2008
Mensajes: 841
Antigüedad: 15 años, 9 meses
Puntos: 15
Respuesta: Dompdf Agregar otra pagina

ginitofl muchas gracias funcionó perfectamente. ;)
__________________
Caminando con el corazón partío

Etiquetas: dompdf, html, mysql
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 06:45.