Penguinable Guide

PAD PDF Generators 1.1.1

Guida Utente

Davide Alghi

www.penguinable.it

 

 

 
 


Rev 1

 







PAD PDF Generators

1.1.1

Guida Utente

YetiForce ERP-CRM

 

 

Indice

Introduzione

Che cosa fa

Screenshot

Requisiti

Installazione

Passo 1: installazione estensione

Passo 2: installazione pacchetti via Composer

Passo 3: installazione di wkhtmltopdf

Passo 4: installazione di Google Chrome

Aumentare il livello di sicurezza di Google Chrome sul web-server

Migrazione da YetiForce 6.1 a YetiForce 6.2

Devo ancora effettuare la migrazione a YetiForce 6.2

Ho già effettuato la migrazione a YetiForce 6.2

Migrazione da YetiForce 6.3 a YetiForce 6.4

Devo ancora effettuare la migrazione a YetiForce 6.4

Ho già effettuato la migrazione a YetiForce 6.4

Cosa è cambiato in PAD PDF Generators per YetiForce 6.4

Configurazione

YetiForcePDF - YetiForce library

mPDF (Ian Back library)

Snappy (wkhtmltopdf wrapper)

Headless Chromium (Google Chrome wrapper)

Caratteristiche, pro e contro

mPDF (Ian Back library)

Caratteristiche

Pro

Contro

Snappy (wkhtmltopdf wrapper)

Caratteristiche

Pro

Contro

Headless Chromium (Google Chrome wrapper)

Caratteristiche

Pro

Contro

Esempi di stile

Stili differenti

Famiglie di stile

Famiglie di stile per lo header e per il footer

Famiglie di stile per la pagina

Famiglie di stile per il watermark – escluso mPDF

Testo Right To Left: RTL

Definizione di famiglie di stile per l’estensione PAD Textparser Products Table

PADProductsTableSimple – tabella lineitem – Prodotti / Servizi

PADProductsTableCursum – tabella sommari – Tassazione / Sconto

Esempi di stampa in diverse lingue

Processo di workflow per invio PDF

Funzione textparser per barcode e qrcode

Compatibilità

Dipendenze

Deprecati

Problemi conosciuti

Changelog

Segnalazione bug

 

Introduzione

Che cosa fa

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.

 

Screenshot

 
 

Requisiti

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

Installazione

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.

 

Passo 1: installazione estensione

PAD PDF Generators si installa come una comune estensione YetiForce:

 

  1. 1.accedere al backend alla sezione “Moduli standard / Moduli – Installazione” 

  2. 2.fare clic su “Installa da file” 

  3. 3.selezionare lo zip dell’estensione 

  4. 4.seguire la procedura proposta 

 

Passo 2: installazione pacchetti via Composer

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:

 

Inoltre verrà richiesto di inserire il token personale per accedere alle repository.

 

Come ottenere un token personale su GitHub:

 

  1. 1.registrarsi su https://github.com/ 

  2. 2.accedere alla pagina https://github.com/settings/tokens/new (reinserire la password di registrazione) 

  3. 3.inserire un nome del token (Note) 

  4. 4.spuntare le opzioni 

  1. 5.generare il token (clic su Generate token) 

  2. 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. 1.spostarsi nella cartella “vendor/pad/” di YetiForce con: cd vendor/pad/ 

  2. 2.eseguire l’installazione via Composer con: composer install 

  3. 3.attendere il completamento dell’installazione 

  4. 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. 1.spostarsi nella cartella “vendor/pad/” di YetiForce con: cd vendor/pad/ 

  2. 2.eseguire l’installazione via Composer con: composer install 

  3. 3.attendere il completamento dell’installazione 

  4. 4.verrà creata una nuova cartella “vendor” che conterrà tutti i pacchetti appena installati 

  5. 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. 

 

Passo 3: installazione di wkhtmltopdf

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

 

 

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.

 

Passo 4: installazione di Google Chrome

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/

 

Aumentare il livello di sicurezza di Google Chrome sul web-server

È 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. 1.creare la cartella
    /etc/opt/chrome/policies/managed/
     

  2. 2.creare un file con nome URLAllowlist e inserire la stringa
    {"URLAllowlist": []}
     

  3. 3.creare un secondo file con nome URLBlocklist e inserire la stringa
    {"URLBlocklist": [“*”]}
     

 

Migrazione da YetiForce 6.1 a YetiForce 6.2

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.

 

Devo ancora effettuare la migrazione a YetiForce 6.2

  1. 1.fai un backup di YetiForce: cartella codice (PHP) e database 

  2. 2.fai una copia della cartella /vendor/pad e salvala sul tuo desktop 

  3. 3.procedi alla migrazione a YetiForce 6.2 

  4. 4.ricarica la cartella /vendor/pad dal tuo desktop 

  5. 5.scarica PAD PDF Generators 1.0.5 (dalla tua area privata su www.penguinable.it) e installalo 

 

Ho già effettuato la migrazione a YetiForce 6.2

Se hai già effettuato la migrazione alla versione YF 6.2, la cartella /vendor/pad sarà stata rimossa. In questo caso:

  1. 1.fai un backup di YetiForce: cartella codice (PHP) e database 

  2. 2.scarica PAD PDF Generators 1.0.5 (dalla tua area privata su www.penguinable.it) e installalo 

  3. 3.apri un terminale 

  4. 4.vai nella cartella /vendor/pad 

  5. 5.esegui il comando composer install 

 

Migrazione da YetiForce 6.3 a YetiForce 6.4

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.

 

Devo ancora effettuare la migrazione a YetiForce 6.4

  1. 6.fai un backup di YetiForce: cartella codice (PHP) e database 

  2. 7.fai una copia della cartella /vendor/pad e salvala sul tuo desktop 

  3. 8.procedi alla migrazione a YetiForce 6.4 

  4. 9.ricarica la cartella /vendor/pad dal tuo desktop 

  5. 10.scarica PAD PDF Generators 1.1.0 (dalla tua area privata su www.penguinable.it) e installalo 

 

Ho già effettuato la migrazione a YetiForce 6.4

Se hai già effettuato la migrazione alla versione YF 6.4, la cartella /vendor/pad sarà stata rimossa. In questo caso:

  1. 1.fai un backup di YetiForce: cartella codice (PHP) e database 

  2. 2.scarica PAD PDF Generators 1.1.0 (dalla tua area privata su www.penguinable.it) e installalo 

  3. 3.apri un terminale 

  4. 4.vai nella cartella /vendor/pad 

  5. 5.esegui il comando composer install 

 

Cosa è cambiato in PAD PDF Generators per YetiForce 6.4

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.

 

Configurazione

In PAD PDF Generators ci sono tre generatori PDF:

 

  1. 1.mPDF - Ian Back library 

  2. 2.Snappy - wkhtmltopdf wrapper 

  3. 3.Headless Chromium - Google Chrome wrapper 

 

 

È possibile abilitare solo i generatori che si vogliono utilizzare: lasciare disabilitati quelli non desiderati.

Vediamo caso per caso.

 

YetiForcePDF - YetiForce library

 

Questa opzione non è più disponibile: “PAD PDF Generators” gestisce solo e unicamente i generatori aggiuntivi: Google Chrome, Web Kit Html to PDF e mPDF.

 

mPDF (Ian Back library)

 

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

 

Snappy (wkhtmltopdf wrapper)

 

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

 

Headless Chromium (Google Chrome wrapper)

 

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

 

Caratteristiche, pro e contro

Le seguenti caratteristiche sono valide per tutti i generatori:

 

 

mPDF (Ian Back library)

Caratteristiche

font disponibili:

 

 

Pro

 

Contro

 

Snappy (wkhtmltopdf wrapper)

Caratteristiche

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###

Pro

 

Contro

 

Headless Chromium (Google Chrome wrapper)

Caratteristiche

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###

 

Pro

 

Contro

 

Esempi di stile

Stili differenti

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;

     ...

}

Famiglie di stile

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;

     ...

}

 

Famiglie di stile per lo header e per il footer

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”.

 

Famiglie di stile per la pagina

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;

}

...

 

Famiglie di stile per il watermark – escluso mPDF

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. 1.definire un watermark testo
    <span class=”wm-img”>###WMIMAGE###</span> 

  2. 2.passare al watermark immagine 

  3. 3.selezionare l’immagine 

  4. 4.salvare 

 

nel file di stile CSS definiamo le famiglie di stile con

 

/* watermark image family style standard definition */

.wm-family-standard .wm-img {

     ...

}

 

Testo Right To Left: RTL

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>

 

Definizione di famiglie di stile per l’estensione PAD Textparser Products Table

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.

 

PADProductsTableSimple – tabella lineitem – Prodotti / Servizi

Nome classe tabella
products-table-simple

Nomi classi di intestazione di tabella

Nomi classi di footer di tabella

Nomi classi per riga aggiuntiva

Nomi classi per corpo tabella

 

PADProductsTableCursum – tabella sommari – Tassazione / Sconto

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

 

Esempi di stampa in diverse lingue

 
 

Processo di workflow per invio PDF

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

 

Funzione textparser per barcode e qrcode

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.

 

Compatibilità

Compatibile con YetiForce ERP-CRM 6.4.x.

 

Dipendenze

PAD Extensions Manager 1.2.x

 

Deprecati

Nessuna funzionalità o caratteristica deprecata.

 

Problemi conosciuti

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.

 

Changelog

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

 

Segnalazione bug

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.