Autore Topic: Stampa con stampante wifi  (Letto 854 volte)

Offline Peppin2o

  • Nuovo arrivato
  • *
  • Post: 36
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1 Pro x64
Stampa con stampante wifi
« il: 19 Giugno 2014, 08:21:39 CEST »
0
Buongiorno ragazzi,
Innanzitutto spero sia la sezione giusta per il mio problema.
Vorrei implementare l'opzione di stampa di file testuali con stampante wifi nella mia app. Ho notato che con KitKat la cosa è stata abbastanza semplificata con l'introduzione di nuove classi per la gestione della stessa.
Purtroppo io sto sviluppando per dispositivi inferiori (minimo 4.0) e vorrei capire se tra le librerie di supporto c'è qualcosa che fa al caso mio oppure se esiste negli api precedenti qualche classe che possa essermi utile.

Grazie a tutti per la disponibilità  :-)
« Ultima modifica: 19 Giugno 2014, 08:23:28 CEST da Peppin2o »

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Re:Stampa con stampante wifi
« Risposta #1 il: 21 Agosto 2014, 09:36:20 CEST »
0
Hai risolto o trovato qualcosa? io conoscevo un app a pagamento che ti faceva questo servizio...
Chi non progetta la sicurezza , programma il fallimento! K.M

Offline Peppin2o

  • Nuovo arrivato
  • *
  • Post: 36
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1 Pro x64
Re:Stampa con stampante wifi
« Risposta #2 il: 21 Agosto 2014, 09:51:58 CEST »
0
Ciao, l'app lavorava in lan, quindi ho fatto in modo di richiamare una pagina php che avviasse la stampa tramite applicazione Java. È incasinato, ma all'epoca non avevo idea di come fare per far comunicare l'app direttamente con Java: infatti si può saltare il passaggio php sfruttando le connessioni tramite socket con un server perennemente in ascolto :-)

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Re:Stampa con stampante wifi
« Risposta #3 il: 21 Agosto 2014, 11:01:38 CEST »
0
Giusto... però devi trasferire pure il file da stampare e cmq l'app che dicevo io non sfruttava nessun socket, riusciva a trovare la stampante di rete(LAN) o WIFI o BLUETOOTH e riusciva a stampare il documento.

Ultima cosa come facevi a far stampare il documento dal codice java (dal pc)?
« Ultima modifica: 21 Agosto 2014, 11:05:39 CEST da lillogoal »
Chi non progetta la sicurezza , programma il fallimento! K.M

Offline Peppin2o

  • Nuovo arrivato
  • *
  • Post: 36
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1 Pro x64
Re:Stampa con stampante wifi
« Risposta #4 il: 21 Agosto 2014, 11:05:40 CEST »
0
Purtroppo non ho trovato risposte..era anche la mia idea iniziale (come da post), ma Android poco supportava questo genere di operazioni fino a kk, purtroppo :-\

Offline Peppin2o

  • Nuovo arrivato
  • *
  • Post: 36
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1 Pro x64
Re:Stampa con stampante wifi
« Risposta #5 il: 21 Agosto 2014, 11:06:45 CEST »
0
Il Bluetooth era più supportato e semplice da realizzare, ma non tutte le stampanti hanno questa interfaccia

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Re:Stampa con stampante wifi
« Risposta #6 il: 21 Agosto 2014, 11:07:18 CEST »
0
Ultima cosa: che istruzioni usavi per far stampare un documento da java(pc) senza chiedere conferma ecc..
Chi non progetta la sicurezza , programma il fallimento! K.M

Offline Peppin2o

  • Nuovo arrivato
  • *
  • Post: 36
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1 Pro x64
Re:Stampa con stampante wifi
« Risposta #7 il: 21 Agosto 2014, 11:18:20 CEST »
+1
In pratica io passavo un file con lo stream (di tipo testuale) creato con la pagina php al jar eseguibile (attivato sempre da php).
Il tutto veniva fatto attraverso la chiamata alla shell tramite php (passando così il nome del file testuale creato come parametro).

Il Jar crea il documento da stampare e lo invia alla stampante. Dopo la stampa il file creato dalla pagina php viene eliminato (ultime due istruzioni)

Codice (Java): [Seleziona]
                //Leggo il nome del file dal parametro 0
                FileInputStream fis = new FileInputStream(args[0]);

                //Tipo di Stream per il Flavor         
                DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;  
               
                //Attributi che deve avere la stampante per essere trovata
                PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet();  
                               
                aset.add(MediaSizeName.ISO_A4);
                aset.add(new Copies(1));
               
                //ritorna tutte le stampanti installate sul pc (le trovi nel pannello di controllo)
                //PrintService[] services = PrintServiceLookup.lookupPrintServices(flavor,null);
                //System.out.println("\nServizi"+services.length);
               
                //ritorna la stampante di default
                PrintService printService = PrintServiceLookup.lookupDefaultPrintService();
               
                System.out.println("Default: "+ printService);
                System.out.println(fis.toString());
               
                //Crea un printjob
                DocPrintJob pj = printService.createPrintJob();
                //Crea il documento "virtuale" che sarà stampato
                Doc doc = new SimpleDoc(fis, flavor, null);
                pj.print(doc, aset);
       
                //chiudo lo stream
                fis.close();
                //elimino il file
                File f = new File(args[0]);
                f.delete();

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Re:Stampa con stampante wifi
« Risposta #8 il: 21 Agosto 2014, 11:39:27 CEST »
0
Ti ringrazio, e con queste istruzioni potevi stampare qualsiasi documento di testo da pdf a txt a documenti di word, open office ecc...?
Chi non progetta la sicurezza , programma il fallimento! K.M

Offline Peppin2o

  • Nuovo arrivato
  • *
  • Post: 36
  • Respect: +1
    • Mostra profilo
  • Sistema operativo:
    Windows 8.1 Pro x64
Re:Stampa con stampante wifi
« Risposta #9 il: 21 Agosto 2014, 11:43:08 CEST »
0
No, questo stampa documenti txt e doc (da provare per bene).

Per il pdf e le immagini ti basta girare un pò su internet...c'è un bel pò di materiale ;)

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Re:Stampa con stampante wifi
« Risposta #10 il: 21 Agosto 2014, 12:37:21 CEST »
0
OK, grazie mille :)
Chi non progetta la sicurezza , programma il fallimento! K.M

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Re:Stampa con stampante wifi
« Risposta #11 il: 04 Settembre 2014, 12:23:38 CEST »
0
Ho provato ora, e non mi riesce ad inviare tutto il file alla stampante, non capisco perchè, quindi non stampa!!

Post unito: 04 Settembre 2014, 20:01:02 CEST
Ho provato così e funziona:
Codice (Java): [Seleziona]
 Desktop desk = Desktop.getDesktop();
                        desk.print(new File("File Ricevuti//"+namef));

però mi sembra strano che non vada l'altro codice è scritto bene...
« Ultima modifica: 04 Settembre 2014, 20:01:02 CEST da lillogoal, Reason: Merged DoublePost »
Chi non progetta la sicurezza , programma il fallimento! K.M

Offline l30n4rd0

  • Nuovo arrivato
  • *
  • Post: 6
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei G330 (CM11), Nexus 7 3G 32GB (2012)
  • Sistema operativo:
    Windows 8.1
Re:Stampa con stampante wifi
« Risposta #12 il: 04 Settembre 2014, 22:43:43 CEST »
0
Ho provato ora, e non mi riesce ad inviare tutto il file alla stampante, non capisco perchè, quindi non stampa!!

Post unito: 04 Settembre 2014, 20:01:02 CEST
Ho provato così e funziona:
Codice (Java): [Seleziona]
 Desktop desk = Desktop.getDesktop();
                        desk.print(new File("File Ricevuti//"+namef));

però mi sembra strano che non vada l'altro codice è scritto bene...

Con questo metodo praticamente te mandi un file in stampa e lo chiude da solo quando finito o lo chiudi te?

Offline lillogoal

  • Utente normale
  • ***
  • Post: 167
  • Respect: +4
    • Google+
    • lillosogliani
    • Mostra profilo
    • LilloNet
  • Dispositivo Android:
    Galaxy s3, Nexus 7,galaxy s advance,galaxy scl
  • Play Store ID:
    Lillonet Inc.
  • Sistema operativo:
    Windows 8,7 & Kali-Linux
Re:Stampa con stampante wifi
« Risposta #13 il: 04 Settembre 2014, 23:19:35 CEST »
0
Si chiude da se... ma è una soluzione provvisoria
Chi non progetta la sicurezza , programma il fallimento! K.M