一个文档中的页面大小不同

问题描述 投票:0回答:1

我使用DOMPDF来创建PDF文档。它运作良好,但该文件有4页,都是A4的大小。

例如:

Page 1 = Intro
Page 2 = Big table with alot of information
Page 3 = Outro
Page 4 = Logo

对于第1,3和4页,A4尺寸很好。对于第2页,我想将页面大小更改为A3。

我希望有人可以帮助我。

php pdf dompdf
1个回答
0
投票

Dompdf尚不支持此类功能。要实现这样的功能,您需要使用Dompdf单独渲染每个段,然后使用外部库(如libmergepdf(或some other method))将它们组合在一起。

当然,这假设您可以轻松地将文档分成单独的HTML文件。

一些(伪ish)代码:

<?php
use Dompdf\Dompdf;
use iio\libmergepdf\Merger;
use iio\libmergepdf\Pages;

$dompdf = new Dompdf();
$dompdf->loadHtml("a4section.html");
$dompdf->setPaper("a4");
$dompdf->render();
file_put_contents('a4section.pdf', $dompdf->output());
unset($dompdf);

$dompdf = new Dompdf();
$dompdf->loadHtml("a3section.html");
$dompdf->setPaper("a3");
$dompdf->render();
file_put_contents('a3section.pdf', $dompdf->output());

$merger = new Merger;
$merger->addIterator(['a4section.pdf', 'a4section.pdf']);
$createdPdf = $merger->merge();
?>

使用单个HTML文档对此类功能有相关的增强请求,但没有实现的时间表。见https://github.com/dompdf/dompdf/issues/498

© www.soinside.com 2019 - 2024. All rights reserved.