es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Saltos de página automáticos con mpdf

Quiero crear un PDF con mpdf (laravel), pero no se crea automáticamente una página adicional. Incluso se ignora el pie de página. El contenido simplemente se imprime dentro del pie de página en lugar de en una nueva página. La tabla cabe en una página, pero debajo de la tabla hay cosas adicionales como una etiqueta “aside” que también contiene una tabla o etiquetas “aside” adicionales con un párrafo “p”. En este ejemplo, espero que las etiquetas “aside” adicionales se muevan a una nueva página.

El PDF se carga desde una plantilla blade en fragmentos con este fragmento de código:

/** @var LaravelMpdf $pdf */
$pdf = PDF::chunkLoadView(
    '<html-separator></html-separator>',
    'pdf.invoice.default',
    compact('invoice'),
    [],
    $config
);

El CSS correspondiente para el pie de página es:

@page {
    header: page-header;
    footer: page-footer;
}

footer {
    /*position: absolute;*/
    padding-bottom: 30px;
    font-size: 8px;
    color: #606060;
    width: 100%;
}

footer .flex-col {
    float: left;
    width: 28%;
}

También intenté establecer “page-break-before: always;” en los últimos bloques “aside”, pero esto resulta en la creación de un solo PDF casi vacío. Por lo tanto, la tabla y los bloques “aside” ya no son visibles.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para asegurar que el contenido se imprima en una nueva página y que el pie de página se muestre correctamente, puedes agregar la propiedad CSS “page-break-inside: avoid;” al selector #footer. Esto evitará que el pie de página se divida entre dos páginas y asegurará que se muestre correctamente en la parte inferior de cada página. Además, puedes usar la propiedad CSS “page-break-after: always;” en el último elemento de cada sección para asegurarte de que comience en una nueva página.

Comments are closed.