Autore Topic: PdfWriter con orientamento Landscape  (Letto 1153 volte)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
PdfWriter con orientamento Landscape
« il: 10 Aprile 2013, 00:29:06 »
Il mio nuovo programma BolloAutoPt dovrebbe permettermi di stampare un modulo di versamento con c/c postale della tassa di proprietà sull'autovettura. Dato però che il suddetto modulo ha dimensioni di cm.29.7X10.2 ho dovuto impostare fra i parametri di stampa da passare a PdfWriter il parametro 'orientation = "L"'. La prima propva di stampa ancora rudimentale nei dettagli, non ha funzionato perchè, pur essendo i valori del formato, per largezza ed altezza, correttamente convertiti in pt, come si può constatare dalle print seguenti:
Citazione
Lower(orientation)= 'l'
$wPt= '289.13'
$hPt= '841.89'
$w= '10.1998638888889'
$h= '29.7000083333333'
PdfWriter considera l'orientamento sempre "Portrait"
Non avendo ancora capito se e come potetere intervenire per correggerne l'anomalia, avrei bisogno della giusta indicazione dagli autori.
Grazie.
 :ciao:
« Ultima modifica: 10 Aprile 2013, 08:47:16 da Picavbg »
:ciao:

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: PdfWriter con orientamento Landscape
« Risposta #1 il: 10 Aprile 2013, 10:49:24 »
Vedo che hai aperto due discussioni con lo stesso oggetto (o quasi)...

Ad ogni modo, l'allegato mi riporta un file senza estensione, e che non viene riconosciuto dal lettore pdf, per cui non riesco a vedere il problema.

A parte questo, sei sicuro che il pdf non sia a posto, e che il problema non sia l'impostazione della stampante?
Inoltre, quale versione di PdfWriter stai usando? E' probabile che la versione che gira su questo sito non sia proprio l'ultima e corretta...

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: PdfWriter con orientamento Landscape
« Risposta #2 il: 10 Aprile 2013, 14:43:15 »
l'allegato mi riporta un file senza estensione, e che non viene riconosciuto dal lettore pdf, per cui non riesco a vedere il problema.
Il file è quello prodotto da PdfWriter. Nel mio pc vine aperto automaticamente con "Evince - Visualizzatore documenti". Inoltre nella finestra delle proprietà del file leggo: "Formato: Pdf-1.3"

Citazione da: md9327
sei sicuro che il pdf non sia a posto, e che il problema non sia l'impostazione della stampante?
Purtroppo non saprei come intervenire.

Citazione da: md9327
quale versione di PdfWriter stai usando? E' probabile che la versione che gira su questo sito non sia proprio l'ultima e corretta...
la seguente:
Citazione
Software: PDFWriter
' Version : 0.0.2
' Date    : 2007-10-10

Ciao

:ciao:

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: PdfWriter con orientamento Landscape
« Risposta #3 il: 11 Aprile 2013, 13:36:34 »
Se non ricordo male, ero arrivato alla versione 0.4 o 0.5... Dovresti dare un'occhiata su sourceforge.net...

Riguardo al formato, e a parte che il tuo file con adobe su windows non riesco ad aprirlo, dovresti capirlo appunto dal lettore (es. evince).
Le proprietà del documento dovrebbero dirti se il formato è landscape o portrait.
La stampante, poi, a seconda di come è impostata, potrebbe modificare il formato in modo da farlo corrispondere ai suoi parametri.

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: PdfWriter con orientamento Landscape
« Risposta #4 il: 11 Aprile 2013, 15:54:33 »
Ho scaricato il PdfWriter da Sourceforge.net. La versione è la 0.0.4.  Ho rilanciato il mio programma dopo avere sostituito il PdfWriter precedente con quello appena scaricato, ma la stampa avviene sempre secondo l'orientamento "Portrait".

Ho cercato di entrare nelle impostazioni della stamapante con: applicazioni -> Strumenti di sistema, -> Impostazioni -> Stampanti -> Opzioni, ma vi trovo solamente l'elenco degli utenti ammessi. Non posso fare altro.
Ho provato ad aprire un altro documento con LibreOffice, salvato a suo tempo con orientamento "portrait" ed a stamparlo con orientamento "landscape". Ha funzionato perfettamente. Escluderei pertanto l'errore di impostazione.

Nella scheda di proprietà di Evince, aperta su file di stampa prodotto dal programma, leggo che è stato prodotto da PdfWriter nel fprmato PDF-1.3 e che il formato carta ha dimensioni di mm.102x297. Ciò mi fa pensare ad un formato con orientamento verticale, altrimenti avrei dovuto leggere mm.297x102.
Aspetto ulteriori indicazioni per proseguire nella ricerca dell'anomalia.
Ciao.
:ciao:

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: PdfWriter con orientamento Landscape
« Risposta #5 il: 11 Aprile 2013, 16:00:09 »
Sì, infatti il test che hai fatto con evince riporta in effetti che la pagina è impostata come Portrait, anche se le dimensioni non mi tornano... A4 non è 21,2x29,7 ?

Mi puoi ripetere i parametri che passi alla classe PdfWriter, ovviamente senza modifiche da parte tua sulla classe?

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: PdfWriter con orientamento Landscape
« Risposta #6 il: 11 Aprile 2013, 16:05:42 »
Le dimensioni sono corrette, perchè il modulo di c/c postale ha dimensioni non standard ed esattamente cm 29,7x10,2, come puoi constatare dall'istruzione di chiamata della sottoclsasse di PdfWriter interessata:
Codice: [Seleziona]
With pdf = New RepoBolloAuto("L", "cm", "spec.29.7X10.2")
.........................
End with
:ciao:

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: PdfWriter con orientamento Landscape
« Risposta #7 il: 11 Aprile 2013, 19:27:57 »
Il file prodotto in formato pdf dovrebbe mostrare sempre il documento nell'orientamento ordinario, cioè verticale. A me succede invece che il documento ha il formato carta ruotato di 90°, quindi vedo il modello disposto con l'altezza (il lato più corto) posizionata in orizzontale mentre la larghezza (il lato più lungo) posizionata in verticale. Le righe di stampa seguono l'andamento ordinario, quindi prodotte sul lato corto. Ne consegue che la stampa viene spalmata su più fogli. Infine, dopo la scrittura del file, la stampa non viene avviata. Ciò avviene sicuramente perchè il mio modello è non standard e quindi non riconoscibile dalla shell che viene richiamata successivamente:
Codice: [Seleziona]
hStampa = Shell ("lpr -o media=spec.29.7X10.2" & User.home & "/BolloAuto")
Lo so, è assolutamente sbagliata, ma dovrei imparare come dare le dimensioni effettive del foglio da stampare alla shell.

