Con questo modulo è possibile generare dei file PDF partendo da file di testo contenenti una valida sintassi JSON, che possono essere localizzati sia nella cartella della singola azienda (quindi caricati dal pannello PARAMETRI dell’area partner come file generico) oppure nell’area comune dei pattern.
La generazione deve avere uno o più oggetti di partenza, ad esempio può essere un modello basato su un cliente, o su un articolo, una lista di scadenze dell’estratto conto, un ordine.
La definizione JSON è un array di oggetti JSON che devono avere obbligatoriamente l’attributo type che può identificare:
- t = testo semplice non interpretato, nel cui attributo text potrei trovare ad esempio “Denominazione”
- p = testo pattern interpretato sul tipo di oggetto di partenza, nel cui attributo text potrei trovare ad esempio “Codice: [code]”
- c = testo in cella con allineamento e bordi
- f = firma grafica, che viene richiesta all’utente nel momento in cui si genera il documento
- i = immagine, in cui potrei trovare un attributo url per prelevare online da un indirizzo web o un attributo file in cui potrei trovare ad esempio “logo.png” oppure “[imm1]”
- l = linea
- q = riquadro
- u = testo che viene richiesto all’utente in fase di generazione
Tutti o quasi gli oggetti hanno degli attributi universali che quindi non saranno riportati su ognuno dei tipi, e sono:
- x = distanza dal bordo sinistro in millimetri, quindi generalmente nel range 5-205
- y = distanza dal bordo superiore in millimetri, quindi generalmente nel range 5-292
- z = ordinamento di profondità, con range 1-100, per cui un valore più piccolo viene aggiunto nel documento prima e quindi va sullo sfondo
Tipo “t” (testo semplice)
Testo semplice non interpretato con gli attributi:
- text = stringa da scrivere
- size = grandezza del carattere, opzionale, default 10
Tipo “p” (testo interpretato)
Testo interpretato sull’oggetto di partenza, ad esempio se sto generando il PDF partendo da un articolo posso usare i tag [code], [desc], [imm1], [pric], [note] per ottenere rispettivamente gli attributi codice, descrizione, url dell’immagine principale, prezzo, dettagli. Gli attributi sono gli stessi del tipo “t” quindi text e size.
Tipo “c” (testo in cella/riquadro)
Testo interpretato racchiuso in un riquadro, in aggiunta al testo interpretato quindi alle proprietà x, y, text, size, ha anche gli attributi:
- w = larghezza del riquadro
- h = altezza del riquadro
- align = allineamento del testo nel riquadro, che può essere L (default) per allineamento a sinistra, R per allineamento a destra, C per allineamento al centro
- border = grandezza del bordo, ad esempio 1
Tipo “i” (immagine)
Blocco immagine che può essere presa da un URL internet specificando l’attributo url oppure può cercare un file locale scaricato nella cartella interna delle foto specificando l’attributo file, che non deve contenere obbligatoriamente il nome ma può anche essere un pattern che viene interpretato sulla base dell’oggetto di origine, ad es. “[imm1]” che preleva l’URL della foto principale di un articolo, “[imm2]” la prima delle foto aggiuntive ecc…
In aggiunta alle proprietà x e y, l’oggetto ha anche:
- w = larghezza dell’immagine
- h = altezza dell’immagine
Tipo “l” (linea)
Linea disegnata a partire dal punto di coordinate x,y fino al punto di coordinate x2, y2. In alcune delle implementazioni, ad esempio esportando in PNG o JPG, la linea sarà disegnata solo se retta, quindi con x=x2 oppure y=y2.
Tipo “q” (riquadro)
Valorizzando gli attributi x, y, x2, x2 equivale a disegnare le quattro linee da x,y a x,y2, poi x2,y2, poi x2,y e infine nuovamente a x,x.
Tipo “u” (testo immesso da utente)
Testo liberamente immesso dall’utente al momento della compilazione, è necessario il parametro “text” contenente la richiesta che sarà presentata all’utente e il resto dei parametri sono in comune con il tipo “t” o “p”. Il testo immesso viene interpretato come pattern prima di essere aggiunto al documento quindi se l’utente immette il testo [oggi] questo tag viene sostituito con la data odierna.