Newsgroup: it.comp.lang.delphi
Titolo: [OT ?] Stampa offuscata con FuzzyReport

Salve,
   ho una applicazione scritta con D5 che gira bene su PC desktop con 
win 7 e 8.1.
 
L'ho installata su un tablet win 8.1 con bing (mediacom W910) e non 
stampa correttamente: I vari caratteri si sovrappongono parzialmente e 
la stampa risulta pressoché illeggibile, più stretta e corta del normale.
 
Il driver della stampante è installato correttamente, infatti, se provo 
a stampare un documento di testo con il Blocco note viene stampato 
correttamente.
 
Sembra come se FuzzyReport non riesca a determinare il giusto formato 
della carta.
 
Il problema mi si presenta *solo* su questo tablet e non mi riesce di 
comprenderne il motivo.
 
Qualcuno si è trovato con problemi simili? Ha risolto? come?
 
Grazie
 
Ciao.

Azz..hai un bel mix di robaccia... :-D
 
Ho PIANTO sul tablet mediacom di mia figlia che nonostante i vari riti Voodoo ancora oggi non si connette ad alcun pc a prescindere se xp o win7.
Alla fine ho rinunciato.
Per contro, il smartphone android kitkat motorola moto g si è connesso al primo colpo. Va be...
 
Riguardo fuzzy, continuo a chiedermi l'utilità di un clone di Fast/Freereport che usa un formato di file *diverso* che quindi ti impedisce di mollarlo, salbo rifare tutti i report. Va be...
A parte tutto, ti suggerisco cmq quanto di pensare ad un porting, visto che fuzzy (grazie al fato) è MORTO, e rischi di trovarti in altri casini del genere, alla lunga.
 
 
Quando dici "solo su questo tablet", cosa intendi? 
Hai provato con tablet di altri produttori? Se si quali, per curiosita?
 
 
Purtroppo, imho, l'unica è fare un po di trace e beccare il punto nel quale calcola la dimensione del carattere, in modo da vedere cosa ti tira fuori sul pc e sul tablet, ovviamente(ma non per tutti) a parità di stampante predefinita selezionata. 
Magari fuzzy ha una property per impostare sta cosa a prescindere dalla stampante?
Magari ha un evento che ti permette di leggere questo valore?
 
A.


 Magari ha un evento che ti permette di leggere questo valore?
 
proverò a vedere.
 
Grazie.
 
Ciao.
 

 risoluzione video impostata a 1920x1200.
 
Scusate l'intromissione,
ricordo di aver avuto problemi di dimensionamento delle stampe
sia con il DPI di windows (che imposto sempre a 96 ma nel pannello
di controllo windows - schermo, non da Delphi )
 
che con le dimensioni del carattere :
piccolo (100%)
medio (125%)
grande (150%)
 
che imposto sempre al 100%
 
 


 
In effetti era stata aumentata la dimensione del carattere ma impostando 
di nuovo a piccolo non risolve.
 
Grazie.
 
Ciao.

 risoluzione video impostata a 1920x1200.
 
Non so. 
Non ho mai usato fuzzyreport, salvo una volta per sistemare 2 cose su una vecchia applicazione d6..e ho detto tante "paroline"....
 
 
A.

 Non so.
 
in effetti cambiando sembra cambiare qualcosa ma non si risolve.
 
Rimettendo i caratteri piccoli come suggerito da jugin adesso la 
dimensione della pagina viene vista correttamente ma, continua a 
stampare i caratteri allo stesso modo.
 
Grazie
 
Ciao.


 
volevo scrivere: "in effetti cambiando il Ppi sembra cambiare qualcosa 
ma non si risolve."
 

 Purtroppo :(
 
..si...ok..pero nonostante il "purtroppo" la sera mettiamo qualcosa a tavola, no? 
 
A.


 
Anche dopo avere reimpostato i caratteri di windows a "piccolo" i 
caratteri stampati rimangono grandi, invece, sembra che la dimensione 
del foglio sia corretta.
 
Grazie,
 
Ciao.


 
certo, questo senz'altro. Adesso, con la nuova dirigenza, pare che stia 
cambiando qualcosa.
 
Ciao.


mah,
Hai provato a cambiare font e dimensione dal driver
della stampante?
 


 
Le stampanti a mia disposizione sono:
a) Brother MFC8880 e non mi sembra ci sia una opzione simile;
b) Samsung ML2850 e non mi sembra ci sia una opzione simile;
c) BullZip PDF Printer ed anche qui non mi sembra ci sia una opzione simile.
 
In effetti i caratteri vengono stampati parecchio larghi ma, credo, 
nella posizione di dove andrebbero se stampati correttamente per cui la 
metà o più di un carattere "sconfina" sopra il carattere successivo e 
così via mentre in verticale sembra che la cosa non accada.
 
Ciao.
 

