Newsgroup: it.comp.os.linux.iniziare
Titolo: Libreoffice Calc - Distribuzione Ottimale in Pagina A4

 
Una domanda da smemorato... ero in qualche modo riuscito
nell'intento, ma mesi fa, e ora non ricordo come avevo fatto.
 
Ho un file calc dove ci sono 3 colonne del tipo:
 
 
nome | attributo1 | attributo2
 
 
Vediamolo come una colonna unica diciamo di 150 righe circa.
Se mando in anteprima di stampa, accade che questa sfilza
di righe strette "ma tante", va ad occupare tipo 4 o 5 fogli,
ma in realtà è solo una colonnina di scritto allineata a sinistr
e tanto spazio bianco buttato via a destra.
 
Quello che voglio è avere una pagina dove ci sono due
"colonnine" affiancate. Che in pratica sarebbe il settaggio
"2 pagine per foglio", niente di trascendentale quindi.
 
Il layout ottimale della pagina è il classico A4 verticale,
riempito con due belle colonne del tipo:
 
-----------------------------------------------
 
  nome | att1 | att2     nome | att1 | att2
  .... | .... | ....     .... | .... | ....
  .... | .... | ....     .... | .... | ....
  .... | .... | ....     .... | .... | ....
  .... | .... | ....     .... | .... | ....
  .... | .... | ....     .... | .... | ....
  .... | .... | ....     .... | .... | ....
 
-----------------------------------------------
 
Va be' ora sembra orizzontale ma va be', penso che sia chiaro
da come ho scritto.
 
In questo modo posso avere il tutto in un paio di facciate e
allo stesso tempo avere il testo ingrandito in modo ottimale
per riempire al meglio lo spazio.
 
 
Ho risolto esportando in PDF da calc come veniva, saltava fuori
un PDF di 4 pagine.
 
Poi l'ho aperto in Scribus, che tratta i vari pezzi del contenuto
come oggetti vettoriali. A quel punto basta selezionare ciascuna
colonnina e raggrupparla (click destro, raggruppa).
Fatto ciò si dispongono le 4 colonne (erano una per pagina nel
PDF esportato) in modo da metterne 2 per pagina.
 
Il risultato finale è ottimo, ma la trafila che avevo eseguito
la scorsa volta mi pare fosse più liscia e senza dover tirare
in ballo Scribus.
 
In LibreOffice dal menù "stampa" si può scegliere anche il
numero di pagine per foglio.
Però già dall'anteprima il risultato non è convincente, viene
buttato via un sacco di spazio non occupato dal testo...
Forse la strada è quella comunque, ma in qualche modo occorre
giocarsela con margini o roba del genere per ottenere il risultato.
Insomma non mi ricordo come avevo fatto.
 
Qualcuno è pratico di libreoffice calc e s'è già imbattuto nel
problema?
 
Grazie in anticipo

 problema?
 
Io ma solo un po', pero' non mi ricordo niente.. sono anni che non
lo uso piu'.
Intervengo per dirti che se fosse puro testo lo potresti fare al
volo con una utility che mi son fatto.
Se puo' interessarti, ha queste caratteristiche:
- incolonna file1 e file2 su 2 o piu' (fino a 5 file) colonne
- puoi scegliere come distanziare le colonne
- non importa se file1 e file2 hanno larghezza e/o lunghezza diversa
- non perde allineamento anche con caratteri utf oltre l'ascii puro.
 
Se preferisci, un'altra utility (sempre per testo puro) incolonna
in 2..9 colonne un singolo file d'input.
Le caratteristiche sono le medesime ciao fammi sapere
 
-- 
Yoda
 


È puro testo sì.
 
Ma se mi serve uno script per farlo, allora la compliaczione supera
la necessità, a me serviva un sistema "builtin" compreso nelle
funzionalità di LibreOffice.
Se devo esportare i dati diventa troppo complesso.
 
Il file di partenza è una tabellona di nomi con vari attributi.
 
Da lì faccio un filtro per scremare solo i nomi che soddisfano certi attributi.
 
