Come stampare HTML in orizzontale?

Questa domanda è stata posta e ha risposto, ma la risposta accettata pesantemente rivolta è entrambe:

  • non spiega come farlo
  • non funziona

La ragione, ovviamente, è che la risposta accettata 1 è deprecata 2 . E il W3C non ha prodotto alcuna sostituzione standard. Il che mi lascia un problema, poiché ho cose reali che devono essere fatte.

Come dire ai browser di stampare i contenuti in orizzontale?

Esempio che non funziona

Ho buttato insieme un esempio che contiene ogni frammento di chewing gum che ho trovato.

   /* https://stackoverflow.com/a/1392794/12597 */ @page { size: landscape; } /* http://www.devx.com/tips/Tip/32962 */ @media print{ @page { size: landscape } } /* https://stackoverflow.com/a/16655216/12597 */ @media print{ .class-name{ @page{ size:landscape; } } }    @page { size: landscape; }    Hello, landscape.   

Qualcuno può inventare qualcosa che funzioni?

Supponi Chrome, IE11 o Edge.

sfondo

La ragione per cui sto facendo questo, ovviamente, è che ho bisogno di stampare paesaggi. Nel mio caso specifico userò i ricchi servizi di markup e layout disponibili in HTML per stampare su un pezzo di carta perforata da 8.5×11 “:

inserisci la descrizione dell'immagine qui

Voglio scendere le strisce verticalmente, tranne che significa che il testo, le immagini e il layout devono essere orizzontali nella pagina:

inserisci la descrizione dell'immagine qui

Lettura bonus

  • Stampa orizzontale da HTML
  • Come posso definire una class CSS per impostare la pagina stampata in modalità orizzontale?
  • Stampa in formato orizzontale
  • W3C CSS Print Profile
  • Stampa di una pagina HTML in modalità orizzontale
  • @Page {size: landscape} è obsoleto?
  • Modulo multimediale di paging CSS Livello 3

Tipo di hacky e ho provato solo su CHrome … ispirato da un diverso orientamento della pagina per la stampa di HTML

Come ho notato nei commenti sopra, per una soluzione di una pagina questo probabilmente funzionerebbe per voi. È ansible regolare alcune delle dimensioni e così via.

      

Cashier

Customer

File

Si prega di preformare l’output dall’applicazione ottimizzata per la stampa di viste panoramiche, ma non si vedrà probabilmente un’implementazione di software che consente a un linguaggio di markup di controllare l’hardware periferico nel modo descritto. Questo perché farlo potrebbe essere potenzialmente rischioso, a causa della vicinanza di un “driver” di stampante a “ring-0” (il kernel, nell’architettura x86).

L’unica soluzione sicura (dal punto di vista della sicurezza) è quella di offrire istruzioni agli utenti per stampare utilizzando le loro impostazioni di paesaggio nei loro dialoghi di stampa. Usando i CSS, puoi creare una vista verticale dell’output ottimizzato in quanto tale (cioè “hide” le colonne che non sarebbero adatte, facendo “…” s “per gli elementi di dati lunghi per farli spremere e adattare, ecc. ); ma con un “AVVISO MOLTO apprezzabile: è necessaria la vista orizzontale, selezionare orizzontale quando si stampa” -tipo messaggio; ma è più una preoccupazione UI / UX che tecnica.