Pareri sui report PDF

Raccoglitore di domande e risposte relative a ScriptCase, il generatore di codice php per lo sviluppo rapido di applicazioni.
Regole del forum
Nel forum è vietato fare pubblicità senza avere l'autorizzazione dello staf di Netspecial.
FabioV
Messaggi: 10
Iscritto il: 24 ott 2020, 14:33

Pareri sui report PDF

Messaggio da FabioV » 06 ago 2024, 14:17

Ciao a tutti, riscontro non pochi problemi quando devo creare report con tabelle - intese come tabelle tipo Excel - che devono essere popolate con SELECT in maniera dinamica su tabelle diverse e che non riuscirei a fare con le subselect.
Poiché non si possono utilizzare le sc_select, sc_lookup ecc. nel codice del layout pdf trovo non poche difficoltà a sviluppare tutto in un evento poi caricare un array e ciclare all'interno del codice del body (soluzione che ho adottato una volta ma che non mi piace molto).
Ho deciso di provare, per due report abbastanza complessi, a creare da zero in un'app BLANK i report utilizzando la libreria TCPDF ed ho ottenuto dei risultati lusinghieri in termini di pulizia del codice e velocità.
L'unico problema è che SC non mi consente di andare in override sulle funzioni di header di TCPDF nelle app BLANK e quindi non riesco a mettere le immagini nell'header ma devo ad ogni salto pagina riscriverlo.
Volevo chiedere se qualcuno ha/sta utilizzato/ndo questa tecnica e se si sta trovando bene per report complessi oppure la sconsiglia per altri motivi a me non noti.

magre66
Messaggi: 54
Iscritto il: 14 mar 2017, 08:04

Re: Pareri sui report PDF

Messaggio da magre66 » 07 ago 2024, 07:01

Anch'io mi ero scornato con questo limite di tcpdf e poi, prendendo spunto dall'esempio 003 della documentazione di tcpdf, ho capito che bisognava creare una classe che sovrascrivesse l'header e il footer ma non sono mai riuscito a farlo funzionare direttamente dalla blanck del pdf (sicuramente per qualche mio errore) per cui ho risolto così:
- creo una libreria esterna nel progetto che contenga un file php( esempio libreria mypdf e file MyPDF.php) con questo codice

Codice: Seleziona tutto

<?php
require_once('../lib/prod/third/tcpdf/tcpdf.php'); // verificare percorso

class MyPDF extends TCPDF {
    // Page header
    public function Header() {
        // Set font
        $this->SetFont('helvetica', 'B', 12);
        // Title
        $this->Cell(0, 15, 'Testo Header', 0, 1, 'C', 0, '', 0, false, 'M', 'M');
    }

    // Page footer
    public function Footer() {
        // Position at 15 mm from bottom
        $this->SetY(-15);
        // Set font
        $this->SetFont('helvetica', 'I', 8);
        // Page number
        $this->Cell(0, 10, 'Pagina ' . $this->getAliasNumPage() . '/' . $this->getAliasNbPages(), 0, 0, 'C');
    }
}
?>
- creo il pdf con la blank ovviamente creando creando un oggetto MyPDF $pdf = new MyPDF('P', 'mm', array(210,297), true, 'UTF-8', false);

Il grosso limite di questa soluzione è che devo creare una libreria per ogni personalizzaizone di pdf
Mario Greco

FabioV
Messaggi: 10
Iscritto il: 24 ott 2020, 14:33

Re: Pareri sui report PDF

Messaggio da FabioV » 07 ago 2024, 10:22

Quindi anche tu ti sei spostato sulle app BLANK per generare report complessi?
Purtroppo per com'è fatta ora l'applicazione PDFReport di SC è abbastanza limitante per alcune situazioni se non facendo giri assurdi.
Ottima l'idea di fare una libreria esterna di ovveride, non ci avevo pensato. TOP!

rino
Messaggi: 660
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: Pareri sui report PDF

Messaggio da rino » 09 ago 2024, 03:37

FabioV ha scritto: 07 ago 2024, 10:22 Quindi anche tu ti sei spostato sulle app BLANK per generare report complessi?
Purtroppo per com'è fatta ora l'applicazione PDFReport di SC è abbastanza limitante per alcune situazioni se non facendo giri assurdi.
Ottima l'idea di fare una libreria esterna di ovveride, non ci avevo pensato. TOP!
PDFReport credo nasca come metodo per generare semplici report e nulla più. E' vero che esiste la possibilità di intervenire abbastanza liberamente nella sezione Layutpdf / codice / ... , pagando con la rinuncia dell'interfaccia grafica di posizionamento . Ho usato spesso questa opzione e non mi sono trovato male .
per i report complessi però preferisco sempre usare la TCPD direttamente , sia dentro una blank che altrove .

fabio , non è che con l uso delle viste risolvi parecchio, sia in termini di velocità che di semplicità dell'app?
nel tempo ho contstatato quanto per alcuni sia quasi conosciuto l uso corretto delle view (viste) in ambiente db relazionale. Spesso anche l uso di query complesse semplifica di molto le fasi di reportistica sui dati presenti in db .
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

FabioV
Messaggi: 10
Iscritto il: 24 ott 2020, 14:33

Re: Pareri sui report PDF

Messaggio da FabioV » 09 ago 2024, 09:09

Sì Rino, faccio spesso uso delle view in ambiente relazionale le trovo abbastanza performanti specialmente in quelle situazioni in cui devo recuperare dati da più tabelle in JOIN.
Comunque detto questo i miei step sono stati PDFReport in maniera visuale, immediatamente dopo utilizzo del codice in Layout ed ora, per ovvie ragioni di complessità di alcuni report, lo scrivo direttamente in blank più che altro per utilizzare un po' di funzioni SC che trovo comode. Vediamo se poi le faccio direttamente a manina in PHP ma preferisco, se possibile, non uscire dall'ambiente protetto di SC.

magre66
Messaggi: 54
Iscritto il: 14 mar 2017, 08:04

Re: Pareri sui report PDF

Messaggio da magre66 » 09 ago 2024, 09:36

Si Fabio, io faccio tutto in black con tcpdf e ormai che ho un po' di template fatti che recupero e modifico secondo le esigenze praticamente non uso più l'app pdf di scriptcase, anche perchè secondo me la blank è nettamente più performante in termini di tempi di apertura. Uso l'app pdf soltanto più per creare report banalissimi su stampati del cliente di una pagina dove metto lo stampato come immagine di sfondo e quoto rapidamente i campi
Ci sono ovviamnete altre librerie tipo fpdf che sono più performanti di tcpdf ma ormai ho preso la mano a quella e vado così
Mario Greco

rino
Messaggi: 660
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: Pareri sui report PDF

Messaggio da rino » 30 ago 2024, 11:15

Ho deciso di realizzare un unico ambiente di produzione multi db/azienda , scleta ch emi facilita la manutenzione ma inizalmente ha reso difficoltosa la gestione delle personalizzazioni per esempio delle intestazioni report (loghi ecc).
il problema era avere la scelta di immagini come il fondo senza diventrae scemo.
nel forum inglese anni fa fu posta la stessa questione e la soluzione alla fine fu .... triste .
Nonostante i vecchi insegnamenti ogni tanto dimentico di leggere il manuale e allora ...
Sul manuale è scritto che si possono usare lliberamente tutti i metodi della classe $PDF egenrata dalla libreria TCPDF basta scrivere $pdf-> metodo
SC ha realizzato alcuen macro ma hanno dei limiti , ad esempio sc_imagepdf non gestisce la variabile del URL impedendo di fatto una gestioen dinamica dell'immagine. usando invece il metodo originale $pdf->Image (parametri)tutto va che è una meravilgia.
Due sono i 'luoghi' dive inervenire per scivere ciò che serve , compreso il poolamento di variabili nuove da stampare.
LayouPDF -->Codice --> Layout o Corpo . anche Defizioni è utilizzabile .
Però attenzione , mentre ogni modifica su Layout rimane e non inficia l'uso dle sistema grafico di posizionamento le altre hanno ovviamente dei vincoli nel sesno che annullano l uso del grafico , se lo si usa allora queste sezioin sono rigenerate .
La libreria TCPD è la più potente libreria pdf reperibile, mi stupisco che sia gratuita, poterla usare liberamente anche nel reportpdf ovvero un forma nativa è indubbiamente un ottimo vantaggio . La documentazione original eè un po ostica, preferisco la vecchia ma ormai ...bisogna adeguarsi , le funzioni disponibili permettono di realizzare di tutto.
Come per tutti gli output su carta (il pdf va considerato su carta) occorre una paziente ingegnerizzazione del layout ( il buon vecchio metodo finestra ) .
ovviamente sono solo mie opinioni
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

Sandrol
Messaggi: 75
Iscritto il: 18 ott 2017, 16:39

Re: Pareri sui report PDF

Messaggio da Sandrol » 02 set 2024, 16:55

ciao a tutti devo dire che anche io preferisco la black con tcpdf ho trovato comodo in alcuni casi generare il report in html e poi stamparlo con tcpdf (esempio 6)

rino
Messaggi: 660
Iscritto il: 18 giu 2015, 15:42
Località: Pinerolo
Contatta:

Re: Pareri sui report PDF

Messaggio da rino » 02 set 2024, 22:09

Sandrol ha scritto: 02 set 2024, 16:55 ciao a tutti devo dire che anche io preferisco la black con tcpdf ho trovato comodo in alcuni casi generare il report in html e poi stamparlo con tcpdf (esempio 6)
indubbiamente passare da html spesso facilita molte cose ma non permette la precisione che i metodi della classe tcpdf permettono. sono sicuramente lunghi da usare .
Rino Lo Turco
Consulente Informatico; Analista e Sviluppatore; ex IT Manager; Cons. Direzionale di Organizzazione; Consulente Tecnico legale; Esperto protezione dati personali; Internet Service Provider
felice utente e fruitore di ScriptCase

Sandrol
Messaggi: 75
Iscritto il: 18 ott 2017, 16:39

Re: Pareri sui report PDF

Messaggio da Sandrol » 03 set 2024, 17:02

Ciao Rino concordo che se usi
rino ha scritto: 02 set 2024, 22:09 i metodi della classe tcpdf
hai una maggiore precisione, ma se usi un pò di css nel tuo html puoi raggiungere buoni risultati
io ho realizzato report con gestione img ecc.
inoltre trovo molto comodo che in fase di sviluppo ti basta un echo $html per avere "un'anteprima" del report.

Rispondi

Chi c’è in linea

Visitano il forum: Ahrefs [Bot] e 2 ospiti