Poi copio e incollo in un altro foglio nuovo.
 
Elimino le eventuali colonne che non servono.
 
A questo punto voglio stampare su un PDF o su un pezzo di carta per
utilizzare o fornire quel contenuto a chi lo dovrà avere sottomano.
 
In questo ultimo passaggio ho solo bisogno di un minimo di impaginazione
per minimizzare lo spazio bianco e quindi il numero di fogli... anche
per comodità: se ho la lista su una facciata viene meglio, se devo
portar dietro 3 fogli mezzi bianchi e cercare i nomi da un foglio
all'altro non va bene.
 
L'operazione la devo fare poche volte all'anno, per quello non
mi serve così tanto uno script esterno.
 
Ho trovato una soluzione abbastanza banale, visto il numero di righe
non eccessivo:
----------------------------------------------------
1.
Attivo la visualizzazione ad interruzione di pagina:
"View" > "Page Break"
 
2.
Seleziono la colonnina dalla pagina 2 fino alla fine, taglio...
 
3.
incollo nella prima pagina a fianco della prima parte della
colonna stessa (che non avevo selezionato al punto 2).
 
4.
Ottengo nella stessa pagina 2 colonnine affiancate.
Ripeto il taglia-incolla con il resto della colonna oltre
la pagina 1...
 
5.
Controllo l'anteprima di stampa e mi assicuro che sia
rispettata la collocazione del contenuto rispetto
all'interruzione delle pagine.
------------------------------
 
 
Insomma alla fine modifico a mano il foglio di Calc
in cui ho incollato la scrematura derivante dal tabellone
iniziale.
L'operaizone è tuttosommato veloce anche se manuale e
visto che prima devo filtrare ecc... ci può stare.
 
Certo, se in libreoffice ci fosse una funzionalità che
dall'anteprima di stampa mi permettesse di ottimizzare
gli spazi spezzando la colonnina lunga in due colonnine
per pagina sarebbe ancora meglio ma pazienza.
 
Come ho detto la funzione in realtà c'è in parte, nelle
opzioni di stampa configurando il "numero di pagine per
foglio", ma se ho mezza pagina vuota, ottengo nello stesso
foglio A4 2 pagine mezze bianche. E lo scopo viene meno.

 
https://forum.openoffice.org/en/forum/viewtopic.php?t=108366
 

 nell'intento, ma mesi fa, e ora non ricordo come avevo fatto.
 
Se non dovessi trovare aiuto qui, ti consiglio il newsgroup apposito,
piuttosto frequentato e attivo:
 
it-alt.comp.software.openoffice
 
Ciao!
-- 
Tilt
 


Grazie del consiglio, ma LibreOffce non è OpenOffice, già
da tanti anni i due progetti hanno preso strade diverse
se ricordo bene. O no?

 
https://forum.openoffice.org/en/forum/viewtopic.php?t=108366
 
 
Grazie ma la procedura indicata è la stessa che ho
citato sopra.
 
Se hai due pagine mezze bianche, con l'opzione di stampa
2 pagine per foglio ci fai ben poco:
 
le due pagine A4 verranno rimpicciolite e resta sempre
la colonnina più striminzita, la mezza pagina bianca,
la seconda colonnina, la seconda mezza pagina bianca.
 
Potete fare una prova molto facilmente:
 
 
1. Riempite 3 celle attigue:
 
A1:
AAAAAAAAAAAA AAAAAAAAAAAA
 
A2:
BLABLA
 
A2:
BBBBBB
 
2.
Poi estendete (copiate) queste tre celle verso il basso
andando a formare 3 colonne che contengano tutte lo stesso
testo, per praticità... ovvio che nel mio caso reale il
contenuto delle righe varia.
Fatene 200 righe ad esempio.
 
 
Ok, a questo punto avrete quella che ho chiamato colonnina
di testo, lunga e stretta.
 
Provate a simulare la stampa e scegliete 2 pagine per foglio,
vi renderete conto dello spazio bianco buttato via.
 
Per ottimizzare lo spazio nel mio caso serve disporre due
colonnine in un A4 verticale (portrait).
 
 
Grazie comunque

 -----------------------------------------------
 
- Puoi postare 3 o 4 righe caratteristiche effettive di queste che
dici, tanto per vedere il tipo di dati?
- L'intestazione vuoi che sia ripetuta in ogni nuova pagina?
- Ci sono colori?
- Quante migliaia sono all'incirca le righe?
- Usi utf8? ciao
 
-- 
Yoda
 


Anche se il gruppo è it-alt.comp.software.openoffice oramai tratta 
principalmente i problemi di Libreoffice.
 
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   < 
https://giovanni.homelinux.net/
 >

 principalmente i problemi di Libreoffice.
 
OpenOffice è un progetto praticamente morto, oramai esiste solo
LibreOffice, tranquillo ;)
 
 
 
-- 
Tilt
 

 
 
OpenOffice è un progetto maturo che viene ancora attivamente 
*mantenuto*.   LibreOffice è solo una copia con il nome cambiato e che 
mi sono stufato di usare per le continue release.  Ora non lo seguo più 
ma, in un certo periodo, ne rilasciavano una nuova versione ogni tre 
mesi :-)


 Giovanni
 
Basta non aggiornare di continuo... io lo aggiorno tipo a
cadenza mensile se mi ricordo, che quindi alla fine diventa
tipo trimestrale o giù di lì.
Non ho mai riscontrato problemi di sorta, ma lo uso ben poco
e per cose più pesanti non mi va a genio... ricordo un bagno
di sangue anni fa dove si dovevano rielaborare molti dati e
i collaboradors volevano usare in quel caso excell, ma a naso
è abbastanza uguale credo. Alla fine non si riusciva neanche
a modificare una virgola nel titolo dei grafici, tanto era
tutto impegnato a ridisegnare le migliaia di punti. Ricordo
che il problema persisteva anche su una cazzutissima workstation,
almeno stando al report del tizio che ci aveva copiato sopra
la roba...
 
Evidentemente il foglio di calcolo (scrivo in generale) non era
lo strumento giusto, e alla fine avevo risolto con degli script
bash che pilotavano un programma in fortran e gnuplot per disegnare
enne grafici.
 
La cosa impagabile era sentire squillare il telefono dopo che
mi avevano chiesto qualche modifica... tipo passaggio da scala
lineare sugli assi a scala logaritmica. In pratica bastava
modificare la configurazione di gnuplot e rilanciare lo script.
E zac.. via mail mandavo il nuovo PDF se ben ricordo. E in risposta
ricevevo un:
"Ma come c...?" "Hai già fatto? Non è possibile!"
 
Certo che non è possibile... erano ancora lì ad annaspare sul
foglio di calcolo impallato dal numero di punti esagerato da
gestire.
 
 
Per questo altro discorso invece tuttosommato mi posso accontentare,
è una semplice lista di nomi con alcune caratteristiche e attributi
da gestire alla buona e in modo molto improvvisato, per cui conviene
fare aggiornamenti e modifiche a mano.
In teoria servirebbe buttare giù un database, argomento davvero
interessante, ma anche abbastanza complesso per lo scopo e le esigenze
limitate. In più personalmente non ne ho grande esperienza e vedere
tutto il "disegno" in modo complessivo in termini di database non è
assolutamente banale. Così alla fine ho lasciato perdere... e sono
andato avanti con il foglio di calcolo su libreoffice, che alla fine
per lo scopo funziona discretamente.
 
Comunque avevo scritto anche su quel gruppo di openoffice, ma non
ho controlalto se mi hanno risposto, ora vado a vedere. Grazie ancora.


Guarda, è molto semplice.
Ma ti ricordo che la domanda era un'altra, comunque...
 
Abbiamo una roba del genere di partenza... va be' ci sono anche altri
campi ma non mi servono per l'esempio:
 
---------------- --------------- -------------- --------------
     A          |        B      |       C      |       D      |
---------------- --------------- -------------- --------------
Mario Rossi     |   SPED_ITA    |              | indirizzo    |
---------------- --------------- -------------- --------------
Carlo Bianchi   |   CONSEGNA    |  DISTRIB_1   |              |
---------------- --------------- -------------- --------------
John Doe        |   SPED_EU     |              |  indirizzo   |
---------------- --------------- -------------- --------------
Jenny Smith     |   SPED_AM     |              |  indirizzo   |
---------------- --------------- -------------- --------------
Gabriela Albuquerqe |  SPED_AM  |              |  indirizzo   |
-------------------- ----------- -------------- --------------
 
 
Cosa vogliamo?
Ad esempio in un caso voglio un foglio con la lista dei nomi
caratterizzati dall'attributo CONSEGNA e esplicitato il nome
del proprio distributore.
Manualmente filtro (colonna B = CONSEGNA) e ottengo questo di
seguito:
 
---------------- --------------- -------------- --------------
Carlo Bianchi   |   CONSEGNA    |  DISTRIB_1   |              |
---------------- --------------- -------------- --------------
 
Fai finta che di righe ne saltino fuori tipo 200.
Quindi non migliaia come stavi ipotizzando.
 
Ora butto via tutte le colonne che non servono e resto con:
 
---------------- -------------- 
Carlo Bianchi   |  DISTRIB_1   |
---------------- -------------- 
 
Che è la sfilza finale di mio interesse.
Ma la mia domanda arriva qui, perché il filtraggio manuale
non è assolutamente un problema. Per capirci non mi serve
automatizzarlo.
 
La domanda che arrivava dopo questo risultato è come far
stare nello stesso foglio A4 questa lista di nome e attributo
in modo che:
 
1.
Sia leggibile, se no non serve a nulla, ovvio
 
2.
Il singolo foglio contenga quanti più nomi possibili in modo da
minimizzare il numero di fogli da avere tra i piedi.
 
3.
Nella pratica ho trovato più comodo avere lo stampato in formato
verticale (portrait) piuttosto che orizzontale (landscape).
 
 
Uso UTF8?
Non ne ho idea, a livello di sistema sì, ad esempio in bash:
------------
$ echo $LANG
it_IT.UTF-8
-----------
 
Ma in LibreOffice non ho idea di quale formato abbia il testo..
se mi dici come verificarlo ti so dire. 

 se mi dici come verificarlo ti so dire.
 
