lunedì 19 novembre 2012

Stampa in serie: imprecazioni seriali


Capita a pochi la sfortuna di dover usare la Stampa in serie (o Stampa unione) e, ancor meno, capita che chi si approvvigiona della cancelleria decida di cambiare formato delle etichette e che il template usato per anni si ritrovi completamente inutile perché nel frattempo anche la tabella della lista degli indirizzi estratti dal database ha cambiato la propria struttura.
Libreoffice, la suite office che usiamo in azienda (derivata da OpenOffice), fa tutto, anche cose di cui non immaginiamo, funziona... ma ha una maledetto approccio user-unfriendly che alcune volte ci fa sentire dei caproni.



Creare il nuovo template delle etichette 

Dal menu Nuovo di Writer Libreoffice c'è l'intuitiva voce Etichette talmente chiara e semplice che ci farà illudere che le cose saranno semplici come fare le capriole sui prati fioriti mentre le caprette fanno ciao.

Nella sezione in primo piano, Testo etichetta, aggancio la lista degli indirizzi (database) che ho disponibile come foglio ods, ma non aggiungo ancora i campi che voglio stampare (più avanti capirete perché).

Poi, appena più sotto, un attimo dopo le capriole, il “ciao” delle caprette mi sembra ora condito da sarcasmo: la lista dei formati delle etichette si presenta per MARCA e MODELLO e, ovviamente, la confezione acquistata con la veste di un brand sconosciuto non ha nemmeno un suo alter ego nella lista dei prodotti Avery. Deduco che il responsabile dell'ufficio acquisti abbia comperato un formato "inusuale": 105x37 mm su foglio A4.
Per fortuna, per gli infelici come me c'è la scheda Formato nella quale si può creare il proprio formato infelice di cui vantarsi sui propri blog.
Ecco i valori che ho impostato per il mio:

 Spero di non doverveli spiegare: righello e calcolatrice alla mano ;-)

Sincronizza etichette dove sei? 

Ve lo dico subito o ve lo dico dopo?
Avendo fatto il primo template delle etichette mi ricordavo che c'era un pulsante “Sincronizza etichette” che, premendolo, consentiva di clonare automaticamente tutte le etichette della pagina allo stesso modo di com'è la prima in alto a sinistra (formati, campi, condizioni e stili), tuttavia frugando anche nelle zone più intime di Libreoffice non ho assolutamente trovato quella funzione, finché armato di pazienza e determinazione, più per orgoglio che necessità, ho trovato questo aiuto:
http://help.libreoffice.org/Common/Options_1/it#Sincronizza_etichette
dove si dice che per far comparire quella funzione (un pessimo flottante pulsante come visibile in foto)

è necessario aver impostato a priori un'opzione altrimenti non c'è alcuna possibilità di goderne (bella fregatura!): durante la creazione delle etichette bisogna mettere il segno di spunta alla voce “Sincronizza Contenuti” nella scheda Extra (a lato della scheda Formati)!

Caricare i campi delle etichette 

Caricare i campi delle etichette è una cosa semplice, si possono impostare già durante la creazione del documento etichette, però, c'è sempre un però, soprattutto quando è un lavoro che mi ritrovo a dover fare io, ...

Tutti voi conoscete le regole di Poste Italiane per la compilazione delle etichette postali e sapete che sono molto rigorose (ndr: non mi veniva un aggettivo migliore).

NB: Ecco le incontestabili regole : http://www.poste.it/postali/cap/standard_composizione_indirizzi.pdf 

Ebbene per le informazioni sul destinatario Poste Italiane permette al massimo l'inserimento di due righe, invece io mi trovo condizioni anche di questo tipo:
Egr. Nome Cognome 
Facoltà delle xxxx 
Università di xxxxx 
oppure
Mr. Nome Cognome 
divisione xxxx 
ragione sociale s.p.a.

e, dunque, nella mia lista ci sono tre campi che determinano le informazioni del destinatario: nominativo, facoltà/dipartimento/divisione e Ragione Sociale, ma non posso usare tre righe.
La “soluzione” (Attenzione: Poste Italiane determina anche il massimo numero di caratteri per riga ...oltre alla dimensione minima del font) che ho approntato è stata quella di accorpare i primi due campi sulla stessa riga separandoli con una virgola (sono un genio!).
Per aggiungere il primo campo bisogna mettere il cursore nel punto dell'etichetta dove si vuol scrivere e dal menu 
InserisciComando di campoAltro
nella scheda “Database” impostare come:
Tipo campo = Campi per stampa in serie
Scelta Database = qui selezionare il database agganciato → il foglio → il nome del campo 


NB: nel foglio .ods il nome del campo è determinato dalle celle dalla prima riga. Consiglio vivamente di usare nomi privi di spazi!!! 

E poi cliccare sul pulsante Inserisci per vederlo aggiunto nell'etichetta.

NB: Torna utile sapere che selezionando o meno, dal menu “Visualizza” la voce “Nomi campi” si può variare il modo con cui vengono visualizzati i campi del database 

Fatta la stessa cosa anche per il secondo campo, dopo aver digitato la virgola e lo spazio per separarlo dal primo, e anche per il terzo campo mi ritrovo qualcosa del tipo:  
[nominativo], [dipartimento]
[RagioneSociale]
 

1° problema: punteggiatura condizionata

E qui sorge subito il primo problema: se in qualche record della lista di indirizzi il campo [nominativo] dovesse esser vuoto, la riga dell'etichetta inizierebbe con una virgola e spazio seguiti poi dal nome del [dipartimento]: orrore!

E' necessario inserire una bella condizione per determinare se stampare o meno la virgola, pertanto sostituisco la virgola e lo spazio con un campo condizionale; dal menu 
InserisciComando di campoAltro 
nella scheda “Funzioni” imposto come: 
Tipo campo = Testo condizionale 
Condizione = nominativo EQ “” 
Allora = (lascio vuoto) 
Altrimenti = , (virgola + spazio) 

Adesso funziona decisamente meglio.

2° problema: riga vuota

Ma non è finita qui, Poste Italiane prevede una riga facoltativa per INFORMAZIONI AGGIUNTIVE SULL'EDIFICIO (SCALA, PIANO, INTERNO), nella lista a mia disposizione questo campo il più delle volte è vuoto e ciò determina la stampa di una riga vuota nell'etichetta. 
Ebbene il problema è inserire una condizione per quel campo che determini la presenza della riga soltanto quando il campo contiene del testo. E c'è proprio una funzione che fa al caso mio però è necessario aver separato le righe con NEW PARAGRAPH (il tasto invio durante la digitazione) e non il NEW LINE che invece avrebbe inserito il software se avessi aggiunto i capi durante la creazione del documento etichette (la distinzione tra NewLine e NewParagraph è visibile attivando la visualizzazione dei caratteri non stampabili, vedi foto). 


Una volta inserito la riga con il campo facoltativo (INFORMAZIONI AGGIUNTIVE SULL'EDIFICIO): prima di pigiare il tasto invio (NEW PARAGRAPH) per la successiva riga inserisco un campo speciale: dal menu
InserisciComando di campoAltro 
nella scheda “Funzioni” imposto come: 
Tipo campo = Paragrafo vuoto 
Condizione = edificio EQ “” 

Quando il campo sarà vuoto (EQ = equal) il paragrafo, ergo la riga in questo caso, non verrà stampata. 

3° problema: riga indesiderata

Ehi, non vi starete dimenticando che Poste Italiane non vuole che venga stampata la riga della nazione qualora la spedizione fosse limitata all'Italia? 
Poiché, nella mia lista di indirizzi, potrebbe capitare di avere nel campo [Nazione] la stringa "ITALIA", ho pensato che anche in questo caso fosse necessario nascondere la riga per la seguente equazione: dal menu  
InserisciComando di campoAltro 
nella scheda “Funzioni” imposto come: 
Tipo campo = Paragrafo vuoto 
Condizione = nazione EQ “ITALIA” 

Quando il campo [Nazione] conterrà il testo “ITALIA” il paragrafo , ergo la riga anche in questo caso, non verrà stampata. 

...il bug dell'ultimo minuto

Quando ho stampato le pagine* mi sono accorto che Libreoffice, dopo ogni pagina, mi stampava anche una pagina bianca!!! 
Non è un vero bug, almeno non dovrebbe esserlo da quello che si legge in Rete, la colpa è di una maledettissima opzione per la quale non si conosce il senso della sua esistenza ma che ce la ritroviamo impostata di default. 
Per risolvere questa noia  è sufficiente andare nel menu: 
StrumentiOpzioni...Libre Office WriterStampa 
e togliere il segno di spunta dalla voce “Stampa pagine vuote inserite automaticamente” 

 *per fare le prove rispettando la natura e i nostri soldi vi consiglio vivamente di stampare su file .pdf anziché direttamente sulla stampante, fino a quando non otterrete il risultato sperato. 

E per cambiare? 

Una volta salvato il documento come template, è possibile caricare differenti file (nome e/o path) contenenti gli indirizzi, purché rimangano invariati i titoli dei campi e il nome del foglio (sheet), semplicemente aprendo il template e cliccando su
  ModificaScambia database... 
e poi 
  StrumentiAggiornaAggiorna tutto 

Info

Sito ufficiale di Libreoffice 
Definire le condizioni in Libreoffice
Un portale dedicato alle capre  ...utile per chi usa i software :-)

3 commenti:

  1. Il problema è che ti ostini sempre a sbattere la testa su 'sti prodotti open...
    Mai assaggiate le prelibatezze proprietarie? XD

    Non usando praticamente mai la funzione di stampa seriale, le uniche cose che davvero ho capito sono le foto del caprone...

    A futura memoria però "buccmarco" il post.

    Just trolling around ;)

    RispondiElimina
  2. > le uniche cose che davvero ho capito sono le foto del caprone...

    Caprone? Non ho inserito alcuna immagine di caprone. Non è che, per caso, hai un monitor a schermo lucido? Il rettangolo argentato che ho inserito come illustrazione può avere un effetto a "specchio" su quei tipi di monitor ;-P

    A parte gli scherzi, sinceramente è da tanto che non uso veramente un prodotto alternativo come MS Office: dicono che sia un prodotto veramente valido.
    Ma sai, pur di poter utilizzare un formato OASIS Standard per archiviare e condividere senza problemi, qui in azienda non badiamo a spese!

    RispondiElimina
  3. Io ho provato la stampa unione sia MS che libre, e libre vince 10 a 0.
    Maperò, c'è un maperò. Con Libre non riesco ad inserire campi immagine.
    Con MS peggio, perché SEMBRA che si possa, poi quando lo vai a fare diventi il caprone di cui sopra.
    Qualcuno ha un'idea se con Libre ci sia un modo per inserire un'immagine che cambi ad ogni record? Che so, per dire, se ad ogni nominativo voglio aggiungere la sua foto.

    RispondiElimina