avevo letto del local storage di Html5, tra cui l'utilizzo dell'app google drive.
tra le varie trovato delle informazioni per la gestione dei file con l'ausilio del retainEntry. In questo modo l'operazione/il permesso di scrittura viene dato una volta sola (la pagina viene ricaricata dalle 200 alle 800 volte)

la cosa "particolare" è che l'utente scarica e installa un applicazione.
l'applicazione contiene una libreria per comunicare con tutte le stampanti.

A questo programma locale viene attribuita una cartella di destinazione (decisa dall'utente)
una volta avviato, il programma legge il contenuto della cartella ogni xx secondi e verifica se esiste un file specifico.
nomefile.xxx
il file è un semplice file di testo txt con l'estensione rinominata con il codice della porta COME dove si vuole stampare. es test.001
una volta stampato, scrive nella cartella un file del tipo output.001 sempre di tipo testo


ora, SE ci fosse il modo che il brower dopo aver creato il file lo rendesse in chiaro all'utente (non tramite browser), sarebbe sufficiente dire al cliente la cartella di destinazione ( dello storage ) dove il programma locale deve andare a leggere il file e scrivere l'esito.