TCPDF – PDF 出力時に「~のウェブページは一時的に停止しているか、新しいウェブアドレスに移動した可能性があります。」エラーが表示された場合の対処方法についてご紹介いたします。
※参考サイトは最下部にまとめております。
目次
障害内容
運用中のシステムにて、スマホから TCPDF – PDF 出力すると 画面が真っ白になる…との報告を受けました。
※プログラム更新等は行っておらず ある日突然発生いたしました。
ブラウザ別の応答状況
当該ページをブラウザ別に閲覧すると、以下の通りでした…
- Safari … 画面が真っ白になる
- FireFox … 画面が真っ白になる または 読み込み中の状態から応答が止まる
- Chrome 「~のウェブページは一時的に停止しているか、新しいウェブアドレスに移動した可能性があります。」+「ERR_INVALID_RESPONSE」メッセージが表示される。
※PC 用のブラウザからは問題なく閲覧できていました。
ERR_INVALID_RESPONSE / ERR_FAILED
エラー詳細メッセージは “ERR_INVALID_RESPONSE” が表示される場合と “ERR_FAILED” が表示される場合と2種類ありました。
output() メソッド
TCPDF – output() メソッドの第2引数は、通常は「I : ブラウザに出力する(既定)」を選択しますが、「S: PDFドキュメントの内容を文字列として出力する。」で試してみると、特にプログラムがエラーを起こしている様子はありませんでした。
D: ブラウザで(強制的に)ダウンロードする。
TCPDF – output() メソッドの第2引数を “D: ブラウザで(強制的に)ダウンロードする。” に変更することで、スマホからの閲覧は問題なく正常に実行されるようになりました。
ただ、output() メソッドの下に HTML などを書いてますと、PDF ファイルのダウンロードよりも先に HTML が処理されてしまっておかしなことになるので、exit() を書いておく必要があります。
こんな感じです…
$objPDF->Output("hogehoge.pdf", "D");
exit();
参考になりましたら幸いです。
参考サイト
Output : TCPDF マニュアル(勝手訳)
http://tcpdf.penlabo.net/method/o/Output.html
SNS開発18年で2つのSNSを開発・運用中の当社が、あなたのアイデアを形にするお手伝いをします。