Per maggiore chiarezza allego un'immagine dimostrativa di una porzione di file.
 :(
:ciao:

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: PdfWriter con orientamento Landscape
« Risposta #8 il: 12 Aprile 2013, 10:53:19 »
Ho la vada sensazione, forse errata, che vi sia qualche impiccio tra il formato con cui crei il documento, e il codice che poi utilizzi per scriverci sopra...

Secondo me dovresti controllare se, durante la scrittura delle fincature e del testo, gestisci le cose in modo corretto.

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: PdfWriter con orientamento Landscape
« Risposta #9 il: 12 Aprile 2013, 18:04:17 »
ciao picavbg
io gestisco l'orietamento quì:
Codice: gambas [Seleziona]

 Dim Pdf As Object
 Randomize
 pdf = Object.New(name_Report, ["Portrait", "mm", "A4"]) ' oppure "Landscape"
 pdf.Open()
 pdf.AliasNbPages()
 pdf.Data()
 pdf.Output(MyReport, False)

Offline Picavbg

  • Senatore Gambero
  • ******
  • Post: 1.620
    • Mostra profilo
Re: PdfWriter con orientamento Landscape
« Risposta #10 il: 12 Aprile 2013, 19:28:26 »
Il problema nasce dal fatto che, dovendo gestire un formato carta non standard(29.7X10.2), ho dovuto adeguare PdfWriter alle mie esigenze volanti: infatti per fare funzionare il programma, in modo da ottenere la prima stampa del modulo di c/c postale in tempo utile per effettuare il mio prossimo pagamento della tassa di proprietà della mia autovettura, mi restano solamente 45 giorni di tempo e ... il tempo, ahimè, passa presto.  :'(

Sicuramente, come dice md9327, ho pasticciato qualcosa, ma purtroppo non mi rendo conto come e dove. Posso solamente sottoporre il codice inserito, nella speranza che un occhio ed una mente esperti possano accorgersi meglio di me dove possa essere posizionato il garbuglio. Certo il volenteroso dovrebbe calarsi nelle mie modeste capacità di manomissione di codice non mio.

Come se ciò non bastasse, non sono riuscito a dire, dentro il comando lpr, che il formato carta è particolare. Ho cercato senza successo la risposta alla mia domanda. Nei comandi lpr che ho potuto riscontrare ho sempre letto comandi lpr simili ai seguenti:
Citazione
$ lpr -o media=A4 ~/NomeFilediStampa
$ lpr -o media=A5 ~/NomeFilediStampa
Ma se volossi stampare un formato non standard (per es. 140x198), come lo potrei comunicarlo a lpr?  ???
Codice: [Seleziona]
$ lpr -o media=Vattelappesca ~/NomeFilediStampa

 ??? :rolleyes:
« Ultima modifica: 12 Aprile 2013, 21:45:24 da Picavbg »
:ciao:

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: PdfWriter con orientamento Landscape
« Risposta #11 il: 13 Aprile 2013, 16:16:20 »
prova con:

lpr -o media=Custom.WIDTHxLENGTHmm filename
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: PdfWriter con orientamento Landscape
« Risposta #12 il: 13 Aprile 2013, 22:25:05 »
prova con:

lpr -o media=Custom.WIDTHxLENGTHmm filename
Non avendo capito se avrei dovuto scrivere la costante "mm", ho provato i due seguenti comandi:
Codice: [Seleziona]
lpr -o media=297X102mm ~/BolloAuto
lpr -o media=297X102 ~/BolloAuto
ed ho ottenuto lo stesso identico risultato: Carta non corrisponde. Tuttavia me lo aspettavo perchè il file da stampare era quello prodotto dall'attuale versione di programma, dove insistono anomalie in ambito PdfWriter.

Tornando alla prova fatta, quale delle due è quella corretta?
 :ciao:
:ciao:

Offline sotema

  • Maestro Gambero
  • ****
  • Post: 467
    • Mostra profilo
Re: PdfWriter con orientamento Landscape
« Risposta #13 il: 14 Aprile 2013, 08:56:40 »
Non avendo capito se avrei dovuto scrivere la costante "mm", ho provato i due seguenti comandi:
Codice: [Seleziona]
lpr -o media=297X102mm ~/BolloAuto
lpr -o media=297X102 ~/BolloAuto
ed ho ottenuto lo stesso identico risultato: Carta non corrisponde. Tuttavia me lo aspettavo perchè il file da stampare era quello prodotto dall'attuale versione di programma, dove insistono anomalie in ambito PdfWriter.

Tornando alla prova fatta, quale delle due è quella corretta?
 :ciao:

lpr -o media=Custom.297X102mm ~/BolloAuto

il parametro Custom dell'opzione media serve ad indicare che utilizzi un formato non definito, quindi deve essere indicato nel comando, seguito dal formato della stampa, indicando l'unità di misura in cui sono espressi i valori.
L'uomo ha inventato la bomba atomica, ma nessun topo al mondo costruirebbe una trappola per topi.
Albert Einstein