0

PHP を使用して、Web アプリケーション用のブラウザ経由で PDF を生成しています。最近、クライアントが Web サーバーを Apache に変更したため、この機能が機能しなくなりました。PDF を生成する代わりに、ブラウザーは PDF をテキストとして表示しています。これは、Content-Type (「application/pdf」に設定されている) を無視していたのと同じです。実際、ソース コードで Content-Type を設定する行にコメントを付けることで、問題をシミュレートすることに成功しました。

どこで何を探すべきかについてのアイデアが必要です。どんな助けも大歓迎です:)

4

2 に答える 2

2

PHP を介して PDF ファイルを生成するため、次のヘッダーを追加してみてください。

$file_default = 'default filename you want to appear when the user downloads.pdf';
$file_location = '/path/to/file.pdf';
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.$file_default);
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Transfer-Encoding: binary');
header('Content-Length: ' . filesize($file_location));
ob_clean();
flush();
readfile($file_location);
于 2012-08-27T14:56:17.760 に答える
0

表示するのではなく、ApacheにPDFコンテンツをダウンロードさせる必要があると思います:

これをチェックしてください:http://www.thingy-ma-jig.co.uk/blog/06-08-2007/force-a-pdf-to-download

于 2012-08-27T14:43:17.020 に答える