[genropy] generazione file ".odt" di libreoffice da template

  • From: Alessandro Tufi <alessandro.tufi@xxxxxxxxx>
  • To: genropy@xxxxxxxxxxxxx
  • Date: Tue, 13 Sep 2016 11:53:40 +0200

Spero di fare cosa gradita pubblicando il modulo che sto utilizzando nel crm per la generazione delle offerte in ".odt" (formato di OpenDocument, quello di LibreOffice) partendo da un template nello stesso formato:

https://bitbucket.org/dedalus2000/odtmanager

E' piuttosto banale da utilizzare: fa tutto la funzione "manage", e il "main" contiene un esempio piuttosto esauriente.

Il template iniziale è un file ".odt" che nel mio caso mi viene fornito dai commerciali. Può essere piuttosto complesso, e come potete immaginare ci sono dei tag (che qui iniziano con "$") che vengono sostituiti durante la generazione del documento finale con il contenuto che vogliamo noi.

Rispetto alla generazione di un pdf ha il vantaggio (o svantaggio, secondo i punti di vista) che può essere modificato; poi LibreOffice ha il pulsante di export in pdf, quindi il risultato per il cliente non cambia. Ovviamente i miei commerciali aprono l'odt con Word e poi si lamentano se è un po' spaginato, ma questa è un'altra storia :-)


Ha un solo problema: i tag in questione devono essere scritti tutto d'un fiato. Ad esempio:non funziona se "$QUESTO__TAG" viene riescritto aggiungendo qualche lettera nel mezzo fino a farlo diventare "$QUESTO_E_UN_TAG" ; ciò perché nel codice xml viene scritto "$QUESTO_<span>E_UN_</span>TAG" e il mio replace non funziona.
Per ovviare potete scrivere i tag nel notepad e poi incollarli al posto giusto, col font giusto (a proposito: se colorate mezzo tag e poi colorate l'altra metà comunque non funziona, per lo stesso motivo.. prima o poi risolverò il problema :-)


Non so se continuerò a svilupparlo perché ho visto che ci sono alternative:

- relatorio è il più famoso, ma non l'ho mai utilizzato: http://relatorio.readthedocs.io/en/latest/

- secretary ha molte funzionalità interessanti (possibilità di inserire immagini, formule complesse in campi "input field", inserimenti condizionali, e altro). Lo proverò nei prossimi giorni, se non ha bug o limitazioni strane credo che inizierò a utilizzarlo: https://github.com/christopher-ramirez/secretary


Alessandro


Other related posts: