Crear una plantilla PDF personalizada🔗

Podemos crear una plantilla personalizada creando un plugin y colocando la nueva plantilla en la carpeta Lib/PlantillasPDF del nuevo plugin.

Requisitos🔗

Las plantillas son código PHP y para realizar este tipo de personalización son necesarios unos mínimos conocimientos de PHP. También es recomendable, aunque no imprescindible, realizar el curso básico de programación.

Proceso🔗

  • Creamos un nuevo plugin, por ejemplo MiPlantilla. No olvides el archivo facturascripts.ini
  • Creamos la carpeta Lib dentro de nuestro nuevo plugin.
  • Creamos a su vez la carpeta PlantillasPDF dentro de la carpeta Lib.
  • Creamos un archivo MiPlantilla.php dentro de la carpeta Lib/PlantillasPDF de nuestro nuevo plugin.

Abrimos este nuevo archivo y copiamos este contenido:

<?php
namespace FacturaScripts\Plugins\MiPlantilla\Lib\PlantillasPDF;

class MiPlantilla extends \FacturaScripts\Plugins\PlantillasPDF\Lib\PlantillasPDF\Template1
{
    // $model es la factura
    public function addInvoiceHeader($model)
    {
        parent::addInvoiceHeader($model);
        $html = 'hola mundo 1';
        $this->writeHTML($html);
    }

    // $model es la factura
    public function addInvoiceLines($model)
    {
        parent::addInvoiceLines($model);
        $html = 'hola mundo 2';
        $this->writeHTML($html);
    }

    // $model es la factura
    protected function getInvoiceTotals($model): string
    {
        $html = getInvoiceTotals($model);
        $html .= 'hola mundo 3';
        return $html;
    }

    // $model es la factura
    public function addInvoiceFooter($model)
    {
        parent::addInvoiceFooter($model);
        $html = 'hola mundo 4';
        $this->writeHTML($html);
    }
}

A continuación vamos al menú administrador > plugins, y activamos nuestro nuevo plugin. Una vez activado podemos ir al menú administrador > plantillas PDF y ya podremos seleccionar nuestra nueva plantilla desde el selector de plantilla.

Ejemplos🔗

Tiene un ejemplo más detallado y con vídeo en el curso sesiones de programación.

¿Qué podemos personalizar?🔗

Podemos sobreescribir la función addInvoiceHeader() si queremos modificar la cabecera, la función addInvoiceLines() para las líneas o la función addInvoiceFooter() para la parte de abajo.

Problemas frecuentes🔗

Le insistimos en que las modificaciones deben ir en nuevos plugins. Si hace las modificaciones directamente sobre los archivos de PlantillasPDF, estas modificaciones se perderán cuando actualice.

Cookies
Usamos cookies en nuestro sitio web para brindarte la experiencia más relevante recordando tus preferencias y visitas repetidas. Al hacer clic en "Aceptar", aceptas el uso de TODAS las cookies necesarias.
Copyright (c) 2013-2025 FacturaScripts
0.22324s

Soporte