Pregunta

Estoy en el proceso de generar un archivo PDF dinámico, que contiene datos de alrededor de 10.000 usuarios, en general, la aplicación es desarrollada usando MySQL y PHP. El contenido dinámico es tan pesado que, me pareció difícil de procesar con la clase fpdf(). Por lo tanto, convertido mi página PHP salida como un archivo HTML utilizando ob_get_clean(). Ahora el archivo HTML se genera con éxito y también el archivo PDF. Pero quiero dejar un salto de página después de datos de cada usuario, que utiliza la información de cada usuario debe comenzar en una nueva página. No podía utilizar ninguna etiqueta HTML, ya que, en el archivo HTML generado dinámicamente, todo está fuera de las etiquetas <html> y </html>. Por favor, ayudarme a fin de que de alguna forma puedo hacer un salto de página en el archivo PDF después de los datos de cada usuario ... Gracias de antemano:)

¿Fue útil?

Solución

i acaba de cuenta de esto después de tener el mismo problema. el analizador que utilizan apoya la page-break-después de la etiqueta, pero el html2pdf no funciona.

creo que tengo que trabajar haciendo las siguientes modificaciones a html2pdf.class:

alrededor de la línea 4174, la primera cosa dentro:

protected function _tag_close_P($param){

debería ser:

   if($this->parsingCss->value['page-break-after'] == "always")
        $this->_setNewPage();

alrededor de la línea 2961, la primera cosa dentro:

protected function _tag_close_DIV($param, $other='div'){

debería ser:

 if($this->parsingCss->value['page-break-after'] == "always")
        $this->_setNewPage();

Otros consejos

soportes HTML2PDF etiqueta:

protected function _tag_open_PAGE($param) {} 

en la línea 2229. Se puede ver allí lo que los atributos son compatibles. Por ejemplo siguiente crea una página en el paisaje y uno en el modo vertical:

<page orientation="l">
... some content ...
</page>
<page orientation="p">
... some content ...
</page>

Basándose en el trabajo de macdabby (que no funciona). Pero gracias a él, la idea es correcta.

HTML2PDF V4.03

Por ejemplo queremos analizar una etiqueta div:

línea html2pdf.class.php 2948:

protected function _tag_close_DIV($param, $other='div')
{
    if ($this->parsingCss->value['page-break-after'] == "always")
      $this->_setNewPage(null, '', null, $this->_defaultTop);
      $this->parsingCss->setPosition();
    ...
}

parsingCss.class.php Línea 114:

//add a new style declaration
public function initStyle()
{
    ...
    $this->value['page-break-after'] = null;
}

Línea 1.024 añadir un nuevo controlador para el caso del interruptor:

case 'page-break-after':
    $this->value[$nom] = $val;
    break;

Y a continuación, para que funcione, su contenido HTML debe contener el elemento de ruptura

 <div style="page-break-after:always; clear:both"></div>

Tenga cuidado con estilo de mayúsculas y minúsculas, no estoy seguro si el mango plug-in it

posiblemente desee utilizar un poco de CSS, por ejemplo:

h1 {page-break-before:always}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top