web-dev-qa-db-ja.com

横向きと縦向きの両方のDOMPDFページの向き

HTMLで形成されたシート3。各シートはテーブルです。最後の一葉が風景の中にあった状態でPDFに変換するものが必要です!ポートレートで動作し、アルバムのシートの1つを作成する方法....わかりません...

dompdfは現在これを行うことができません。 dompdfを引き続き使用する場合は、異なる方向のセクションを個別に生成してから、外部アプリケーションを使用してそれらを組み合わせる必要があります。

複数のPDFドキュメントを組み合わせるためのアプリはたくさんあります。過去に私は pdftk を使用しました。これは実行可能ファイルなので、インストールできる必要があります/ run it on your system。次に例を示します。

use Dompdf\Dompdf;

$dompdf = new Dompdf();
$dompdf->load_html('...');
$dompdf->render();
file_put_contents($dompdf->output(), 'pdf1.pdf');
unset($dompdf);

$dompdf = new DOMPDF();
$dompdf->set_paper('letter', 'landscape');
$dompdf->load_html('...');
$dompdf->render();
file_put_contents($dompdf->output(), 'pdf2.pdf');

exec('pdftk A=pdf1.pdf B=pdf2.pdf cat A1 B2 output combined.pdf');

私はそれを使用していませんが、 libmergepdf はまともな解決策のように見えます。

use iio\libmergepdf\Merger;
use Dompdf\Dompdf;

$m = new Merger();

$dompdf = new Dompdf();
$dompdf->load_html('...');
$dompdf->render();
$m->addRaw($dompdf->output());
unset($dompdf);

$dompdf = new DOMPDF();
$dompdf->set_paper('letter', 'landscape');
$dompdf->load_html('...');
$m->addRaw($dompdf->output());
$dompdf->render();

file_put_contents('combined.pdf', $m->merge());
11
BrianS