Autore Topic: Stampa schedina  (Letto 130 volte)

Offline d4®io

  • Nuovo arrivato
  • *
  • Post: 1
  • Respect: 0
    • Mostra profilo
Stampa schedina
« il: 01 Febbraio 2018, 10:31:46 CET »
0
Ciao ragazzi, avrei bisogno di qualche suggerimento riguardo la stampa di alcuni dati (inviati in locale ad una stampante fisica).

Sto creando una modesta applicazione per il lotto e voglio dare l’opportunità di stampare sia i dati grezzi (colonne in PDF) che riempire le schedine inserite nella stampante.

1° problema

Testando la stampa sto riscontrando diversi problemi (riguardo la compilazione della schedina).
Per compilare (o popolare, se preferite) la schedina, sto utilizzando un draw.circle (es: canvas.drawCircle(x,y,raggio,paint)), e quando inserisco molti dati (numeri, ruote, importo giocata, ecc) dopo un certo numero di righe il punto (disegnato) si sposta di qualche millimetro, e quindi mi è toccato modificare i dati (cosa fastidiosissima). Tra l’altro non so se queste modifiche andranno bene solo per la mia stampante...

Ad esempio se voglio far disegnare un cerchietto ogni x = 20 e y = 40, dopo qualche riga x diventa 22 e y 42.

Ovviamente ho delle lacune essendo un “fai da te” o “autodidatta”. Sono arrivato a creare qualcosa di “quasi funzionale” provando e riprovando con tanto di esaurimento, per cui potrei aver commesso qualche errore “banale”.

Questo è ciò che utilizzo per la preparazione...

Rect contentRect = new Rect(10, 10, canvas.getWidth() - 10, canvas.getHeight() - 10);
invoco questo metodo
drawText(canvas, contentRect, page, nPagina);

All’interno di questo metodo prima di disegnare scrivo:
canvas.save();
canvas.translate(contentRect.left, contentRect.top);


... invoco altri metodi dove ci saranno scritte le coordinate

Esempio: canvas.drawCircle(x,y,raggio,paint);

canvas.restore();

Ora va bene scrivere questa roba oppure dimentico qualcosa, dal momento che le coordinate slittano di qualche millimetro?

2° problema
A parte lo slittamento, quando vado a stampare più di una schedina, a volte non mi stampa un dato. Non mi disegna il cerchietto sulla ruota indicata, l’importo inserito…

Sembra che non memorizza bene i dati che gli vengono inviati.
Avete qualche consiglio da darmi?

Non sto ad incollare righe di codice inutilmente, se qualcuno può o vuole gentilmente aiutarmi, mostrerò quel pezzo di codice.

[A proposito servirebbe un tutorial sulla stampa di dati e/o immagini in più pagine. Non si trova nulla in rete, a parte qualche piccola informazione in inglese. Mi sono scervellato per diversi giorni. Aiutate il popolo volenteroso di Android. Anche i tutorial che si trovano su developer.android purtroppo non sono “mai” completi]

Quindi ricapitolando, qualcuno sa dirmi se bastano queste 3 righe per memorizzare i dati?

[canvas.save();
canvas.translate(contentRect.left, contentRect.top);

canvas.restore();


Ciao e grazie.
« Ultima modifica: 01 Febbraio 2018, 10:33:22 CET da d4®io »