###前提・実現したいこと
EdgeでのPDFプレビュー表示について質問させて頂きます。
PHPで構築された管理画面から登録された情報を、mPDFを用いてPDFファイルとして出力するページで
帳票をプレビュー表示する処理を作成しています。
PHPからheaderでのリダイレクトでPDFファイル生成のページを開いていますが、
FireFox、Chrome、IE、Safariでは想定通りにプレビュー表示されるのですが、
Edgeではプレビュー表示されず、ファイルの保存を促すダイアログが表示されます。
ちなみに、PHPからheaderで開くPDF生成ページを、javascriptからwindow.openで開いた場合は、
Edgeでもプレビュー表示できていました。
管理画面で入力された内容を一旦DBに登録した後で、PDF出力を行う場合がありますので、
DB登録後にheaderでのリダイレクトを行っております。
###該当のソースコード
PHP
1$pdf_file = "http://○○○.com/print_pdf.php?id=".$id; 2header('Content-Type: application/pdf'); 3header('Content-disposition: inline; filename="print_pdf"'); 4header('Cache-Control: maxage=3600'); 5header('Pragma: public'); 6readfile($pdf_file);
あと、JQueryでの処理で、フォームに入力された情報をPOSTで情報を送るためSUBMITし、
同じくmPDFを用いたPDF生成ページを子画面でプレビュー表示する処理を作成しています。
この処理もFireFox、Chrome、IE、Safariでは想定通りにプレビュー表示されるのですが、
Edgeでは空白の画面が開き、それとは別にファイルの保存を促すダイアログが表示されます。
###該当のソースコード
jQuery
1window.open("","preview_pdf","width=900,height=980"); 2$("#mainform").attr('target', "preview_pdf"); 3// Submit先を一旦変更 4$("#mainform").attr('action', "pdf_preview.php"); 5$("#mainform").submit(); 6// Submit先を元へ戻す 7$("#mainform").attr('action', "forminput.php");
どのようにしたらEdgeでもプレビュー表示されるか、アドバイスをよろしくお願いします。
###補足情報(言語/FW/ツール等のバージョンなど)
Microsoft Edge 38.14393.0.0
PHP 5.4
Smarty・フレームワークは未使用
mPDF 5.7