Il est rare que les gens veuillent imprimer les problèmes”TNGD”, j’ai donc été surpris lorsque Lauri Reinhardt, qui nous aide avec le support, m’a transmis un message d’un lecteur demandant s’il y avait un moyen d’imprimer le numéro de courrier électronique de”TNGD”avec toutes les images. Aucun de nous n’avait jamais essayé de faire une telle chose, mais le lecteur avait tout à fait raison: l’impression d’un numéro”TNGD”ou son exportation au format PDF entraînait des cases vides à la place des images.
« TNGD » #1648 dans le PDF dans l’aperçu : aucune image n’est en cours de chargement.
La modification du paramètre de protection de l’activité de messagerie de Mail n’a fait aucune différence, et les images s’affichaient correctement dans le message lui-même : ce n’était pas lié au chargement. contenu distant. Encore plus déroutant était le fait que Mimestream, que j’utilise avec Gmail, souffrait du même problème, mais uniquement sous macOS 12 Monterey, pas sous macOS 13 Ventura. L’impression à partir de l’interface Web de Gmail a également bien fonctionné.
Un regard sur la source brute de nos problèmes a tout de suite révélé une preuve irréfutable : un attribut loading=”lazy”pour chaque balise IMG dans les articles. Les bannières des sponsors en haut du numéro n’avaient pas cet attribut, et elles apparaissaient bien dans les PDF. Curieux, je me suis tourné vers le développeur de Mimestream, Neil Jhaveri, qui travaillait sur Mail chez Apple. Il a dit que Mail génère une vue Web hors écran, attend que la partie”charger”du document arrive, puis”imprime”. Mais loading=”lazy”fait que les images ne se chargent que lorsqu’elles défilent dans la vue, ce qui ne se produit jamais avec l’impression. Mimestream a partagé le problème, du moins à Monterey, car il utilise WebKit pour l’impression, tout comme Mail. Neil a recommandé de supprimer l’attribut loading=”lazy”car il ne pensait pas que les images (du moins celles avec des attributs width et height) empêcheraient la page de s’afficher jusqu’à ce qu’elles soient chargées de toute façon.
Au cours de ces conversations, Lauri est tombé sur une solution de contournement qui a du sens dans le contexte de l’explication de Neil. Elle a postulé que les images étaient peut-être trop grandes pour être chargées, alors elle a essayé de les réduire avec l’option Mise à l’échelle dans la boîte de dialogue Imprimer, ce qui a provoqué l’affichage d’au moins certaines images. J’ai fait des tests et j’ai découvert que si je changeais le pourcentage de mise à l’échelle à 99%, certaines images se chargeraient, mais elles seraient floues, et d’autres resteraient vides. Cependant, si je modifiais plus sérieusement le pourcentage de mise à l’échelle, par exemple à 87 %, puis que je faisais défiler l’intégralité de l’aperçu du document, toutes les images apparaîtraient nettes dans le PDF résultant, même si je remettais plus tard la mise à l’échelle à 100 %. Vraisemblablement, demander à la boîte de dialogue Imprimer de mettre à l’échelle la sortie a forcé WebKit à charger toutes les images, leur permettant d’apparaître.
Lorsque j’ai demandé à notre développeur Eli Van Zoeren de supprimer cet attribut loading=”lazy”de les balises IMG, il a noté que WordPress l’insérait automatiquement, il a donc ajouté un filtre pour le supprimer des versions e-mail de nos problèmes. (Son code ajoute les bannières des sponsors au problème séparément, c’est pourquoi ils n’ont pas cet attribut.) J’étais ravi de tester le correctif avec le numéro de la semaine prochaine, seulement pour être déçu de découvrir que le problème n’avait pas disparu. Il s’est avéré qu’après qu’Eli ait filtré loading=”lazy”, WordPress l’a remplacé par un attribut au son similaire decoding=”async”. Après une autre série de Whack-an-Attribute, le problème a disparu pour de bon.
“TNGD”#1649 en PDF dans l’Aperçu : les images se sont chargées correctement
Ainsi, bien que je ne recommande pas d’imprimer les problèmes”TNGD”, nous ne les formatons pas pour l’impression, et ils’ll consommera pas mal de papier-vous verrez au moins les images maintenant. Fait intéressant, les deux captures d’écran ci-dessus ont des pages vierges supplémentaires à la fin. Je ne sais pas pourquoi Mail les ajoute, mais je recommande de les supprimer. Choisissez Fichier > Exporter au format PDF, ouvrez le fichier dans Aperçu, sélectionnez les pages vierges (et toutes les autres pages inutiles) dans la barre latérale et supprimez-les avant l’impression.
Je doute fort que de nombreuses personnes aient été affectées par ce problème, mais au moins un lecteur”TNGD”sera plus heureux, et avec de la chance, d’autres qui rencontrent un problème similaire trouveront cet article et trouveront comment le résoudre plus rapidement.