Ho appena scoperto che se ruoto il tablet di 90 gradi e lo utilizzo in 
verticale le stampe riescono corrette!?! rigiro il tablet di 90 gradi 
rimettendolo orizzontale e le stampe riescono sbagliate.
 
Il tutto senza chiudere l'applicazione!?!
 
Ho provato a vedere il comportamento cambiando la dimensione dei 
caratteri impostando "Grandi" e in verticale stampa correttamente, ho 
provato anche diverse risoluzioni e sempre in verticale funziona.
In orizzontale no.
 
In pratica se la risoluzione impostata è 1920x1280 sbaglia a stampare, 
se invece è impostata a 1280x1920 stampa correttamente!?!
 
In effetti esaminando il codice di FuzzyReport sembra che il codice 
tenga conto della possibilità che la risoluzione cambi a run-time però, 
evidentemente, c'è un bug :(
 
Di seguito il codice che assegna il font al controllo che viene stampato:
 
procedure TfrMemoView.AssignFont;
var
   D: Double;
begin
   if Canvas.Brush.Style <> bsClear then Canvas.Brush.Style := bsClear;
   Canvas.Font := Font;
   if (FReport.Scaled) and (FReport.PixelsPerInch <> 
CurrentPixelsPerInch) then
     begin
       D := FReport.PixelsPerInch / CurrentPixelsPerInch;
       Canvas.Font.Height := Round(Canvas.Font.Height * D);
     end;
end;
 
CurrentPixelsPerInch viene inizializzato durante l'inizializzazione del 
reporto con la seguente linea di codice:
 
CurrentPixelsPerInch := Screen.PixelsPerInch;
 
Qualcuno vede una soluzione?
 
Grazie.
 
Ciao.

 Qualcuno vede una soluzione?
 
Intanto, una precisazione: parli output su carta/pdf o anteprima a video?
 
 
A.


Entrambi: sia anteprima a video che carta e pdf.
 
Il bello è che la risoluzione video del PC di sviluppo è 1920x1200 e le 
stampe sono corrette. La risoluzione dei PC su cui è installa 
l'applicazione è diversa ma sempre 16/10, 4/3, 16/9 e stampa 
correttamente, sul tablet con risoluzione inversa (10/16) stampa 
correttamente altrimenti no!?!
 
Ciao.
 

Fuzzy si dimostra ancora una volta in tutta la sua lassatività.
E' ovvio (ma non per tutti) che per la preview (e il pdf, al piu'..) si basi sulla devicecaps dello schermo, ma onestamente non capisco xche fa ANCHE riferimento a questi valori se deve stampare su carta, visto che il driver dovrebbe poter esporre un hdc per beccarsi questi dati.
 
Ti suggerisco quindi di accelerare per quanto possibile il porting ad uno tool di report che FUNZIONA E MOLLARE STA SCHIFEZZA.
 
A parte cio, un test da fare subito consiste nel lanciare una stampa un po lunga, ruotare il tablet *durante la sua esecuzione* e vedere cosa succede, sia a video che in stampa su carta/pdf.
Ancora, generare una anteprima col device in verticale e *alla fine* ruotarlo e viceversa.
 
Riguardo una possibile soluzione, sono uccelli per i diabetici.
L'unica che vedo è modificare i sorgenti di fuzzy, forzando in qualche modo il calcolo della dimensione etc del font in modo che, se la tua app gira su *tablet*, usa SEMPRE i dati giusti a prescindere seil device sia messo orizzontale, verticale etc, altrimenti fa il calcolo in modo standard.
Purtroppo non so darti cosi su 2 natiche info sul come capire questa cosa.
 
Ma nel caso di preview se l'utente ruota il tablet durante o dopo la sua generazione il rischio è avere una anteprima cinofallica.
 
Complimenti.
Non avevo minimamente pensato ad un test come questo fatto da te.
 
Mo il dubbio è sul comportamento di ReportBuilder e degli altri in circostanze simili. 
 
A.


Mah.
 
 
Grazie.
 
Ciao.
 

> Fino ad ora non mi aveva dato grossi problemi.
 
Qua sarebbe da definire il concetto di "grossi"....
 
 
A.
 


 
Nel senso di non aver avuto problemi di smadonnamenti vari per 
raggiungere gli scopi prefissati ma, forse, dipende dal fatto che i 
report sono sempre stati abbastanza semplici.
 
Certo, tutto è relativo :)
 
Il problema di cui stiamo discutendo non lo definirei "grosso" ma 
"incredibile" ;)
 
Ciao.

 "incredibile" ;)
 
Da un lato, ci sta che un tool di report morto da un pezzo non sia allineato a cose tipo tablet che sono prodotti relativamente recenti.
Per contro, ribadisco il mio non capire xche si appoggia alla risoluzione di schermo anche quando va su stampante.
 
 
A.