Boh.. lo si vede quando intervengono certi programmi, ad esempio
html2text vuole l'opzione "-utf8" se l'input NON e' ISO-8859-1,
altrimenti stampa cose strane ciao
(nonostante anch'io abbia $LANG=it_IT.UTF-8)
(l'output e' invece sempre in ogni caso utf8 perche' segue $LANG)
Ah.. per vederlo/verificarlo basta dare file.
 
-- 
Yoda
 


Non ho letto tutte le risposte per cui potrebbe essere già stato 
suggerito, chiedo scusa al gruppo.
 
Potresti crearti un formato carta personalizzato, ad esempio partendndo da 
un A4 210x297 il tu formato dovrebbe essere 105x297, giochi con i margini 
per ridurre lo spazio tra le pagine, e stampi due pagine in una, non ho 
provato ma potrebbe funzionare.
 
-- 
Ciao
Andrea Malfatti

 provato ma potrebbe funzionare.
 
Non è la comodità fatta e finita, ma potrebbe funzionare.
Facio qualche prova, anche se così a naso potrebbe essere
più semplice editare il file come ho spiegato creando la
doppia colonna già nel foglio di calcolo piuttosto che in
fase di stampa. Comunque vediamo, grazie dell'idea.


Ho provato e direi che è la procedura più convincente.
 
Nella fattispecie le 140 righe circa stanno in 2 pagine,
disposte in due colonnine per pagina. E anche ingrandite in
modo ottimale, in modo che si legga e in modo da sfruttare
tutto lo spazio il più possibile.
 
Ho provato la stampa su PDF e il pdf sembra ottimo, l'unica
cosa, potrebbe esserci il rischio che nella stampa venga
tagliato qualcosa, forse ho esagerato riducendo troppo i
margini...
C'era l'opzione per configurare la stampa in modo da adattare
il PDF all'area entro i margini della stampante. In modo che
non venga tagliato via niente, quindi eventualmente applicando
automaticamente un certo fattore di scala.
Ora non ricordo bene come ci si assicurava della cosa.
 
Ad ogni modo grazie mille per il suggeriemnto risolutivo.

 mesi :-)
 
usando i pacchetti della distro e usando una distro non rolling release 
non percepisco il problema, ammesso che sia un problema. le nuove versioni 
si ricevono, in genere, solo agli upgrade di release.
però detto in tutta sincerità gli aggiornamenti di libreoffice sono 
l'ultima cosa di cui mi occupo. non ho la più pallida idea degli 
aggiornamenti che ricevo, per me è una cosa del tutto irrilevante.

 colonnine in un A4 verticale (portrait). 
 
Quindi il problema reale è "stampare in verticale"
 
fai fare il lavoro sporco a "Writer"
-  selezioni le celle
- in Writer selezioni lo stile pagina 2 colonne
- incolli le celle
- stampi


Sì, ho provato e anche questa è una strada.
 
In stampa sparisce la griglia della "tabella". A me non è
che serva preservarla, comunque per farlo immagino si debba
smanettare con le opzioni tabella.
 
Poi ho dovuto modificare leggermente la larghezza colonne a
mano. Ci può stare comunque niente di ché.
 
La soluzione ha di buono che alla fine del posizionamento
della tabella copiata da calc, in writer si può anche rivedere
un po' la disposizione di alcuni pezzi di colonna.
Per esempio nel mio caso in fondo alla tabella avevo dei nomi,
pochi, caratterizzati tutti da un medesimo attributo.
Nell'automatismo della disposizione su due colonne questi venivano
"spezzati":
i primi in fondo alla pagina nella prima colonna e i successivi
ovviamente continuavano in cima alla stessa pagina a destra, e ve
n'erano tipo 4 in tutto. E la colonna finiva lì, cioè non c'erano
più righe/nomi nel file di calc di partenza.
 
Insomma, da writer è stato semplice portare nella colonna di destra
tutti i nomi con lo stesso attributo, in modo che sia più chiaro
per deve usare quella lista distinguere quei nomi con quell'attributo
diverso dagli altri nella colonna di sinistra...
 
Non so se è chiaro il mio scritto, è più facile a vederlo che
a spiegarlo a parole.
Ad ogni modo ho banalmente eliminato la parte finale della
tabella che conteneva i nomi con attributo diverso dai precedenti
e li ho incollati praticamente in una nuova tabella posizionata
nella colonna a destra.
 
---------------------------------------
---------------------------------------
pippo AAA               pluto BBB
...                     ...
...                     ...
...                     paperino BBB
...
...
...
...
topolino AAA
 
 
 
---------------------------------------
---------------------------------------
 
In pratca la pagina ha un pochino di spazio vuoto in fondo
ma ci sta.
Questo con l'anteprima di stampa di Calc non si poteva fare.
Con Calc comunque si poteva rimaneggiare il foglio di calcolo
a piacere...
Insomma sono tre modo differenti che portano al risultato
voluto.
Purtroppo non c'è una funzione automatica per lo scopo.
Bisogna sempre modificare un po' a mano o il formato pagina
o passare per altro programma ecc ecc...
 
D'altra parte il contenuto da sistemare nella pagina non
è sempre uguale e va be', non è neanche un grosso problema
dopotutto.
 
Grazie a tutti per i suggerimenti e le risposte.

 Ad ogni modo grazie mille per il suggeriemnto risolutivo.
 
E di che, oggi ti ho dato l'idea per risolvere un problema, domani darai 
un'idea tua per risolvere un problema a qualcun'altro, è per questo che 
sono nati i newsgroup.
 
-- 
Ciao
Andrea Malfatti