Solución:
Actualizar Con respecto a cambios con versión de
dompdf
> =0.7.0
1. Debido a que el archivo dompdf_config.inc.php se ha eliminado de esta versión (y ya no se hace referencia a él), todas las opciones de dompdf deben configurarse en tiempo de ejecución.
4. Ahora se crea una instancia de la clase FontMetrics en lugar de estática. Para simplificar la migración de scripts incrustados de versiones anteriores de dompdf, proporcionamos acceso a la clase FontMetrics instanciada a través de la variable $ fontMetrics. Actualice sus scripts incrustados. Por ejemplo, FontMetrics :: get_font (‘helvetica’) ahora sería $ fontMetrics-> getFont (‘helvetica’).
~ Gracias a la respuesta de Dennis Ameling por la información actualizada.
Encontré mi respuesta mirando por encima del dompdf_config.inc.php
expediente. Como resulta, DOMPDF_ENABLE_PHP
se establece en false
haciendo así que se ignore el script php en línea. Yo simplemente edité dompdf_config.custom.inc.php
a lo siguiente y todo está bien y funciona con el código posterior en el view
.
En dompdf / dompdf_config.custom.inc.php
<?php
define("DOMPDF_ENABLE_PHP", true);
En tiempo de ejecución
$dompdf->set_option("isPhpEnabled", true);
Luego, en mi archivo html
<body>
<script type="text/php">
if ( isset($pdf) ) {
// OLD
// $font = Font_Metrics::get_font("helvetica", "bold");
// $pdf->page_text(72, 18, "{PAGE_NUM} of {PAGE_COUNT}", $font, 6, array(255,0,0));
// v.0.7.0 and greater
$x = 72;
$y = 18;
$text = "{PAGE_NUM} of {PAGE_COUNT}";
$font = $fontMetrics->get_font("helvetica", "bold");
$size = 6;
$color = array(255,0,0);
$word_space = 0.0; // default
$char_space = 0.0; // default
$angle = 0.0; // default
$pdf->page_text($x, $y, $text, $font, $size, $color, $word_space, $char_space, $angle);
}
</script>
<div
Si sigue esta ruta, no olvide reiniciar Apache
Si está utilizando DOMPDF> = 0.7.0, el archivo dompdf_config.inc.php se ha eliminado y agregar un número de página ahora requiere un enfoque ligeramente diferente:
Debido a que el archivo dompdf_config.inc.php se ha eliminado de esta versión (y ya no se hace referencia a él), todas las opciones de dompdf deben configurarse en tiempo de ejecución.
Para permitir que DOMPDF ejecute el código PHP, use:
$dompdf->set_option("isPhpEnabled", true);
Además, FontMetrics ahora debería llamarse usando $fontMetrics
en lugar de Font_Metrics
, por lo que el código mencionado por @ user1231342435346354 cambia ligeramente:
<script type="text/php">
if ( isset($pdf) ) {
$pdf->page_script('
if ($PAGE_COUNT > 1) {
$font = $fontMetrics->get_font("Arial, Helvetica, sans-serif", "normal");
$size = 12;
$pageText = "Page " . $PAGE_NUM . " of " . $PAGE_COUNT;
$y = 15;
$x = 520;
$pdf->text($x, $y, $pageText, $font, $size);
}
');
}
</script>
Tengo un código simple para mostrar el número de página en el pie de página de cada página de dom pdf
#footer { position: fixed; right: 0px; bottom: 10px; text-align: center;border-top: 1px solid black;}
#footer .page:after { content: counter(page, decimal); }
@page { margin: 20px 30px 40px 50px; }
el código anterior es código css
<div id="footer">
<p class="page">Page </p>
</div>
Puede cambiar la posición del texto según sus necesidades