下面的代码使用将Html内容转换为PDF文件。
$dompdf = new DOMPDF();
$dompdf->set_paper(array(0,0,450,306));
$dompdf->load_html($html);
$dompdf->render();
$output = $dompdf->output();
file_put_contents($pdf_path, $output);但是它根据html内容生成2-3页。我只想把它限制在单个页面上,跳过剩下的内容。
发布于 2016-03-17 18:33:08
最简单的方法是渲染到图像。GD适配器允许您指定要呈现的页面。
dompdf 0.6.2或更高版本:将DOMPDF_PDF_BACKEND设置为"GD“,它只呈现文档的第一页。
dompdf 0.7.0或更高版本:$dompdf->set_option('pdfBackend', 'GD');。此版本呈现所有页面,并允许您指定要输出/流的页面(默认为发送第一页)。
如果您真的只需要将第一页呈现为PDF格式,那就更困难了。虽然从技术上讲,只有dompdf才能做到这一点,但实际上我倾向于完全呈现PDF,然后使用外部库提取第一页。
例如,使用利伯尔盖夫,您可以这样做:
use iio\libmergepdf\Merger;
use iio\libmergepdf\Pages;
use Dompdf\Dompdf;
$m = new Merger();
$dompdf = new Dompdf();
$dompdf->load_html('...');
$dompdf->render();
$m->addRaw($dompdf->output(), new Pages('1'));
file_put_contents('onepager.pdf', $m->merge());(只适用于dompdf 0.7.0,但0.6.2的代码几乎相同)
https://stackoverflow.com/questions/35432760
复制相似问题