LibreDTE / libredte-lib-core

LibreDTE: Biblioteca PHP (Núcleo)
https://lib-core.docs.libredte.cl
GNU Affero General Public License v3.0
194 stars 157 forks source link

Problema determinar alto en PDF papel contínuo #40

Closed estebandelaf closed 7 years ago

estebandelaf commented 7 years ago

Al solicitar generar un PDF en papel contínuo se trata de determinar el alto del PDF (ya que es necesario el alto por la clase TCPDF):

https://github.com/LibreDTE/libredte-lib/blob/master/lib/Sii/PDF/Dte.php#L336

$height = 145; $n_detalle = count($dte['Detalle']); if ($n_detalle>1) $height += $n_detalle*20; if ($this->cedible) $height += 50;

Sin embargo esto no considera cosas como:

Lo anterior puede provocar en algunos casos que el tamaño del PDF sea:

Para corregir este problema se debe calcular la altura del PDF de manera correcta, considerando los puntos anteriores y otros que afecten al alto de la hoja.

Importante: la solución sólo debe modificar las 4 líneas anteriores (creando más si es necesario), no se debe modificar el resto del código.

estebandelaf commented 7 years ago

Solucionado en https://github.com/LibreDTE/libredte-lib/commit/c94536f64cf477414d8fe95550664812e4721e07

Se genera una página "falsa", sólo para determinar el alto real, luego esa página se elimina y se usa el alto que se determinó con la página "falsa" para crear la página real.

No deberían haber más problemas por el alto del PDF, ya que siempre será dinámico el cálculo.