Penguinable Guide PAD PDF Generators 1.1.1 Guida Utente Davide Alghi
|
|
|
PAD PDF Generators
1.1.1
Guida Utente
YetiForce ERP-CRM
Aggiunge generatori PDF alternativi: mPDF, WebKit Html To PDF (wkhtmltopdf) e Google Chrome (endless).
I nuovi generatori PDF possono essere utilizzati come il generatore predefinito di YetiForce.
Per la stampa della singola entità, la stampa di multiple entità (zip), per la stampa di multiple entità in unico file PDF, per l’invio via email e l’invio di PDF tramite workflow.
È possibile associare un file di stile (CSS) a ogni generatore: le classi di stile possono essere utilizzate nel template PDF.
IMPORTANTE: per il completamento dell’installazione è necessario avere pieno accesso al web-server. L’installazione necessita l’utilizzo di “Composer”, che deve essere già installato sul web-server. È inoltre necessario installare il pacchetto wkhtmltopdf e/o il browser web Google Chrome.
Fare riferimento al capitolo “Installazione” per i dettagli operativi.
IMPORTANTE: il funzionamento è garantito solo su server-web Linux
L’installazione necessita il pieno controllo del web-server. Tale requisito è rispettato nel caso in cui YetiForce sia installato su VPS, server dedicato o server locale. Nel caso in cui YetiForce risieda su uno spazio web condiviso o su un cloud, l’installazione può essere effettuata solo da parte del provider, sempre che lo consenta. Nel caso di cloud, una alternativa conveniente, è l’acquisto dell’estensione da parte del provider che provvederà a renderlo disponibile per tutti gli utenti.
PAD PDF Generators si installa come una comune estensione YetiForce:
1.accedere al backend alla sezione “Moduli standard / Moduli – Installazione”
2.fare clic su “Installa da file”
3.selezionare lo zip dell’estensione
4.seguire la procedura proposta
Sul web-server deve essere disponibile, quindi installato, Composer, per poter installare i pacchetti PHP: libreria mPDF, wrapper per wkhtmltopdf e wrapper per Google Chrome.
Per installare via Composer necessario avere installato sul web-server:
•composer
•git
Inoltre verrà richiesto di inserire il token personale per accedere alle repository.
Come ottenere un token personale su GitHub:
1.registrarsi su https://github.com/
2.accedere alla pagina https://github.com/settings/tokens/new (reinserire la password di registrazione)
3.inserire un nome del token (Note)
4.spuntare le opzioni
◦repo
◦workflow
◦notifications
◦user
◦write:discussion
5.generare il token (clic su Generate token)
6.salvare in un posto sicuro il token visualizzato – non sarà più possibile visualizzarlo di nuovo su GitHub – l’alternativa è rigenerarlo
Accedere al web-server via terminale - importante: per questioni di sicurezza, non eseguire Composer come utente root - con lo stesso utente del web-server o con un utente che ha privilegi di lettura e scrittura nelle cartelle YetiForce.
Caso di accesso via terminale con l’utente del web-server
Eseguire i seguenti comandi
1.spostarsi nella cartella “vendor/pad/” di YetiForce con: cd vendor/pad/
2.eseguire l’installazione via Composer con: composer install
3.attendere il completamento dell’installazione
4.verrà creata una nuova cartella “vendor” che conterrà tutti i pacchetti appena installati
Caso di accesso via terminale con utente diverso dal quello del web-server (ma con permessi di lettura e scrittura)
Eseguire i seguenti comandi
1.spostarsi nella cartella “vendor/pad/” di YetiForce con: cd vendor/pad/
2.eseguire l’installazione via Composer con: composer install
3.attendere il completamento dell’installazione
4.verrà creata una nuova cartella “vendor” che conterrà tutti i pacchetti appena installati
5.assegnare (via utente root o comando sudo) il proprietario/gruppo della nuova cartella “vendor” e di tutti i file e cartelle in esso contenuti (ricorsivo), al proprietario/gruppo del web-server. In altre parole, l’utente del web-server deve essere in grado di leggere e scrivere in tutti i file e cartelle contenuti nella nuova cartella “vendor”: esattamente come in tutti i file e cartelle di YetiForce.
L’installazione del pacchetto wkhtmltopdf è necessaria solo nel caso in cui si desideri utilizzare questo generatore in YetiForce. Nel caso non si voglia attivare wkhtmltopdf in Yetiforce (ma utilizzare altri generatori) si può evitare di effettuare questa installazione.
Scaricare wkhtmltopdf da https://wkhtmltopdf.org/downloads.html
Effettuare l’installazione a seconda della distribuzione del web-server.
wkhtmltopdf è disponibile per le seguenti distribuzioni Linux
•Debian
•Ubuntu
•CentoOS
•Amazon Linux
•openSuse Leap
•Arch Linux
Molte distribuzioni Linux includono wkhtmltopdf, tra i pacchetti disponibili nella distribuzione stessa.
L’installazione, del pacchetto wkhtmltopdf incluso nella distribuzione, è sconsigliata perché, spesso, priva di alcune funzionalità. Per esempio, la distribuzione Debian 10 (Buster), include wkhtmltopdf, ma non dispone delle funzionalità header e footer della pagina PDF.
Scaricare da https://wkhtmltopdf.org/downloads.html e installare la versione completa.
L’installazione del pacchetto Google Chrome è necessaria solo nel caso in cui si desideri utilizzare questo generatore in YetiForce. Nel caso non si voglia attivare Google Chrome in Yetiforce (ma utilizzare altri generatori) si può evitare di effettuare questa installazione.
In quasi tutte le distribuzioni è presente il pacchetto Google Chrome. Nel caso non fosse presente nella distribuzione, scaricare e installare Google Chrome da https://www.google.com/chrome/
È possibile inibire Google Chrome dall’accedere a fonti esterne, limitando l’accesso a sole risorse locali. La limitazione aumenta il livello di sicurezza, consentendo comunque l’utilizzo della estensione PAD PDF Generators.
1.creare la cartella
/etc/opt/chrome/policies/managed/
2.creare un file con nome URLAllowlist e inserire la stringa
{"URLAllowlist": []}
3.creare un secondo file con nome URLBlocklist e inserire la stringa
{"URLBlocklist": [“*”]}
La migrazione da YF6.1 a YF6.2 richiede delle azioni non standard.
Purtroppo il pacchetto di migrazione da YF6.1 a YF6.2 elimina tutte le sottocartelle in /vendor, quindi anche la cartella /vendor/pad necessaria per il plugin PAD PDF Generators.
Fai riferimento al manuale di PAD Extensions Manager per le azioni richieste per una corretta migrazione; paragrafo “Migrazione da YetiForce 6.1 a YetiForce 6.2”.
Qui sotto sono discussi due casi: se devi ancora effettuare la migrazione a YetiForce 6.2 o se hai già effettuato la migrazione a YetiForce 6.2.
1.fai un backup di YetiForce: cartella codice (PHP) e database
2.fai una copia della cartella /vendor/pad e salvala sul tuo desktop
3.procedi alla migrazione a YetiForce 6.2
4.ricarica la cartella /vendor/pad dal tuo desktop
5.scarica PAD PDF Generators 1.0.5 (dalla tua area privata su www.penguinable.it) e installalo
Se hai già effettuato la migrazione alla versione YF 6.2, la cartella /vendor/pad sarà stata rimossa. In questo caso:
1.fai un backup di YetiForce: cartella codice (PHP) e database
2.scarica PAD PDF Generators 1.0.5 (dalla tua area privata su www.penguinable.it) e installalo
3.apri un terminale
4.vai nella cartella /vendor/pad
5.esegui il comando composer install
La migrazione da YF6.3 a YF6.4 richiede delle azioni non standard.
Purtroppo il pacchetto di migrazione da YF6.3 a YF6.4 elimina tutte le sottocartelle in /vendor, quindi anche la cartella /vendor/pad necessaria per il plugin PAD PDF Generators.
Qui sotto sono discussi due casi: se devi ancora effettuare la migrazione a YetiForce 6.4 o se hai già effettuato la migrazione a YetiForce 6.4.
6.fai un backup di YetiForce: cartella codice (PHP) e database
7.fai una copia della cartella /vendor/pad e salvala sul tuo desktop
8.procedi alla migrazione a YetiForce 6.4
9.ricarica la cartella /vendor/pad dal tuo desktop
10.scarica PAD PDF Generators 1.1.0 (dalla tua area privata su www.penguinable.it) e installalo
Se hai già effettuato la migrazione alla versione YF 6.4, la cartella /vendor/pad sarà stata rimossa. In questo caso:
1.fai un backup di YetiForce: cartella codice (PHP) e database
2.scarica PAD PDF Generators 1.1.0 (dalla tua area privata su www.penguinable.it) e installalo
3.apri un terminale
4.vai nella cartella /vendor/pad
5.esegui il comando composer install
YetiForce 6.4 introduce l’utilizzo di diversi generatori PDF, esattamente come il plugin PAD PDF Generators ha introdotto nel marzo 2021. YetiForce 6.4 associa uno specifico generatore PDF al singolo template PDF. Questo rende inutile selezionare il generatore durante la fase di esportazione: per questo la schermata di scelta generatore è stata eliminata.
In aggiunta, questa nuova funzionalità, ha reso obsoleto l’utilizzo di un task di workflow specifico per l’invio di PDF creati con generatori alternativi: si può utilizzare il task di workflow built-in per inviare un PDF (Send PDF). Questi cambiamenti hanno rischiesto una profonda reingegnerizzazione del plugin e qualche modifica nelle specifiche di generazione.
A tal proposito si consiglia, prima di passare alla nuova versione (1.1.0) di effettuare alcuni controlli per attestare che ii PDF vengano correttamente renderizzati. Nello specifico si consiglia, su una istanza di test di YetiForce, di verificare la correttezza di intestazione, pié di pagina, filigrana e margini.
In PAD PDF Generators ci sono tre generatori PDF:
1.mPDF - Ian Back library
2.Snappy - wkhtmltopdf wrapper
3.Headless Chromium - Google Chrome wrapper
È possibile abilitare solo i generatori che si vogliono utilizzare: lasciare disabilitati quelli non desiderati.
Vediamo caso per caso.
Questa opzione non è più disponibile: “PAD PDF Generators” gestisce solo e unicamente i generatori aggiuntivi: Google Chrome, Web Kit Html to PDF e mPDF.
Generatore: codice generatore
Nome: nome del generatore
Sito del proprietario: link al sito proprietario/autore generatore/wrapper
Sito GitHub: link al codice sorgente del generatore/wrapper
Abilitato: opzione di abilitazione generatore. Se non abilitato non sarà disponibile nel front-end e nel task di workflow
Predefinito: opzione per definire il generatore di default proposto in fase operativa
File di stile CSS: consente di associare un file di stile (CSS) per la formattazione grafica del PDF. Appena sotto un editor di testo con indentazione via TAB (4 caratteri)
Modello PDF: template PDF da usare per fare il preview
Sorgente: entità di cui fare il preview
Genera: apre il pop-up il preview del PDF
Installato: indica se il generatore è stato correttamente installato in tutte le sue parti
Generatore: codice generatore
Nome: nome del generatore
Sito del proprietario: link al sito proprietario/autore generatore/wrapper
Sito GitHub: link al codice sorgente del generatore/wrapper
Abilitato: opzione di abilitazione generatore. Se non abilitato non sarà disponibile nel front-end e nel task di workflow
Predefinito: opzione per definire il generatore di default proposto in fase operativa
Percorso dell'eseguibile (es. /usr/local/bin/execname): inserire il percorso dell’eseguibile del pacchetto wkhtmltopdf
File di stile CSS: consente di associare un file di stile (CSS) per la formattazione grafica del PDF. Appena sotto un editor di testo con indentazione via TAB (4 caratteri)
Modello PDF: template PDF da usare per fare il preview
Sorgente: entità di cui fare il preview
Genera: apre il pop-up il preview del PDF
Installato: indica se il generatore è stato correttamente installato in tutte le sue parti
Generatore: codice generatore
Nome: nome del generatore
Sito del proprietario: link al sito proprietario/autore generatore/wrapper
Sito GitHub: link al codice sorgente del generatore/wrapper
Abilitato: opzione di abilitazione generatore. Se non abilitato non sarà disponibile nel front-end e nel task di workflow
Predefinito: opzione per definire il generatore di default proposto in fase operativa
Percorso dell'eseguibile (es. /usr/local/bin/execname): inserire il percorso dell’eseguibile del pacchetto Google Chrome
File di stile CSS: consente di associare un file di stile (CSS) per la formattazione grafica del PDF. Appena sotto un editor di testo con indentazione via TAB (4 caratteri)
Modello PDF: template PDF da usare per fare il preview
Sorgente: entità di cui fare il preview
Genera: apre il pop-up il preview del PDF
Installato: indica se il generatore è stato correttamente installato in tutte le sue parti
Le seguenti caratteristiche sono valide per tutti i generatori:
•file PDF molto leggeri
•tempi di elaborazione ridotti
•possibilità di associare un file di stile CSS - non influisce sul peso del file PDF
•definizione di stile (limitato) per l’header con nome di classe header-body
•definizione di stile del corpo di pagina con nome di classe page-body
•definizione di stile (limitato) per il footer con nome di classe footer-body
•definizione di stile (limitato) del watermark con nome di classe page-watermark (mPDF escluso)
font disponibili:
•Aboriginal Sans
•Abyssinica SIL
•Aegean
•Aegyptus
•Akkadian
•Ayar
•MPH 2B Damase
•Dai Banna SIL Book
•DejaVu Sans
•DejaVu Sans Mono
•DejaVu Serif
•Dhyana
•FreeMono
•FreeSans
•FreeSerif
•Garuda
•Jomolhari
•KaputaUnicode
•Khmer OS
•Lanna Alif
•Lateef
•Lohit Kannada
•ocrb10
•Padauk Book
•Pothana2000
•Quivira
•Sundanese Unicode
•Sun-ExtA
•Sun-ExtB
•Estrangelo Edessa
•Taamey David CLM
•Tai Heritage Pro
•TharLon
•UnBatang
•KFGQPC Uthman Taha Naskh
•XB Riyaz
•Zawgyi-One
•qualità (1-10): 6
•simile a YetiForce engine
•watermark solo testo
•lo header di tabella è sempre ripetuto al cambio pagina: non può essere gestito
•blocchi, come le celle di tabella, con molto testo non vengono stampati di continuo, ma saltano alla pagina successiva
•blocchi, come le celle di tabella, con immagini non vengono stampati di continuo, ma saltano alla pagina successiva
•inserisce righe vuote di compensazione se l'immagine salta sulla pagina successiva
•problemi con lo stile di elementi nidificati
•non ottimale la ripetizione dello header di tabella al cambio pagina
font disponibili: tutte le font installate sul web-server
configurazione via stile della ripetizione, a ogni cambio pagina, di header e footer di tabella
thead { display: table-thead-group }
tfoot { display: table-tfoot-group }
configurazione via stile dell’header solo in testa e footer solo in fondo
thead { display: table-row-group }
tfoot { display: table-row-group }
definizione di un wrapper per l’immagine di watermark
può essere utilizzato il “watermark testo” per creare un wrapper per l’immagine inserendo il marker ###WMIMAGE###
•qualità (1-10): 7.5
•buona fedeltà di stile
•possibilità di correggere anomalie utilizzando lo stile
•numero di pagina e pagine totali non disponibili nel corpo di pagina
•metadata (creatore, autore, titolo, soggetto, parole chiave) non disponibili
•blocchi, come le celle di tabella, con molto testo non vengono stampati di continuo, ma saltano alla pagina successiva
•blocchi, come le celle di tabella, con immagini non vengono stampati di continuo, ma saltano alla pagina successiva: l’immagine non viene tagliata
•inserisce righe vuote di compensazione se l'immagine salta sulla pagina successiva
font disponibili: qualsiasi font importabile via CSS
@font-face {
font-family: myFont;
src: url('/var/www/html/yetiforce/fonts/myFont.ttf');
}
configurazione via stile della ripetizione, a ogni cambio pagina, di header e footer di tabella
thead { display: table-thead-group }
tfoot { display: table-tfoot-group }
configurazione via stile dell’header solo in testa e footer solo in fondo
thead { display: table-row-group }
tfoot { display: table-row-group }
definizione di un wrapper per l’immagine di watermark
può essere utilizzato il “watermark testo” per creare un wrapper per l’immagine inserendo il marker ###WMIMAGE###
•qualità (1-10): 9.5
•ottima fedeltà di stile e qualità di stampa
•possibilità di correggere anomalie utilizzando lo stile
•numero di pagina e pagine totali non disponibili nel corpo di pagina e nel watermark
•tipo di font non disponibile nell’header e nel footer
•metadata (creatore, autore, titolo, soggetto, parole chiave) non disponibili
•blocchi, come le celle di tabella, con immagini non vengono stampati di continuo, ma saltano alla pagina successiva: l’immagine non viene tagliata
•qualche problema di sovrapposizione quando viene ripetuto il footer di tabella a cambio pagina
Per ogni “pezzo” del template PDF può essere definito uno stile diverso utilizzando il nome di classe.
Facciamo un esempio con il “pezzo” relativo al logo:
<span class=”company-logo-standard”><img src=”...”></span>
Nel file CSS sono definiti i vari tipi di stile per il logo con
/* company-logo-standard definition */
.company-logo-standard {
border: 1px solid red;
...
}
…
/* company-logo-modern definition */
.company-logo-modern {
border: 3px solid green;
...
}
Ogni “pezzo” del template PDF può essere incluso in un blocco “div” o “span” al quale si può assegnare una classe di stile
<div class=”class-name”>qui il “pezzo” del template </div>
Tale caratteristica consente di definire, nel file di stile (CSS) associato a un generatore PDF, una serie di famiglie di stili da utilizzare nel template PDF.
Facciamo un esempio con il “pezzo” relativo al logo:
<span class=”company-logo”><img src=”...”></span>
Nel template PDF il logo è incluso all’interno di un blocco per definire la famiglia di stile
<div class=”family-style-modern”>
…
<span class=”company-logo”><img src=”...”></span>
...
</div>
Nel file CSS sono definite le famiglie di stile con
/* family-style-standard definition */
.family-style-standard .company-logo {
border: 1px solid red;
...
}
…
/* family-style-modern definition */
.family-style-modern .company-logo {
border: 3px solid green;
...
}
Vediamo come definire diverse famiglie di stile per lo header.
Poiché lo header è incluso in un blocco con classe “header-body” definiamo due famiglie: standard e modern.
/* header standard definition */
.header-standard .header-body {
font-size: 10px;
color: #DDDDDD;
text-decoration: italic;
...
}
...
/* header modern definition */
.header-modern .header-body {
font-size: 8px;
color: blue;
font-weight: bold;
...
}
Per il footer è identico: è sufficiente sostituire “header-body” con “footer-body”.
Anche per la pagina si possono definire diverse famiglie di stile.
/* family style standard definition */
.family-standard .page-body{
font-family: Courier;
font-size: 12px;
color: #444444;
...
}
.family-standard .company-logo {
border: 0.5mm solid #222222;
box-shadow: 5px 10px #888;
...
}
.family-standard thead,
.family-standard tfoot {
display: table-row-group;
}
...
Nel caso di watermark testo, la definizione di stile è identico come per header, footer e pagina.
Se il watermark testo è
<span class=”wm-txt”>DRAFT</span>
nel file di style CSS si definiscono le famiglie
/* watermark text family style standard definition */
.wm-family-standard .wm-txt {
...
}
È possibile definire famiglie di stile anche per il watermark immagine, utilizzando l’editor del watermark testo e il marker ###WMIMAGE###
1.definire un watermark testo
<span class=”wm-img”>###WMIMAGE###</span>
2.passare al watermark immagine
3.selezionare l’immagine
4.salvare
nel file di stile CSS definiamo le famiglie di stile con
/* watermark image family style standard definition */
.wm-family-standard .wm-img {
...
}
Per inserire testi con orientamento RTL è necessario definire una classe css dedicata:
.rtl-dir {
direction: rtl;
}
nel template PDF, il testo va racchiuso in un tag con classe rtl-dir:
<span class=”rtl-dir”> … qui il testo … </span>
L’estensione PAD Textparser Products Table consente di creare una tabella di Servizi e Prodotti e tabelle con i sommari di tassazione e sconto.
Le tabelle hanno uno stile grafico definito in fase di creazione. Le tabelle vengono poi inserite in un template PDF o in un template email.
Con l’estensione PAD PDF Generators è possibile aumentare il controllo grafico utilizzando le varie classi delle tabelle nei file CSS associati al generatore.
Vediamo nei due casi specifici quali sono le classi che si possono usare.
Nome classe tabella
products-table-simple
Nomi classi di intestazione di tabella
•riga di intestazione
◦head-row
•cella di intestazione
◦headcol
◦col-<nome campo>
◦headcol-<even | odd>
◦headcol-<first | middle | last>
◦headcol-all
◦headcol-<nome campo>
◦headcol-<numero colonna>
Nomi classi di footer di tabella
•riga di footer
◦foot-row
•cella di footer
◦footcol
◦col-<nome campo>
◦footcol-<even | odd>
◦footcol-<first | middle | last>
◦footcol-all
◦footcol-<nome campo>
◦footcol-<numero colonna>
Nomi classi per riga aggiuntiva
•riga aggiuntiva
◦additional-row-<before | after>
•cella di riga aggiuntiva
◦bodycol
◦bodyrow-<even | odd>
◦body-all-all
◦body-<numero riga>
Nomi classi per corpo tabella
•riga
◦body-row
•cella
◦bodycol
◦col-<nome campo>
◦bodyrow-<even | odd>
◦bodycol-<even | odd>
◦bodycol-<first | middle | last>
◦body-all-all
◦body-all-<nome campo>
◦body-all-<numero colonna>
◦body-<numero riga>-all
◦body-<numero riga>-<nome campo>
◦body-<numero riga>-<numero colonna>
Nome classe tabella
products-table-cursum
Nomi classi valuta
currency-label
currency-value
Nomi classi modalità di sconto
discountmode-label
discountmode-value
Nomi classi sommario sconto
discountsummary-label
discountsummary-value
Nomi classi modalità di tassazione
taxmode-label
taxmode-value
Nomi classi sommario tasse
taxsummary-label
taxsummary-value
L’estensione aggiunge un processo di workflow per l’invio di PDF.
Descrizione: la descrizione del processo
Modello PDF da inviare: il template PDF da inviare
SMTP: l’SMTP da utilizzare per l’invio
Seleziona un modello email da inviare: il template email da inviare
Destinatari: i destinatari della email inviata
Verifica se il destinatario ha concesso l’invio email: se spuntato invia solo se il destinatario a concesso l’invio
Generatore PDF: generatori alternativi abilitati
L’estensione aggiunge una funzione textparser per includere un barcode o qrcode nel template PDF.
La sintassi è:
$(custom : PADBarcode||<nome_campo>|<codice_barcode>|<larghezza>|<altezza>|<colore>|<mostra_valore>)$
dove:
<nome_campo>: nome del campo dell’entità
<codice_barcode>: codice del barcode o del qrcode
I codici disponibili sono:
Barcode 1D
C39: Code 39
C39+: Code 39 with checksum
C39E: Code 39 Extended
C39E+: Code 39 Extended with checksum
C93: Code 93
S25: Code 25 standard
S25+: Code 25 standard with checksum
I25: Code 25 interleaved
I25+: Code 25 interleaved with checksum
C128: Code 128
EAN2: EAN 2
EAN5: EAN 5
EAN8: EAN 8
EAN13: EAN 13
UPCA: UPC A
UPCE: UPC E
MSI: MSI
MSI+: MSI with checksum
POSTNET: Postnet
PLANET: Planet
RMS4CC: RM4SCC
KIX: KIX
IMB: IMB
CODABAR: Codabar
CODE11: Code 11
PHARMA: Pharmacode
PHARMA2T: Pharmacode 2-tracks
Barcode 2D
QRCODE: QR Code
PDF417: PDF417
DATAMATRIX: Data Matrix
<larghezza>: numero intero (1, 2, 3, 4, …) - la larghezza della singola barra per i barcode 1D; la larghezza del barcode per i 2D – default1D = 2, default2D = 3
<altezza>: numero intero (1, 2, 3, 4, …) - la altezza del barcode - default1D = 30, default2D = 3
<colore>: nel formato esadecimale (#FF0000) – il colore del barcode
<mostra_valore>: valore booleano (0, 1) - solo per barcode 1D – visualizza il valore sotto il barcode
Esempio: QRCODE del campo ‘text_area’ in colore rosso
$(custom : PADBarcode||text_area|QRCODE| | |#FF0000)$
NB: lasciare uno spazio bianco tra i simboli pipe ( | ) se il valore non è assegnato. Nell’esempio larghezza e altezza non sono assegnati.
Compatibile con YetiForce ERP-CRM 6.4.x.
PAD Extensions Manager 1.2.x
Nessuna funzionalità o caratteristica deprecata.
La migrazione da YF6.1 a YF6.2 rimuove tutte le cartelle in /vendor e quindi anche la cartella /vendor/pad. Fare riferimento al paragrafo “Migrazione da YetiForce 6.1 a YetiForce 6.2” per la procedura corretta.
La migrazione da YF6.3 a YF6.4 rimuove tutte le cartelle in /vendor e quindi anche la cartella /vendor/pad. Fare riferimento al paragrafo “Migrazione da YetiForce 6.3 a YetiForce 6.4” per la procedura corretta.
1.2021-03-15: corretti problemi di responsivity
2.2021-03-15: aggiunto modifica css
3.2021-03-15: aggiungo preview PDF
4.2021-03-15: aggiunga funzione PDF per barcode e qrcode
5.2021-03-15: corretto problema di generazione PDF da front-end per utenti non-admin
6.2021-03-23: corretto problema rendering immagini
7.2021-03-29: rimosso javascript console.log()
8.2021-03-29: aggiunto controllo attivazione su corretta installazione
9.2021-04-15: corretto parsing del filename
10.2021-04-15: corretta query di preview
11.2022-12-19: generatori PDF disponibili direttamente nei template PDF
12.2022-12-19: eliminata schermata scelta generatore durante esportazione PDF
13.2022-12-19: eliminato workflow task PADSendPDF: utilizzabile il medesimo built-in
14.2023-05-30: corretti riferimenti alle classi
A fronte di riscontro di problematiche, la segnalazione deve essere effettuata su www.penguinable.it.
Allo stesso modo può essere fatta la notifica di eventuali suggerimenti.