Autore Topic: [Risolto] Nuovo Passo --->> La stampa  (Letto 11109 volte)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #75 il: 04 Marzo 2012, 13:45:47 »
Citazione
Perchè, per quello che ho capito, è una procedura assai laboriosa che richiede anche una buona conoscenza
Trova in rete le istruzioni per farlo!
Quando io installo gambas nella mia ubuntu...
Citazione
scarica Gambas3 da quìhttp://sourceforge.net/projects/gambas/files/gambas3/gambas3-3.0.0.tar.bz2/download
poi da terminale
cd /usr/src
sudo tar xvfj /home/.../Sacaricati/gambas3-3.0.0.tar.bz2

cd /usr/src/gambas3-3.0.0
./reconf-all
sudo ./configure -C
sudo make
sudo make install
..pensi cha ne capisca qualcosa?  ;D
Ciao

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #76 il: 04 Marzo 2012, 14:59:31 »
Citazione
ed io non sono assolutamante all'altezza.
ma non sei tu lo stesso che...
Non sopravvalutate mai i compiti vi si chiedono, né per la mole, né per la difficoltà: singolarmente preso, ogni argomento non è difficile. Credete sempre nel fatto che tutto è alla vostra portata.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #77 il: 04 Marzo 2012, 15:42:51 »
@ Golia: Fedora non è Ubuntu.  :) Voglio dire ... le procedure non sono uguali.
@  sotema:   :evil: Perchè me l'hai ricordato?  ;D Può comunque capitare che, col passare del tempo, ci si stanchi. ... Penso che dovrò cambiare il mio motto. ;D ;D
 :ciao:  :ciao:
:ciao:

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #78 il: 04 Marzo 2012, 15:57:26 »
Citazione
Golia: Fedora non è Ubuntu.  Sorriso Voglio dire ... le procedure non sono uguali.
Questo lo so :)
Volevo dirti che sono riuscito a installare gambas 3 perchè ho trovato le istruzioni per farlo..non che quelle vanno bene per fedora..leggi meglio ;)

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #79 il: 04 Marzo 2012, 16:03:39 »
Prova così: (suppongo tu abbia Fedora16)

- Installi i prerequisiti:
Citazione
yum groupinstall "Development Tools" "Development Libraries"
e poi
Citazione
# yum install cairo-devel libsqlite3x-devel sqlite2-devel gtk2-devel gtkglext-devel imlib2-devel librsvg2-devel poppler-devel qt-devel libv4l-devel SDL-devel SDL_sound-devel SDL_ttf-devel SDL_net-devel SDL_mixer-devel SDL_image-devel SDL_gfx-devel SDL_Pango-devel firebird-libfbclient unixODBC-devel postgresql-devel libXtst-devel mysql-devel pcre-devel mesa-libGLU-devel mesa-libGLw-devel mesa-libGL-devel glew-devel firebird-devel dbus-devel libzip libzip-devel bzip2-devel libcurl-devel qt-webkit-devel libxml2-devel
per la stabile :
- scarichi GB3 dalla homepage http://gambas.sourceforge.net/en/main.html
- scompatti il file scaricato
- ti posizioni nella cartella di gambas3
- esegui:
$ ./reconf-all
$ ./configure
$ make
# make install (da root)

per la svn:
- crei una cartella gambas3
$ cd gambas3
$ svn checkout https://gambas.svn.sourceforge.net/svnroot/gambas/gambas/trunk/
$ cd trunk (la cartella trunk viene creata da subversion nella posizione in cui è impartito il comando)
$ ./reconf-all
$ ./configure -C
$ make
# make install (da root)
« Ultima modifica: 04 Marzo 2012, 16:06:23 da sotema »
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #80 il: 05 Marzo 2012, 17:17:50 »
@ Golia:
Ho quasi completato il lavoro di stampa. Dico quasi perchè non capisco come, pur avendo preselezionato il formato A5, la stampa si avvia sempre su un formato A4 e, di conseguenza , la stampamante s'arresta per "Errore di Formato". Esattamente:
1) prima di aggiungere il comando Shell, al primo avvio di stampa dal file pdf creato, si apre la finestra di stampa dove il formato di default è "A4", perciò devo modificarlo manualmente in "A5".
2) dopo avere inserito la riga
Codice: [Seleziona]
hStampa = SHELL ("lpr " & User.home & "/ContFamStampe")
ricevo sempre, sul display della stmapnte il messaggio
 "Errore di Formato".
