Blog Stats
  • Posts - 171
  • Articles - 1
  • Comments - 197
  • Trackbacks - 5

 

IPhone and IPod Printer Support

Purtroppo chi ha provato a sviluppare su iphone o ipod ha potuto notare (e lamentare) l’assenza di API che permettano di stampare direttamente dal dispositivo verso una stampante di rete.

E’ una mancanza secondo me grave che limita la possibilità di rendere questi dispositivi utili in scenari business.

Per ovviare al problema le soluzioni sono 2: o si scrive nell’applicazione stessa il codice per comunicare direttamente a basso livello con le stampanti(in pratica dobbiamo quasi scrivere un driver per stampanti), oppure più semplicemente ci si appoggia ad un secondo programma installato su un pc che fa da tramite tra iphone e stampante.

Nel mio caso ho pensato alla seconda soluzione, realizzando una piccola applicazione .net con le seguenti caratteristiche:

- applicazione in WPF, minimizzata nella system tray

- servizio di stampa(wcf, basic http binding), utilizzando wcf in modalità self-hosting

- servizio di broadcasting del servizio tramite Bonjour(Mono.ZeroConf)

- esecuzione della stampa utilizzando la funzione PrintVisual di WPF

In particolare l’utilizzo di una libreria per il supporto a Bonjour(che è nativo nell’sdk dell’iphone) mi ha permesso di non far configurare sull’iphone l’ip del server di stampa.

Tramite MonoTouch ho potuto usare anche lato iphone wcf, anche se per il momento è supportato solo il basic http binding e tra l’altro in modalità asincrona(il proxy l’ho generato usando il tool di silverlight, come dice la guida di monotouch.

del.icio.us Tags: ,


Feedback

# re: IPhone and IPod Printer Support

Gravatar Ancora non ho visto per nulla MonoTouch, ma anche nel Compact Framework si ha solo il basicHttpBinding (si, si ha anche la modalità sincrona.... ma non credo cambi molto, se non ricordo male la comunicazione diretta tramite socket c'è solo in asincrono su CF... quindi ad oguno manca qualcosa)! 27/02/2010 17:02 | Stefano

Comments have been closed on this topic.
 

 

Copyright © Luca Mauri