Solution
<?php
require_once __DIR__ . '/vendor/autoload.php';
$mpdf = new \Mpdf\Mpdf();
$data = file_get_contents('invoice-view.php');
$mpdf->WriteHTML($data);
$mpdf->Output('invoice.pdf', 'D');
?>
Or you get content using CURL function.
<?php
$url="DOMAIN_NAME"."/invoice-view.php";
$timeout = 5;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_NOBODY, 0);
curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $ch , CURLOPT_CONNECTTIMEOUT , $timeout );
$data = curl_exec($ch);
curl_close($ch);
$mpdf->WriteHTML($data);
$mpdf->Output('invoice.pdf', 'D');
?>
using curl Function example
test.php
$params=array('name'=>'XYZ');
$data = file_get_contents_by_curl('http://localhost/test2.php',$params);
$mpdf->WriteHTML($data);
$mpdf->Output('invoice.pdf', 'D');
function file_get_contents_by_curl($url,$params) {
$timeout = 5;
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_NOBODY, 0);
curl_setopt ( $ch, CURLOPT_POSTFIELDS, $params );
curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'POST' );
curl_setopt ( $ch , CURLOPT_RETURNTRANSFER , 1 );
curl_setopt ( $ch , CURLOPT_CONNECTTIMEOUT , $timeout );
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
test2.php
<h1>
Hi,<?php echo $_POST['name'];?></h1>