Я пытаюсь отобразить таблицу html в формате PDF, используя MPDF - PDF Library, но в ней отображается сообщение «ошибка загрузки PDF».
То, что я пробовал: -
- Убедитесь, что перед открывающим тегом и после конечного тега PHP нет лишнего пробела.
- Удалены все коды Javascript и CSS на указанной странице c.
- Создана еще одна страница, состоящая только из MDPF-кода для создания и отображения PDF-файла из html.
- Наконец, попробовал другую библиотеку PDF, т.е. dompdf
- Установил плагин для просмотра PDF в Google Chrome Браузер
- Отключил PHP display_errors в wp-config. php файл wordpress
- Использованы ob_start и ob_clean. Но не уверен, что я использовал это правильно
Ничто из вышеперечисленного не сработало для меня, и результаты были такими же
Код ниже: -
require_once __DIR__ . '/vendor/autoload.php';
$mpdf = new \Mpdf\Mpdf();
$sql = "select a.case_id as id, a.remarks ,a.caseNumber,c.fname,a.date,
a.NextDate,a.CaseType, a.courtName from wp_cases a , wp_clients
as c where a.client_id=c.client_id and a.status=1";
if ($results = $wpdb->get_results( $sql))
{
//$echomsg="%PDF-";
$echomsg= "<table style=\"font-family: arial, sans-serif;
border-collapse: collapse;
width: 100%;\" class=\"table\">";
$echomsg.= "<thead style=\"background-color:lightblue;\">
<tr>
<th style=\" border: 1px solid #dddddd; text-align: center;padding: 8px;\">No</th>
<th style=\" border: 1px solid #dddddd; text-align: center;padding: 8px;\">Details</th>
<th style=\" border: 1px solid #dddddd; text-align: center;padding: 8px;\"> Date</th>
<th style=\" border: 1px solid #dddddd; text-align: center;padding: 8px;\"> Client Name</th>
<th style=\" border: 1px solid #dddddd; text-align: center;padding: 8px;\"> Case Number</th>
<th style=\" border: 1px solid #dddddd; text-align: center;padding: 8px;\"> CourtName</th>
<th style=\" border: 1px solid #dddddd; text-align: center;padding: 8px;\"> Case Type</th>
<th style=\" border: 1px solid #dddddd; text-align: center;padding: 8px;\">Next Date</th>
</tr>
</thead>
<tbody>";
//<th style=\" border: 1px solid #dddddd; text-align: left;padding: 8px;\"> delete</th>
$c=1;
foreach ($results as $result)
{
$echomsg.= " <tr>
<th style=\" border: 1px solid #dddddd; text-align: left;padding: 8px;\"> <a href=\"cases?currcase_id=$result->id\">$result->id</a></th>
<td style=\" border: 1px solid #dddddd; text-align: left;padding: 8px;\"> <a href=\"cases?currcase_id=$result->id\">$result->remarks</a></td>
<td style=\" border: 1px solid #dddddd; text-align: left;padding: 8px;\"> <a href=\"cases?currcase_id=$result->id\">$result->date</a></td>
<td style=\" border: 1px solid #dddddd; text-align: left;padding: 8px;\"> <a href=\"cases?currcase_id=$result->id\">$result->fname</a></td>
<td style=\" border: 1px solid #dddddd; text-align: left;padding: 8px;\"> <a href=\"cases?currcase_id=$result->id\">$result->caseNumber</a></td>
<td style=\" border: 1px solid #dddddd; text-align: left;padding: 8px;\"> <a href=\"cases?currcase_id=$result->id\">$result->courtName</a></td>
<td style=\" border: 1px solid #dddddd; text-align: left;padding: 8px;\"> <a href=\"cases?currcase_id=$result->id\">$result->CaseType</a></td>
<td style=\" border: 1px solid #dddddd; text-align: left;padding: 8px;\"> <a href=\"cases?currcase_id=$result->id\">$result->NextDate</a></td>
</tr>";
// <td style=\" border: 1px solid #dddddd; text-align: left;padding: 8px;\"> <a href=\"payment?delpay_id=$result->id\"><button class=\"btn\"><i class=\"fa fa-trash\"></i></button></a></td>
$c+=1;
}
$echomsg.= "</tbody>
</table>";
//ob_start();
//echo $echomsg;
$mpdf->SetTitle('Case');
$mpdf->SetAuthor('Afaf');
$mpdf->SetCreator('Afaf');
$mpdf->SetSubject('Case');
// WRITE HTML
$mpdf->WriteHTML($echomsg);
// OUTPUT, SHOW IN BROWSER BY DEFAULT
$mpdf->Output();
/*$dompdf = new Dompdf();
$dompdf->loadHtml($echomsg);
$dompdf->setPaper('A4', 'landscape');
$dompdf->render();
$dompdf->stream("Cases",array("Attachment"=>0)); */
/*ob_clean();
flush();
header("Content-type:application/pdf");
header("Content-Disposition:attachment;filename='case.pdf'");
exit; */
}
То, что я пробовал, есть в виде комментария в коде.
Редактировать Открыл скачанный PDF с помощью блокнота. Там был следующий код: -
<!DOCTYPE html>
<html dir="rtl" lang="en-US" >
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="profile" href="https://gmpg.org/xfn/11">
<title>Cases – LawyerMgmt</title>
<link rel='dns-prefetch' href='//fonts.googleapis.com' />
<link rel='dns-prefetch' href='//s.w.org' />
<link rel="alternate" type="application/rss+xml" title="LawyerMgmt » Feed" href="https://oursite.com/feed/" />
<link rel="alternate" type="application/rss+xml" title="LawyerMgmt » Comments Feed" href="https://oursite.com/comments/feed/" />
<script type="text/javascript">
window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/12.0.0-1\/svg\/","svgExt":".svg","source":{"wpemoji":"https:\/\/oursite.com\/wp-includes\/
PS: PDF-файл отображается только в браузере Microsoft Edge, но при загрузке с него отображается «Поврежденный файл»
Любая помощь будет принята с благодарностью.