文字格式化
TCPDF-Next 提供豐富的文字格式化選項,讓您精確控制字型、大小、樣式、顏色與段落排版。本範例涵蓋日常開發中最常用的文字處理技巧。
字型與樣式
基本字型設定
php
<?php
use YeeeFang\TcpdfNext\Document\PdfDocument;
use YeeeFang\TcpdfNext\Document\PageFormat;
use YeeeFang\TcpdfNext\Content\FontStyle;
$pdf = PdfDocument::create()
->setPageFormat(PageFormat::A4)
->build();
$page = $pdf->addPage();
// 指定字型名稱與大小
$page->addText('Helvetica 14pt 字型')
->setPosition(20, 25)
->setFont('Helvetica', size: 14);
$page->addText('Times 12pt 字型')
->setPosition(20, 40)
->setFont('Times', size: 12);
$page->addText('Courier 10pt 等寬字型')
->setPosition(20, 55)
->setFont('Courier', size: 10);粗體、斜體與底線
php
// 粗體
$page->addText('粗體文字')
->setFont('Helvetica', size: 12, style: FontStyle::BOLD);
// 斜體
$page->addText('斜體文字')
->setFont('Helvetica', size: 12, style: FontStyle::ITALIC);
// 底線
$page->addText('底線文字')
->setFont('Helvetica', size: 12, style: FontStyle::UNDERLINE);
// 組合樣式:粗體 + 斜體
$page->addText('粗斜體文字')
->setFont('Helvetica', size: 12, style: FontStyle::BOLD | FontStyle::ITALIC);載入自訂字型
php
// 載入 TrueType 字型
$pdf->addFont('NotoSansTC', '/path/to/NotoSansTC-Regular.ttf');
$pdf->addFont('NotoSansTC', '/path/to/NotoSansTC-Bold.ttf', style: FontStyle::BOLD);
// 使用自訂字型
$page->addText('使用 Noto Sans 繁體中文字型')
->setFont('NotoSansTC', size: 12);文字顏色
RGB 與十六進位顏色
php
use YeeeFang\TcpdfNext\Graphics\Color;
// RGB 格式
$page->addText('紅色文字')
->setColor(Color::rgb(220, 50, 50));
$page->addText('綠色文字')
->setColor(Color::rgb(40, 160, 80));
// 十六進位格式
$page->addText('橙色文字')
->setColor(Color::hex('#FF6600'));
$page->addText('紫色文字')
->setColor(Color::hex('#8E44AD'));CMYK 顏色(印刷用途)
php
// CMYK 適合需要精確色彩控制的印刷品
$page->addText('CMYK 洋紅色文字')
->setColor(Color::cmyk(0, 100, 0, 0));段落與多行文字
段落排版
php
// 建立段落,指定寬度後系統自動換行
$page->addParagraph(
'這是一段較長的文字內容。TCPDF-Next 會根據指定的寬度自動進行換行處理,'
. '您不需要手動計算何時應該斷行。系統會考慮字元寬度與空白字元,'
. '在最適當的位置進行分行。'
)
->setPosition(20, 80)
->setWidth(170)
->setFont('Helvetica', size: 11)
->setLineHeight(1.5);文字對齊
php
use YeeeFang\TcpdfNext\Content\Alignment;
// 靠左對齊(預設)
$page->addParagraph('靠左對齊的文字')
->setWidth(170)
->setAlignment(Alignment::LEFT);
// 置中對齊
$page->addParagraph('置中對齊的文字')
->setWidth(170)
->setAlignment(Alignment::CENTER);
// 靠右對齊
$page->addParagraph('靠右對齊的文字')
->setWidth(170)
->setAlignment(Alignment::RIGHT);
// 兩端對齊
$page->addParagraph('兩端對齊會自動調整字間距,讓每行的左右邊緣都對齊。')
->setWidth(170)
->setAlignment(Alignment::JUSTIFY);背景色與框線
php
// 帶背景色的文字區塊
$page->addParagraph('帶有淺藍色背景的提示文字')
->setPosition(20, 160)
->setWidth(170)
->setBackgroundColor(Color::hex('#EBF5FB'))
->setPadding(8);
// 帶左側框線的重點文字
$page->addParagraph('重點提示:善用格式化可以大幅提升文件的可讀性與專業感。')
->setPosition(20, 185)
->setWidth(170)
->setBackgroundColor(Color::hex('#E8F8F5'))
->setBorderLeft(Color::hex('#1ABC9C'), width: 3)
->setPadding(8);多語言支援
php
// 繁體中文
$page->addText('繁體中文:歡迎使用 TCPDF-Next')
->setFont('cid0ct', size: 12);
// 日文
$page->addText('日本語:TCPDF-Nextへようこそ')
->setFont('cid0jp', size: 12);
// 韓文
$page->addText('한국어: TCPDF-Next에 오신 것을 환영합니다')
->setFont('cid0kr', size: 12);
// 阿拉伯文(RTL 支援)
$page->addText('مرحبا بكم في TCPDF-Next')
->setFont('aealarabiya', size: 12)
->setRTL(true);完整範例
php
<?php
require_once __DIR__ . '/vendor/autoload.php';
use YeeeFang\TcpdfNext\Document\PdfDocument;
use YeeeFang\TcpdfNext\Document\PageFormat;
use YeeeFang\TcpdfNext\Content\FontStyle;
use YeeeFang\TcpdfNext\Content\Alignment;
use YeeeFang\TcpdfNext\Graphics\Color;
$pdf = PdfDocument::create()
->setTitle('文字格式化範例')
->setAuthor('TCPDF-Next')
->setPageFormat(PageFormat::A4)
->build();
$page = $pdf->addPage();
// 標題
$page->addText('文字格式化展示')
->setPosition(20, 25)
->setFont('Helvetica', size: 24, style: FontStyle::BOLD)
->setColor(Color::hex('#2C3E50'))
->setAlignment(Alignment::CENTER);
// 分隔線
$page->drawLine(20, 40, 190, 40)
->setColor(Color::hex('#3498DB'))
->setWidth(0.5);
// 內文段落
$page->addParagraph(
'這份文件展示了 TCPDF-Next 提供的各種文字格式化功能。'
. '透過簡潔的 API,您可以精確控制字型、顏色、對齊方式等各項屬性,'
. '輕鬆建立專業水準的 PDF 文件。'
)
->setPosition(20, 48)
->setWidth(170)
->setFont('Helvetica', size: 11)
->setLineHeight(1.5)
->setAlignment(Alignment::JUSTIFY);
$pdf->save('text_formatting.pdf');