È raro che le persone desiderino stampare i numeri di”TNGD”, quindi sono rimasto sorpreso quando Lauri Reinhardt, che ci aiuta con il supporto, mi ha inoltrato un messaggio da un lettore chiedendo se c’era un modo per stampare il numero di posta elettronica di”TNGD”con tutte le immagini. Nessuno di noi aveva mai provato a fare una cosa del genere, ma il lettore aveva perfettamente ragione: stampare un numero”TNGD”o esportarlo in PDF risultava in caselle vuote al posto delle immagini.
“TNGD”#1648 in PDF in Anteprima—nessuna immagine viene caricata
Armeggiare con l’impostazione Proteggi attività di posta di Mail non ha fatto alcuna differenza e le immagini sono state visualizzate correttamente nel messaggio stesso—non era correlato al caricamento contenuto remoto. Ancora più confuso è stato il fatto che Mimestream, che utilizzo con Gmail, soffriva dello stesso problema, ma solo in macOS 12 Monterey, non in macOS 13 Venture. Anche la stampa dall’interfaccia web di Gmail ha funzionato bene.
Uno sguardo alla fonte grezza dei nostri problemi ha rivelato subito una pistola fumante: un attributo loading=”lazy”per ogni tag IMG negli articoli. I banner degli sponsor nella parte superiore del numero mancavano di quell’attributo e apparivano bene nei PDF. Incuriosito, mi sono rivolto allo sviluppatore di Mimestream, Neil Jhaveri, che lavorava su Mail in Apple. Ha detto che Mail genera una visualizzazione web fuori schermo, attende l’arrivo della parte”caricata”del documento, quindi”stampa”. Ma loading=”lazy”fa sì che le immagini vengano caricate solo quando vengono visualizzate, cosa che non accade mai con la stampa. Mimestream ha condiviso il problema, almeno a Monterey, perché utilizza WebKit per la stampa, proprio come Mail. Neil ha consigliato di eliminare l’attributo loading=”lazy”perché non pensava che le immagini (almeno quelle con gli attributi width e height) avrebbero comunque impedito la visualizzazione della pagina fino al caricamento.
Durante queste conversazioni, Lauri si è imbattuta in una soluzione che ha senso nel contesto della spiegazione di Neil. Ha postulato che forse le immagini erano troppo grandi per essere caricate, quindi ha provato a ridurle con l’opzione Ridimensionamento nella finestra di dialogo Stampa, che ha causato la visualizzazione di almeno alcune immagini. Ho fatto dei test e ho scoperto che se avessi cambiato la percentuale di ridimensionamento al 99%, alcune immagini sarebbero state caricate, ma sarebbero state sfocate, e altre sarebbero rimaste vuote. Tuttavia, se modificassi la percentuale di ridimensionamento in modo più serio, ad esempio all’87%, e poi scorressi l’intera anteprima del documento, tutte le immagini apparirebbero nitide nel PDF risultante, anche se successivamente ripristinassi il ridimensionamento al 100%. Presumibilmente, chiedere alla finestra di dialogo Stampa di ridimensionare l’output ha costretto WebKit a caricare tutte le immagini, consentendo loro di apparire.
Quando ho chiesto al nostro sviluppatore Eli Van Zoeren di rimuovere l’attributo loading=”lazy”da i tag IMG, ha notato che WordPress lo ha inserito automaticamente, quindi ha aggiunto un filtro per rimuoverlo dalle versioni email dei nostri numeri. (Il suo codice aggiunge i banner dello sponsor al problema separatamente, motivo per cui mancano di quell’attributo.) Ero entusiasta di testare la correzione con il problema della settimana successiva, solo per essere deluso nello scoprire che il problema non era scomparso. Si è scoperto che, dopo che Eli ha filtrato loading=”lazy”, WordPress lo ha sostituito con un attributo dal suono simile decoding=”async”. Dopo un altro round di Whack-an-Attribute, il problema è scomparso per sempre.
“TNGD”#1649 in PDF in Anteprima: le immagini sono state caricate correttamente
Quindi, anche se sconsiglio di stampare numeri”TNGD”, non li formattiamo per la stampa e consumerà un bel po’di carta, almeno ora vedrai le immagini. È interessante notare che entrambi gli screenshot sopra hanno pagine vuote extra alla fine. Non so perché Mail li aggiunga, ma consiglio di rimuoverli. Scegli File > Esporta in PDF, apri il file in Anteprima, seleziona le pagine vuote (e qualsiasi altra pagina non necessaria) nella barra laterale ed eliminale prima della stampa.
Dubito fortemente che molte persone ne siano state interessate da questo problema, ma almeno un lettore”TNGD”sarà più felice e, con un po’di fortuna, altri che si imbatteranno in un problema simile troveranno questo articolo e capiranno come risolverlo più rapidamente.