Perché i browser non forniscono un meccanismo per impostare le impostazioni di stampa relative a intestazioni e piè di pagina all'interno dell'app?
Le app Web sono app a pieno titolo al giorno d'oggi e i moderni browser sono in grado di inviare una pagina formattata molto bene a una stampante (o addirittura di scaricarla come PDF), ma le app web non possono fare affidamento su questo metodo perché i browser non consentono per controllare completamente i metadati.
Le attuali possibilità non consentono ai siti Web di memorizzare le impostazioni di stampa insieme al report o al file sul server.
Ogni browser fornisce il proprio modulo di dialogo obbligatorio per impostare le impostazioni di stampa che possono essere sostituite quando necessario da un'esperienza più conveniente: opzioni in-app, adattate al caso d'uso, persistenti nel cloud e coerenti su diversi browser.
Le opzioni attualmente disponibili sono:
- Delega una parte del lavoro all'utente (ad esempio, cambiandogli le opzioni dei metadati e le dimensioni / orientamento della carta stessi).
- Utilizzare altri metodi che possono diventare rapidamente troppo costosi e complicati, come la generazione di PDF sul server che l'utente può scaricare.
La scelta del numero 1 non è sempre una nostra decisione. Come sviluppatori web professionisti, gli utenti finali di solito non sono i nostri clienti diretti, ma il pubblico di destinazione del nostro cliente. Inoltre, dovremmo costringere l'utente finale a fare del lavoro extra. L'esperienza dice che non si farebbe e i report verranno stampati con le impostazioni predefinite del browser, di solito con intestazioni e piè di pagina che l'utente non vuole veramente (e la carta associata spreca se lui / lei decide di stamparla senza di loro).
Opzione 2 - Generare PDF lato server - sta diventando meno un'opzione ogni giorno. Le moderne app Web sono utenti esperti di javascript e i report beneficiano di eccellenti librerie di tracciamento realizzate con JS che possono generare grafici in elementi canvas HTML che potrebbero essere stampati immediatamente se non stessimo usando questo "rifare tutto sul server" approccio.
I report risultanti non hanno mai lo stesso aspetto e i programmatori devono mantenere due versioni di ogni report.
Inoltre, la generazione di PDF sul server può essere molto lenta e richiede molte risorse.
Quindi, c'è un motivo convincente per cui i programmatori di browser hanno scelto di non supportare questo tipo di personalizzazione?