PDFビューアのダウンロードボタンが機能しない問題

質問

⚠️ この事例は公開されてから1年以上経過しています。 情報が古い可能性がありますので、ご注意ください。

🕓 事例公開日 : 2025-03-11

【背景】

勤務表照会画面でPDF帳票を出力する際に、ダウンロードに関するトラブルが発生している。



1. 事象

症状の説明:

勤務表照会画面で帳票出力ボタンを押すとPDFビューアが表示されるが、そのビューア画面でダウンロードボタンを押すと保存先指定画面までは進むものの、その後ダウンロードが完了しない。一方で、印刷ボタンを押してPDF保存を選択した場合は正常にダウンロードできる。

発生環境:

・Google Chrome、Microsoft Edgeの両方で発生
・開発環境(Accel-Mart Plus)でのみ発生
・ローカル環境や他の環境では正常に動作

2. 発生条件

・勤務表照会画面からのPDF帳票出力時
・PDFビューア画面でのダウンロードボタン使用時
・Chrome、Edgeブラウザでの操作時
・ネットワーク環境やブラウザ拡張機能の影響は確認済み(無関係)

回答

1. 原因

技術的な原因:

ChromeおよびEdgeブラウザの仕様により、特定の条件下でPDFビューアからのダウンロードが失敗する問題です。

技術的要因の分析:

・HTTPメソッドがPOSTで送信される → ブラウザがダウンロード処理を適切に実行できない
・Cache-Controlヘッダにno-storeが含まれる → ダウンロード時に参照すべきキャッシュが存在しない状態になる
・Content-Dispositionヘッダのdisposition-typeがinlineまたは未指定 → ブラウザがファイル保存処理を正しく認識できない
・ChromiumベースのブラウザでPDF表示 → 上記条件が組み合わさることでダウンロード機能が無効化される

根本的な要因:

ChromiumベースのブラウザにおけるPDFビューアの仕様制限により、POSTメソッドとキャッシュ制御の組み合わせでダウンロード機能が制限されることが根本原因です。

2. 対応方法

回避方法:

PDFビューア画面で印刷ボタンを押し、印刷設定でPDF保存を選択することでファイルをダウンロードできます。

参考情報:

SafariやFirefoxなどのChrome・Edge以外のブラウザでは同様の事象は発生しません。ただし、クライアント要件については以下のドキュメントをご確認ください。 intra-mart Accel Platform 2024 Autumn(Jasmine) リリースノート - クライアント要件

3. 原因究明に至るまでの調査方法

1. 事象の再現確認(複数ブラウザでの検証)
2. ネットワーク環境の影響調査(テザリング経由での確認)
3. ブラウザ拡張機能の影響確認(全拡張機能無効化テスト)
4. HTTPリクエスト・レスポンスヘッダの詳細分析
5. 他機能との比較調査(正常動作するPDFビューアとの差分確認)
6. ブラウザ仕様に関する技術情報の調査と検証
この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
Powered by Zendesk