1

我有一个以 PDF 格式生成的 BIRT 报告。然后将从网络浏览器中打开报告。但是,在 Adob​​e Reader 中打开文件时,我收到以下错误消息:

Adobe Reader 无法打开“test.pdf”,因为它不是受支持的文件类型或文件已损坏(例如,它作为电子邮件附件发送且未正确解码)。

当我从命令行(代码在 PHP 中)运行完全相同的代码(从 Schedule() 和 Search() 调用)时,我得到了相同的报告,但 Adob​​e 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