php生成的pdf文件已损坏

php生成的pdf文件已损坏,php,pdf,birt,adobe-reader,Php,Pdf,Birt,Adobe Reader,我有一份以PDF格式生成的BIRT报告。然后从web浏览器中打开报告。但是,在Adobe Reader中打开文件时,我会收到以下错误消息: Adobe Reader无法打开“test.pdf”,因为它不是受支持的文件类型,或者文件已损坏(例如,它作为电子邮件附件发送,未正确解码) 当我从命令行(代码是PHP)运行完全相同的代码(从Schedule()和Search()调用)时,我得到了相同的报告,但Adobe Reader能够打开它。以下是我用于从浏览器读取文件的代码: <?php r

我有一份以PDF格式生成的BIRT报告。然后从web浏览器中打开报告。但是,在Adobe Reader中打开文件时,我会收到以下错误消息:

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

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

是否在生成PDF的页面上使用输出缓冲?我是,但XML有问题。错误是文件过早结束。现在,没有输出缓冲。@bcrusty你在说什么xml?