MINERVA-APPS:Creare una classe di stampa personalizzata

Versione del 9 mar 2021 alle 22:39 di Andrea (discussione | contributi)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

← Torna indietro

Introduzione

Questa pagina ti darà le indicazioni di come creare e caricare delle stampe personalizzate.

Di base vengono creati file PDF, ma nulla vieta di creare i formati desiderati, come fogli di calcolo Excel XSL o testi RTF o DOC.

Esempio

Iniziamo con il creare una classe base per la stampa di un documento, con la testata della compagnia.

Crea il file Documento_intestazione.php con il seguente contenuto:

<?php

/**
 * Classe per la stampa del documento 
 */
class Documento_intestazione extends \TCPDF {

   private $company = null;

   public function __construct( $document, $preferences ) {
      parent::__construct();

      $this->company = $document->company;
   }

   public function file_extension() {
      return 'pdf';
   }

   function header() {
      // Logo
      if( !empty( $this->company->logo_path ) && file_exists( $this->company->logo_path ) ) {
         $this->Image( $this->company->logo_path, PDF_MARGIN_LEFT, 10, 0, 20 );
         $this->SetY( 32 );
      } else {
         $this->SetY( 10 );
      }

      // azienda
      $this->SetFontSize( 14 );
      $this->Cell( 100, 8, $this->company->name, 0, 1, 'L' );
      $this->Ln( 1 );
      $this->SetFontSize( 9 );
      $this->MultiCell( 100, 5, $this->company->identification_data, 0, 'L' );
      $this->Ln( 2 );
   }

   public function body() {

   }
}

Vai in visualizzazione di un documento, premi Stampa e seleziona il secondo tab (icona graffetta), carica il file creato.

Selezione classe

Alla stampa seleziona la nuova classe caricata.

Caricamento file