генерировать PDF по ссылке PHP - PullRequest
0 голосов
/ 21 декабря 2018
include('MPDF57/mpdf.php');


$html.= "Here I shoud have to call a php Generated html file named 'report_pdf.php'";
$mpdf=new mPDF('c', 'A4-L');
$mpdf->WriteHTML($html);
$mpdf->SetDisplayMode('fullpage');
// $mpdf->SetOrientation('L');

$mpdf->Output();

В переменной «Код выше в HTML» я хочу вызвать файл PHP, который генерирует коды HTML. Примечание. Не с помощью file_get_contents()

Ответы [ 3 ]

0 голосов
/ 21 декабря 2018

Вы можете использовать буферизацию вывода ob_start () / ob_end_clean () .

Заменить:

$html.= "Here I shoud have to call a php Generated html file named 'report_pdf.php'";

С:

ob_start();
include('report_pdf.php');
$html .= ob_end_clean();

Хотя это зависит от того, как структурирован файл report_pdf.php (что ему нужно или что нужно сделать) и что вы подразумеваете под "Сгенерированный html-файл с именем 'report_pdf.php'"

0 голосов
/ 21 декабря 2018

Пожалуйста, попробуйте ниже код, он работает для меня.Но я использовал TCPDF

$pdf=new mPDF('c', 'A4-L');
$pdf->AddPage();

        // FETCH HTML
        ob_start();
        include_once(CONTENT_PATH."filename.php");
        $rpcontent=ob_get_contents();
        ob_end_clean();
        // FETCH HTML

$htmlcontent = $rpcontent;

// output the HTML content
$pdf->writeHTML($htmlcontent, true, 0, true, 0);
$pdf->lastPage();

$pdf->Output($pdf_file, "I"); // I for sending the file inline to the browser
$pdf->Output(REPORT_PATH.test.pdf, "F"); //F for saving output to file 
0 голосов
/ 21 декабря 2018

Если вы не можете использовать file_get_contents, может быть, вы можете использовать CURL для этого, например:

$ch = curl_init("https://example.com/report_pdf.php");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
$content = curl_exec($ch);
curl_close($ch);

Переменная $content будет содержать HTML-код в случае успешного вызова.

...