TidBITS の号を印刷したいという人は滅多にいません。ですから、サポートを担当してくれている Lauri Reinhardt から、TidBITS のメール版を画像付きで印刷する方法があるかと尋ねる読者からのメッセージが転送されてきたときは、本当に驚きました。私たち二人ともそんなことを試したことはありませんでしたが、読者の言う通りでした。TidBITS の号を印刷したり PDF にエクスポートしたりすると、画像の代わりに空白のボックスが表示されてしまうのです。

メールの「メールアクティビティの保護」設定をいじっても変化はなく、メッセージ自体には画像が表示されました。リモートコンテンツの読み込みとは関係ありませんでした。さらに混乱したのは、Gmailで使用しているMimestreamでも同じ問題が発生していたことです。ただし、macOS 12 Monterey でのみ発生し、macOS 13 Ventura では発生しませんでした。GmailのWebインターフェースからの印刷も問題なく動作しました。
問題の生のソースを確認すると、すぐに決定的な証拠が浮かび上がりました。記事内のloading="lazy"
すべてのIMG
タグに属性が必要なのです。問題のトップにあるスポンサーバナーにはその属性がありませんでした。しかし、PDF では問題なく表示されていました。気になったので、Apple で Mail に携わっていた Mimestream の開発者 Neil Jhaveri に問い合わせました。彼によると、Mail はオフスクリーンの Web ビューを生成し、文書の「読み込み」部分が到着するのを待ってから「印刷」するそうです。しかし、loading="lazy"
画像はスクロールして表示されたときにだけ読み込まれ、印刷では決して読み込まれません。Mimestream も、少なくとも Monterey ではこの問題を共有していました。Mail と同様に、印刷には WebKit を使用しているからです。Neil は、画像 (少なくとも 属性と属性をloading="lazy"
持つもの) は、いずれにせよ読み込まれるまでページのレンダリングをブロックするとは思わなかったため、その属性を削除することを推奨しました。width
height
これらの会話の中で、Lauri は Neil の説明の文脈で意味を成す回避策を偶然見つけました。彼女は、画像が大きすぎて読み込めないのではないかと考え、印刷ダイアログの [拡大縮小] オプションで画像を縮小してみたところ、少なくとも一部の画像が表示されるようになりました。私がテストしたところ、拡大縮小率を 99% に変更すると、一部の画像は読み込まれますが、ぼやけてしまい、他の画像は空白のままになりました。ただし、拡大縮小率を 87% など、もっと大幅に変更してからドキュメント プレビュー全体をスクロールすると、後で拡大縮小率を 100% に戻しても、結果の PDF ですべての画像が鮮明に表示されます。おそらく、印刷ダイアログで出力の拡大縮小を指示すると、WebKit がすべての画像を読み込まざるを得なくなり、画像が表示されるようになったと考えられます。
開発者のEli Van Zoerenにタグloading="lazy"
からその属性を削除するよう依頼したところIMG
、WordPressが自動的に挿入していることに気づき、メール版の問題からその属性を削除するフィルターを追加してくれました。(彼のコードはスポンサーバナーを問題に別途追加するため、その属性が欠落しているのです。)翌週の問題で修正をテストすることに興奮していましたが、問題は解決していないことがわかり、がっかりしました。Eliが をフィルターで除外した後loading="lazy"
、WordPressが似たような属性 に置き換えてしまったのですdecoding="async"
。もう一度属性削除を繰り返した結果、問題は完全に解消されました。

TidBITS 号の印刷はお勧めしません。印刷用にフォーマットされていないので、かなりの紙を消費します。それでも、少なくとも画像を見ることはできます。興味深いことに、上のスクリーンショットはどちらも、最後に余分な空白ページがあります。Mail がなぜこれを追加するのかは分かりませんが、削除することをお勧めします。「ファイル」>「PDF にエクスポート」を選択し、プレビューでファイルを開き、サイドバーで空白ページ(およびその他の不要なページ)を選択して、印刷前に削除してください。
この問題の影響を受ける人がそれほど多くいるとは思えないが、少なくとも 1 人の TidBITS 読者は幸せになるだろうし、運が良ければ、同様の問題に遭遇した他の人々もこの記事を見つけて、より早く解決方法を見つけられるだろう。