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:
With pdf = New RepoBolloAuto("L", "cm", "spec.29.7X10.2")
.........................
End with
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:
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 picavbg
io gestisco l'orietamento quì:
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)
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:
$ 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? ???
$ lpr -o media=Vattelappesca ~/NomeFilediStampa
??? :rolleyes:
prova con:
lpr -o media=Custom.WIDTHxLENGTHmm filename
Non avendo capito se avrei dovuto scrivere la costante "mm", ho provato i due seguenti comandi:
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: