pdf在生成DOMPDF后无法打开

时间:2017-02-01 12:11:01

标签: php dompdf php-5.6

这是我的打印代码:

<?php

if ($_GET['id'] == "print")
{

include ("../config.php");
include ("../classes.php");

$result = $Adder->getPrintData($_POST['value']);

if ($result->num_rows > 0)
{
    $data = "";
    $html_data = "";
    while ($row = $result->fetch_assoc())
        {
        switch ($row['birth_type_id'])
            {
        case 1:
            $hospital_id = $row['hospital_id'];
            $home_detail = "None";
            $other_detail = "None";
            $birth_formatted_type = "Birth at : " . $Viewer->getHospitalName($row['hospital_id']);
            break;

        case 2:
            $hospital_id = "None";
            $home_detail = $row['home_detail'];
            $other_detail = "None";
            $birth_formatted_type = "|| Birth at Home || <br />Home Details Are : " . $row['home_detail'];
            break;

        case 3:
            $hospital_id = "None";
            $home_detail = "None";
            $other_detail = $row['other_detail'];
            $birth_formatted_type = "|| Birth at Other Location || <br />Details Are : " . $row['other_detail'];
            break;

        default:
            $hospital_id = "None";
            $home_detail = "None";
            $other_detail = "None";
            break;
            }

   $data.= "<div style='width: 100%;'>
   <table>
      <tr>
         <td style='width: 350px;'>
            <u>
               <h3>Baby Related Details</h3>
            </u>
            Registration Number: {$row['registration_number']}<br />
            Birth Date: {$row['birth_date']}<br />
            Birth Time: {$row['birth_time']}<br /><br />
            Gender: {$Viewer->getGender($row['gender_id']) }<br />
            Baby's Full Name: {$row['baby_name']}<br />
            Father's Full Name: {$row['fathers_name']}<br />
            Father's Aadhar ID: {$Viewer->getAadhar($row['fathers_uid']) }<br />
            Mother's Full Name: {$row['mothers_name']}<br />
            Mother's Aadhar ID: {$Viewer->getAadhar($row['mothers_uid']) }<br />
            While Baby's Birth Parents Address: {$row['while_baby_birth_parents_address']}<br />
            Parent's Permanent Address: {$row['parents_permanent_address']}<br />
         </td>
         <td style='width: 350px;'>
            <u>
               <h3>Parents Details</h3>
            </u>
            {$birth_formatted_type}<br />
            Category: {$Viewer->getCategoryDetail($row['category_id']) }<br />
            Religion: {$Viewer->getReligionDetail($row['religion']) }<br /><br />
            Taluka: {$Viewer->getTalukaDetail($row['taluka_id']) }<br />
            City: {$Viewer->getCityDetail($row['city_id']) }<br />
            <br /><br />
            Father's Education Level: {$Viewer->getEducationLevel($row['id_of_fathers_education_level']) }<br />
            Mother's Education Level: {$Viewer->getEducationLevel($row['id_of_mothers_education_level']) }<br />
            Father's Occupation: {$Viewer->getOccupationDetail($row['id_of_fathers_occupation']) }<br />
            Mother's Occupation: {$Viewer->getOccupationDetail($row['id_of_mothers_occupation']) }
            <u>
               <h3><br />Other Details</h3>
            </u>
            Mother's Marriage Age: {$row['mothers_marriage_age']}<br />
            While Baby's Birth Mother's Age: {$row['while_birth_mothers_age']}<br />
            Alive Deliveries Upto Now: {$row['total_alive_deliveries_uptill_date']}<br /><br />
            Birth Place: {$Viewer->getBirthPlaceOrPerson($row['id_of_birth_place']) }<br />
            Birth Person: {$Viewer->getBirthPlaceOrPerson($row['id_of_birth_person']) }<br />
            Mother's Delivery Type: {$Viewer->getDeliveryType($row['id_of_delivery_type']) }<br />
            Child's Weight: {$row['child_weight_while_birth']} Kg<br />
            Pregnancy Duration: {$row['pregnancy_duration']} Weeks
         </td>
      </tr>
   </table>
</div>

";
        }

    $html_data = "<html>
    <head>
        <style>
            *
            {
            font-family: 'titillium';
            }
            @page
            {
            margin: 10px;
            }
            body, table
            {
            margin: 10px;
            }
        </style>
    </head>
    <body>
        <br />
        <center>
            <h2>
                Birth Certificate Details
            </h2>
        </center>
        " . $data . "
    </body>
</html>";

    require "../dompdf/dompdf_config.inc.php";

    $dompdf = new DOMPDF();
    $dompdf->set_paper('A4', 'landscape');
    $dompdf->load_html($html_data);
    $dompdf->render();
    $dompdf->stream("PD444607_Date_" . $_POST['value'] . ".pdf");
    }
}

使用不同的文件大小生成pdf,但是当我打开pdf时,它会显示错误消息,如

  

无法打开pdf

当我正在进行echo时,如下所示

echo $html_data;

每个数据都是可见的,它没有显示任何错误。我已经调试了每个级别的代码。只有在生成pdf时,它才会打开。

这是变量$result;

中的数据
public function getPrintData($value)
{
    $query = "SELECT * FROM certificate_details WHERE created LIKE '%$value%' ";
    $connection = $this->establish_connection();
    $result = $connection->query($query);
    $connection->close();
    return $result;
}

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。问题是我在执行PHP脚本之前设置了标题和图标来生成pdf。所以我认为这是作为标题捕捉。所以我删除了那个&amp;问题解决了。