繁体   English   中英

DOMPDF生成的pdf结果搞砸了

[英]DOMPDF generated pdf result getting messed up

这是我生成pdf的以下代码

$values = $Viewer->getPrintData($_GET['id']);

if($values->num_rows > 0){
    $html_data = "";
    while($row = $values->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;
        }

        $html_data .= "
                     <html>
                          <head>
                                <style>
                                     *
                                          {
                                                font-family: 'oswald';
                                          }
                                     @page
                                          {
                                                margin: 10px;
                                          }
                                     body, table
                                          {
                                                margin: 10px;
                                          }
                                </style>
                          </head>
                          <body>
                                <br />
                                <center>
                                     <h2>
                                          Birth Certificate Details
                                     </h2>
                                </center>
                                <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: ".$row['fathers_uid']."<br />
                                                     Mother's Full Name: ".$row['mothers_name']."<br />
                                                     Mother's Aadhar ID: ".$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 />
                                                     Religion: ".$row['religion']."<br /><br />
                                                     Taluka: ".$Viewer->getTalukaDetail($row['taluka_id'])."<br />
                                                     City: ".$Viewer->getCityDetail($row['city_id'])."<br />
                                                     Pincode: ".$Viewer->getPincodeDetail($row['pincode_id'])."
                                                     <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 / Person: ".$Viewer->getBirthPlaceOrPerson($row['id_of_birth_place_person'])."<br />
                                                     Mother's Delivery Type: ".$Viewer->getDeliveryType($row['id_of_delivery_type'])."<br />
                                                     Child's Weight: ".$row['child_weight_while_birth']."<br />
                                                     Pregnancy Duration: ".$row['pregnancy_duration']."
                                                </td>
                                          </tr>
                                     </table>
                                </div>
                          </body>
                     </html>";
    }

    require "../dompdf/dompdf_config.inc.php";
    $dompdf = new DOMPDF();
    $dompdf->load_html($html_data);
    $dompdf->render();
    $dompdf->stream("PD_.pdf");
}

我必须在单个页面上打印总共29个条目。 问题是当第一个结果打印在页面上时,从病房的第二页开始就没问题,结果是混乱的,如下图所示

打印第1页

打印第1页

在病房的第2页生成的打印是这样的

打印从病房的第2页生成

请有人帮忙。

我也遇到了dompdf的问题,最后我们决定使用https://github.com/KnpLabs/snappy - 非常适合创建新的pdf,甚至在将html转换为pdf时效果更好。

    $template = $this->twig->loadTemplate($data['template']);
    $rendered = $template->renderBlock('bodyHtml', ['data' => $data['data']]);

    return $this->snappy->getOutputFromHtml($message);

也许这对你来说会更好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM