ページ(HasPages)
ページの追加
php
use Yeeefang\TcpdfNext\Core\Document;
use Yeeefang\TcpdfNext\ValueObjects\PageSize;
use Yeeefang\TcpdfNext\Contracts\Orientation;
$pdf = Document::create()
->addPage() // A4 縦向き(デフォルト)
->addPage(PageSize::Letter()) // USレター
->addPage(PageSize::A3(), Orientation::Landscape) // A3 横向き
->addPage(PageSize::Legal()); // USリーガルページサイズ
PageSize はファクトリメソッドを持つ final readonly 値オブジェクトです:
ISO 216 Aシリーズ
A0()、A1()、A2()、A3()、A4()、A5()、A6()
ISO 216 Bシリーズ
B0()、B1()、B2()、B3()、B4()、B5()
北米規格
Letter()、Legal()、Tabloid()
カスタムサイズ
php
// 幅と高さはポイント単位(1 pt = 1/72 インチ)
$custom = new PageSize(400.0, 600.0, 'custom');
// または名前文字列から
$a4 = PageSize::fromName('A4');向きの切り替え
php
$landscape = PageSize::A4()->landscape();
$portrait = PageSize::A4()->portrait();余白
php
use Yeeefang\TcpdfNext\ValueObjects\Margin;
$pdf->setMargins(Margin::symmetric(15.0, 10.0)) // 上下15mm、左右10mm
->setLeftMargin(20.0)
->setTopMargin(25.0)
->setRightMargin(20.0);ファクトリメソッド:
Margin::uniform(10.0)— 全辺10mmMargin::symmetric(15.0, 10.0)— 上下15mm、左右10mmMargin::zero()— 余白なしnew Margin(top, right, bottom, left)— 明示的指定
自動改ページ
php
$pdf->setAutoPageBreak(true, 20); // 下端から20mmで改ページ
$pdf->setAutoPageBreak(false); // 無効化有効にすると、ページからはみ出すコンテンツは自動的に addPage() を呼び出します。
位置
php
$pdf->setX(50.0); // 水平位置を設定
$pdf->setY(100.0); // 垂直位置を設定
$pdf->setXY(50.0, 100.0); // 両方を設定
$x = $pdf->getX();
$y = $pdf->getY();
$width = $pdf->getPageWidth();
$height = $pdf->getPageHeight();
$margins = $pdf->getMargins(); // Marginオブジェクトを返すページ操作
php
$pdf->movePage(3, 1); // ページ3を位置1に移動
$pdf->copyPage(2); // ページ2を複製
$pdf->deletePage(4); // ページ4を削除ページグループ
独立したページ番号付け(例:章ごと)のためにページをグループ化します:
php
$pdf->startPageGroup();
$groupPageNo = $pdf->getGroupPageNo();ページリージョン
コンテンツが避けるべき矩形領域を定義します:
php
$pdf->addPageRegion(10, 10, 50, 50); // x, y, 幅, 高さ
$regions = $pdf->getPageRegions();
$pdf->removePageRegion(0);
$pdf->setPageRegions($regions);ページ情報
php
$currentPage = $pdf->getPage(); // 現在のページインデックス
$totalPages = $pdf->getNumPages(); // 総ページ数