Использование выходного буфера будет собирать только данные, отправленные на стандартный вывод после ob_start
и перед ob_get_clean
. Ваш код был сломан, так как похоже, вы пытаетесь установить переменную php $contents
в html, а затем собирая то, что.
Результат, когда вы запустили $contents .= ob_get_clean();
, устанавливали на это значение, которое вы тогда передавали как html
в mPDF, чтобы сделать PDF-файл. Недопустимый html.
$content='<html>
<body style="padding-top: 0px">
<page>
my html content
</page><body>something</body><html>'
Кроме того, использование .-
является добавление двух строк вместе. Поскольку вы хотите, чтобы $content
содержал действительный html, это делало ошибки.
Приведенное ниже описание гарантирует, что (действительный html) содержимое собирается в $content
, так как оказывается, что это ваш намерение.
function getInvoice($conn,$uid,$id,$invoice_no) {
ob_start();
$content='<html>
<head>
<link rel="stylesheet" href="//classes.gymate.co.in/assets/bower_components/uikit/css/uikit.almost-flat.min.css" media="all">
<link rel="stylesheet" href="../assets/css/main.min.css" media="all">
<style>body{font-family:\'roboto\'; .md-card {box-shadow: none; } .uk-width-small-3-5 {width: 40%;}</style>
</head>
<body style="padding-top: 0px">
<page>
my html content
</page><body>' . "something" . '</body><html>';
echo $content;
$content = ob_get_clean();
include("../plugins/mpdf/mpdf.php");
$mpdf=new mPDF('utf-8', 'A4','','',10,10,5,5,5,5);
$mpdf->SetFont('roboto');
$mpdf->SetHTMLFooter('<p style="padding-top: 18px; font-size: 12px;"></p><p style="text-align:right; font-size: 12px;">Page {PAGENO} of {nbpg}</p></p>');
//$stylesheet = file_get_contents('../assets/css/main.min.css');
$mpdf->WriteHTML($stylesheet,1);
$mpdf->writeHTML($content);
$mpdf->Output("pdf-save-data/reciept.pdf","F");
echo "PDF File Created";
}
Удалить все PHP начальный и конечный тег до и после переменной $ контента. Внутренняя переменная удаляет теги PHP и использует конкатенацию. – Naga