使用标题输出PDF文件

时间:2013-02-19 01:25:06

标签: php pdf

我可以使用以下代码在excel文件中输出PHP表:

<?php 

require("aacfs.php");

header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=Cancelled Flight Summary_sortbydate.xls");
header("Pragma: no-cache");
header("Expires: 0");

echo "<center>Ayala Aviation Corporation</center>";
echo "<center><b>Cancelled Flight Summary</b></center>";
echo "<center>For the period ________</center></br></br>";

$result=mysql_query("select * from reservation where status='Cancelled' order by bdate");   
echo "<center></br></br><table border=1 class='imagetable'><tr>
    <th>Flight Date</th> 
    <th>Client</th>
    <th>Group Code</th>
    <th>Itinerary</th>
    <th>ETD</th>
    <th>Aircraft</th>
    <th>ETA</th>
    <th>Reservation No.</th>
    <th>Last Status</th>
    <th>Remarks</th>
    <th>Reserved By</th>
    </tr>";
if(mysql_num_rows($result)>0)
{
while($row=mysql_fetch_array($result))
{
    $rvno=$row['reservno'];
    $yr=(string) date("Y");
    $rn=$yr."-".$rvno;
    echo"<tr><td>".$row['fdate']."</td><td>".$row['cliename']."</td><td>".$row['grpcode']."</td><td>".$row['itinerary']."</td><td>".$row['etd']."</td><td>".$row['acode']."</td><td>".$row['eta']."</td><td>".$rn."</td><td>".$row['lstatus']."</td><td>".$row['remarks']."</td><td>".$row['adminid']."</td></tr>";

}
}
else
    { ?>
        <tr><td colspan="11" style="text-align:center; color:#FF0000; font-size:16px;">*No Data Available!*</td></tr>
        <?php
    }
        ?><?php



?>

我试过了,

<?php 

require("aacfs.php");

header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=Cancelled Flight Summary_sortbydate.pdf");
header("Pragma: no-cache");
header("Expires: 0");

echo "<center>Ayala Aviation Corporation</center>";
echo "<center><b>Cancelled Flight Summary</b></center>";
echo "<center>For the period ________</center></br></br>";

$result=mysql_query("select * from reservation where status='Cancelled' order by bdate");   
echo "<center></br></br><table border=1 class='imagetable'><tr>
    <th>Flight Date</th> 
    <th>Client</th>
    <th>Group Code</th>
    <th>Itinerary</th>
    <th>ETD</th>
    <th>Aircraft</th>
    <th>ETA</th>
    <th>Reservation No.</th>
    <th>Last Status</th>
    <th>Remarks</th>
    <th>Reserved By</th>
    </tr>";
if(mysql_num_rows($result)>0)
{
while($row=mysql_fetch_array($result))
{
    $rvno=$row['reservno'];
    $yr=(string) date("Y");
    $rn=$yr."-".$rvno;
    echo"<tr><td>".$row['fdate']."</td><td>".$row['cliename']."</td><td>".$row['grpcode']."</td><td>".$row['itinerary']."</td><td>".$row['etd']."</td><td>".$row['acode']."</td><td>".$row['eta']."</td><td>".$rn."</td><td>".$row['lstatus']."</td><td>".$row['remarks']."</td><td>".$row['adminid']."</td></tr>";

}
}
else
    { ?>
        <tr><td colspan="11" style="text-align:center; color:#FF0000; font-size:16px;">*No Data Available!*</td></tr>
        <?php
    }
        ?><?php



?>

下载PDF文件但无法打开。

是否真的不可能像在上面的代码中一样输出PDF文件中的PHP表格?或者我在第二段代码上做错了什么?这种方式对我来说最简单,所以我很想知道这是不可能的(如果是,那么为什么?)或者可能。请指出一个简单的替代方法,以便在不可能的情况下实现这一点,因为我是通过PHP生成外部文件的新手。任何帮助都可以。感谢。

1 个答案:

答案 0 :(得分:1)

你不能只是回应HTML并希望它会神奇地制作PDF二进制文件,因为你发送了一个PDF标题。查看PHP PDF库(http://php.net/manual/en/book.pdf.php)或其他基于PHP的库来创建PDF。

同样,我感到震惊的是,使用Excel标题输出HTML将创建一个可用的Excel文件。它必须通过与Excel的幸运兼容性来实现。如果要以更可靠的方式创建Excel文件,则应使用真实的Excel库(或创建与Excel兼容的CSV文件)。