Per preselezionare  il formato A5 ho agito così:
Dentro la procedura di chiamata della funzione PdfWriter:
Codice: [Seleziona]
PUBLIC SUB PulSTampaClk_Mio()
------- bla ------ bla ------- bla
  pdf = NEW Repo03pdf("Portrait", "mm", "A5")
  pdf.Open()
  pdf.AliasNbPages()
  pdf.Data
  pdf.Output(User.Home & "/ContFamStampe", FALSE)
  hStampa = SHELL ("lpr " & User.home & "/ContFamStampe")
END
Dentro PdfWriter
Codice: [Seleziona]
PUBLIC SUB _new(OPTIONAL orientation AS String = "P", OPTIONAL unit AS String = "mm", OPTIONAL form AS String = "A5")
------- bla ------ bla ------- bla
Inoltre, a prescindere da come si comporti  PDfWriter, il comando  "lpr" dovrebbe contenere un parametro di scelta del formato. Ebbene, io non sono riuscito a trovarlo.  ???  :o
Ciao.
:ciao:

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #81 il: 05 Marzo 2012, 17:42:17 »
Ciao
Hai provato aprire il file con un lettore documenti e inviare la stampa da la, controllando il formato? tanto per vedere se pdfwriter fa il suo dovere e che il problema non sia l'invio alla stampante.

Citazione
Dentro PdfWriter
Codice:

PUBLIC SUB _new(OPTIONAL orientation AS String = "P", OPTIONAL unit AS String = "mm", OPTIONAL form AS String = "A5")
------- bla ------ bla ------- bla
Questo non dovrebbe servire, scegli già il formato con  pdf = NEW Repo03pdf("Portrait", "mm", "A5").
Un'altra cosa da guardare sono le misure dell'A5, che le trovi dentro la classe PdfWriter, fai una ricerca su questa riga:
Citazione
Case "a5"
, sotto vedi ci sono dei parametri, prova a cambiarli, anche se credo però MD non abbia sbagliato.
Comunque proviamo intanto a individuare se il problema è pdfWriter o l'invio alla stampante
Ciao

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #82 il: 05 Marzo 2012, 18:47:33 »
Ciao
Hai provato aprire il file con un lettore documenti e inviare la stampa da la, controllando il formato? tanto per vedere se pdfwriter fa il suo dovere e che il problema non sia l'invio alla stampante.
Si. L'ho fatto sempre con Evince e, al primo avvio (la prima volta dopo avere acceso il pc) la finestra di impostazione stampa mi fornisce  come preimpostazione il formato A4.
Ora ho provato a preimpostare "A3", ma in Evince trovo sempre il valore di preimpostazione "A4". Ho seguito in PDFWriter il percorso passo dopo passo  dentro la SELECT CASE Lower(form) ed ho potuto riscontrare che il contenuto di $fw  e $fh sono rispondenti al formato richiesto, però, ciò nonostante, l'automatismo relativo, nel documento PDF prodotto, riporta sempre "A4". Ora non vorrei portarti fuoiri strada, ma ho notato che la SUB _beginpage di PdfWriter è richiamata solamente nell'AddPage. É possibile che non venga richiamata per la prima pagina di documento?
Ciao.
:ciao:

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #83 il: 05 Marzo 2012, 21:14:09 »
Citazione
noltre, a prescindere da come si comporti  PDfWriter, il comando  "lpr" dovrebbe contenere un parametro di scelta del formato. Ebbene, io non sono riuscito a trovarlo.

lpr -o media=A5

l'opzione  -o serve a specificare proprio i parametri del formato di stampa:

lpr -o landscape  --> imposta il formato pagina landscape
lpr -o scaling=75 ---> riduce la stampa al 75%
...
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #84 il: 05 Marzo 2012, 23:53:01 »
@ sotema:
grazie per l'indicazione, ma dal man lpr si legge, per la parte pertinente all'argomento corrente:
Citazione
NAME
       lpr - print files

SYNOPSIS
       lpr  [  -E  ]  [  -H  server[:port]  ]  [  -U  username ] [ -P destina‐
       tion[/instance] ] [ -#  num-copies  [  -h  ]  [  -l  ]  [  -m  ]  [  -o
       option[=value] ] [ -p] [ -q ] [ -r ] [ -C/J/T title ] [ file(s) ]

OPTIONS
       The following options are recognized by lpr:
 -o option[=value]
            Sets a job option.
In pratica non è  riportato l'elenco dei valori possibili per  -o option[=value]
Mi potresti indicare dove posso reperire le informazioni necessarie?
 :ciao:
:ciao:

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #85 il: 06 Marzo 2012, 00:16:42 »
In pratica non è  riportato l'elenco dei valori possibili per  -o option[=value]
Mi potresti indicare dove posso reperire le informazioni necessarie?

 :ciao: Forse ti può essere utile una interessante e preziosa indicazione di Milio (vedi:http://www.gambas-it.org/smf/index.php?topic=836.msg8960#msg8960)  :-[ , relativa a CUPS - Command-Line Printing and Options, che qui riporto:
http://www.cups.org/documentation.php/options.html
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #86 il: 07 Marzo 2012, 00:01:05 »
@ vuott:
grazie anche a te, ho trovato il dettaglio che cercavo.

@sotema:
ho applicato il comando lpr con l'opzione media=A5 e la shell, pur leggendo da un file .pdf, un documento in formato A4, ha prodotto la stampa nel desiderato formato A5.

@Golia:
Resta tuttavia il problema del malfunzionamento del formato nella scrittura del file .pdf da parte del PdfWriter. Aspetto tue notizie per considerare risolta la presente discussione.

Cia a tutti.
:ciao:

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #87 il: 07 Marzo 2012, 11:57:23 »
Ciao
Ho fatto una prova col mio programma,
Citazione
pdf = New Stclienti("Portrait", "mm", "A5")
Ho solo cambiato il formato, e il file creato mi sembra corretto,
Prova 1:
Stampo direttamente con lpr, la stampa mi riempe un'a4 zommando il tutto, cioè aumentando la dimensione dei caratteri per riempire l'a4
Prova 2:
Apro con Evince il file e mi sembra corretto
Con le mie stampanti non posso selezioare il formato A5
Ho scoperto un comportamento strano di evince, resta memorizzato il formato della stampa precedente, se faccio una stampa in A3(selezionando il formato da Evince), il documento successivo anche se A4, l'impostazione resta A3 quindi devo cambiarla.
Da Evince, stampa/avanzate scelgo l'opzione "preserve dimension", mando la stampa e la stampa è corretta, su 2 pagine la stampa viene riempita solo nella misura di un A5.
Quindi PdfWriter fa il suo lavoro correttamente, il file viene salvato nel formato giusto.
A questo punto devi trovare la soluzione per l'invio alla stampa. Mi spiace ma di più non so, anche perchè per provare penso ci voglia la stampate che accetti A5.
Penso si deva trovare l'opzione "preserve dimension" per lpr
Fammi sapere, ciao

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #88 il: 07 Marzo 2012, 13:05:10 »
Una soluzione potrebbe essere aprire il file direttamente con evince invece che mandarlo in stampa con lpr
Citazione
hStampa = SHELL ("evince " & User.home & "/ContFamStampe")
dimenticavo di dirti di controllare la misura delle celle in orrizontale, ad esempio in a4 io non supero i 190 mm, così:
                              Me.Cell(45, 5, "Cliente", True, 0, "C", False)
                              Me.Cell(85, 5, "Indirizzo", True, 0, "C", False)
                              Me.Cell(30, 5, "Telefono", True, 0, "C", False)
                              Me.Cell(30, 5, "Telefono 2", True, 0, "C", False)
                              Me.Ln()
in a5 dovrebbero essere in teoria 145

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: Nuovo Passo --->> La stampa
« Risposta #89 il: 07 Marzo 2012, 22:55:30 »
Una soluzione potrebbe essere aprire il file direttamente con evince invece che mandarlo in stampa con lpr
Citazione
hStampa = SHELL ("evince " & User.home & "/ContFamStampe")
dimenticavo di dirti di controllare la misura delle celle in orrizontale, ad esempio in a4 io non supero i 190 mm, così:
                              Me.Cell(45, 5, "Cliente", True, 0, "C", False)
                              Me.Cell(85, 5, "Indirizzo", True, 0, "C", False)
                              Me.Cell(30, 5, "Telefono", True, 0, "C", False)
                              Me.Cell(30, 5, "Telefono 2", True, 0, "C", False)
                              Me.Ln()
in a5 dovrebbero essere in teoria 145
Evince produce però un'anteprima che a me non serve, perchè l'anteprima è rappresentata dalla griglia già visibile in uno specifico Form dove sono situati anche due pulsanti, uno  per l'uscita senza stampa e l'altro per dare corso alla stampa.
Ho guardato la somma delle lunghezze delle mie righe di comando Cell e raggiungono la lunghezza massima di 142.
Comunque, visto che il comando 
Codice: [Seleziona]
 hStampa = SHELL ("lpr -o media=A5 " & User.home & "/ContFamStampe")
risolve benissimo il mio problema, per me va già bene così e non credo che sia necessario aggiungere altre prove.  ;)  ;D ;D
 :ciao: :ciao:
:ciao: