1

PDF 形式で生成されている BIRT レポートがあります。その後、レポートは Web ブラウザーから開かれます。ただし、ファイルを Adob​​e Reader で開くと、次のエラー メッセージが表示されます。

サポートされているファイル タイプではないか、ファイルが破損しているため (たとえば、電子メールの添付ファイルとして送信され、正しくデコードされなかったなど)、Adobe Reader は 'test.pdf' を開くことができませんでした。

コマンド ラインからまったく同じコード (Schedule() および Search() から呼び出される) を実行すると (コードは PHP にあります)、同じレポートが表示されますが、Adobe Reader で開くことができます。ブラウザからファイルを読み取るために使用しているコードは次のとおりです。

<?php
  require "Search.php";
  require "Schedule.php";

  Schedule( $_POST['period'], mktime(23, 59, 59, $_POST['month'] + 1,
                                     $_POST['day'] + 1, $_POST['year']) );

  Search( $param1, $param2, $param3, $param4 );

  header('Content-type: application/pdf');
  header('Content-Disposition: attachment; filename="test.pdf"');
  readfile('/home/web/test.pdf');
?>

Schedule() と Search() は両方ともテストされており、問題は発生していません。私はまだPHPに慣れていないので、まだ知らないだけで見逃しているものはありますか? この問題に関するヘルプは大歓迎です。

-さびた

更新: 結局のところ、呼び出されていたファイルを更新する cron ジョブを見つけました。これにより、ファイルが更新されて役に立たなくなり、その後修正されました。

4

0 に答える 0