Gmailに添付したPDFが途中から表示されない件

Pythonで生成したPDFファイルをメールに添付して送っていたところ、2025年5月頃から受信側で表示がおかしくなる現象が発生。確認したところ、Gamilの画面(ページ)上で閲覧すると埋め込んだ画像以降(画像も)が表示されていなかった。Acrobat Readerで開いたときや、Gmail で開いて印刷プレビューを表示した時もちゃんと表示されたので『Gmail』固有の問題っぽいことまでは特定しました。

ちなみに添付したPDFはPython+reportlabで生成していて、reportlabのバージョンを上げてみたりしても解決せず。

原因?

明確な原因はちゃんと現時点では分かっていなくて、いろいろ試した中で『インライン埋め込みがだめそう』という推測までです。reportlab の drawInlineImage で画像を埋め込んでいたところを drawImage に書き換えたらなんか表示されるようになったので。

そこに至るまで、PNG を JPEG にしてみたり、Pillow でモードをRGB に明示してみたり、予めサイズを調整したりしたけど解決せず、結果として上記の変更が効いた感じです。

Xなんかを見てみるとChromeがネイティブでのPDF表示に対応していたりするようで、そんな中でGmailの処理も変わったけどインライン埋め込みの画像の処理がまだ不十分だった可能性はあるのかなと思います。

対応

上に書いたように、PDF 生成のときに画像を埋め込むメソッドを drawInlineImage から drawImage に変えました。元々、drawInlineImage に Pillow の Image を渡していたのですが、drawImage はこれに対応していないみたいで、元の画像ファイルのパスを渡すように変更しました。そのほかに width や height も指定していたので、そのまま同じように使えました。