Skip to content

Format Teks

Mendemonstrasikan seluruh jangkauan format teks: family font, style bold/italic, ukuran poin, warna RGB, alignment via enum Alignment, dan paragraf multi-baris.

Contoh Lengkap

php
<?php

declare(strict_types=1);

require __DIR__ . '/vendor/autoload.php';

use TcpdfNext\Document;
use TcpdfNext\Enums\Alignment;

Document::create()
    ->setTitle('Text Formatting')
    ->addPage()

    // -- Family Font --------------------------------------------------
    ->setFont('helvetica', style: 'B', size: 18)
    ->setTextColor(33, 37, 41)
    ->cell(0, 12, 'Font Families', newLine: true)

    ->setFont('helvetica', size: 12)
    ->cell(0, 8, 'Helvetica -- clean sans-serif', newLine: true)

    ->setFont('times', size: 12)
    ->cell(0, 8, 'Times -- classic serif', newLine: true)

    ->setFont('courier', size: 12)
    ->cell(0, 8, 'Courier -- monospace', newLine: true)

    // -- Style --------------------------------------------------------
    ->setFont('helvetica', style: 'B', size: 18)
    ->cell(0, 16, 'Font Styles', newLine: true)

    ->setFont('helvetica', size: 12)
    ->cell(0, 8, 'Regular text', newLine: true)

    ->setFont('helvetica', style: 'B', size: 12)
    ->cell(0, 8, 'Bold text', newLine: true)

    ->setFont('helvetica', style: 'I', size: 12)
    ->cell(0, 8, 'Italic text', newLine: true)

    ->setFont('helvetica', style: 'BI', size: 12)
    ->cell(0, 8, 'Bold + Italic text', newLine: true)

    // -- Ukuran -------------------------------------------------------
    ->setFont('helvetica', style: 'B', size: 18)
    ->cell(0, 16, 'Font Sizes', newLine: true)

    ->setFont('helvetica', size: 8)
    ->cell(0, 6, '8 pt -- fine print', newLine: true)

    ->setFont('helvetica', size: 12)
    ->cell(0, 8, '12 pt -- body text', newLine: true)

    ->setFont('helvetica', size: 20)
    ->cell(0, 12, '20 pt -- subheading', newLine: true)

    ->setFontSize(28)
    ->cell(0, 16, '28 pt -- heading', newLine: true)

    // -- Warna --------------------------------------------------------
    ->setFont('helvetica', style: 'B', size: 18)
    ->setTextColor(33, 37, 41)
    ->cell(0, 16, 'Text Colors', newLine: true)

    ->setFont('helvetica', size: 12)
    ->setTextColor(220, 53, 69)
    ->cell(0, 8, 'Red (220, 53, 69)', newLine: true)

    ->setTextColor(25, 135, 84)
    ->cell(0, 8, 'Green (25, 135, 84)', newLine: true)

    ->setTextColor(13, 110, 253)
    ->cell(0, 8, 'Blue (13, 110, 253)', newLine: true)

    ->setTextColor(33, 37, 41)

    // -- Alignment ----------------------------------------------------
    ->setFont('helvetica', style: 'B', size: 18)
    ->cell(0, 16, 'Text Alignment', newLine: true)

    ->setFont('helvetica', size: 12)
    ->cell(0, 8, 'Left-aligned (default)', align: Alignment::Left, newLine: true)
    ->cell(0, 8, 'Center-aligned',         align: Alignment::Center, newLine: true)
    ->cell(0, 8, 'Right-aligned',          align: Alignment::Right, newLine: true)

    // -- Paragraf Multi-Baris -----------------------------------------
    ->setFont('helvetica', style: 'B', size: 18)
    ->cell(0, 16, 'Multi-Line Text', newLine: true)

    ->setFont('helvetica', size: 11)
    ->multiCell(
        width:  0,
        height: 7,
        text:   "TCPDF-Next wraps text automatically with multiCell().\n"
              . "Use the Alignment enum for justified, left, center, or right alignment.\n"
              . "Line spacing is controlled by the height parameter.",
        align:  Alignment::Justified,
    )

    ->save(__DIR__ . '/text-formatting.pdf');

echo 'PDF created.' . PHP_EOL;

Konsep Utama

Karakter Style

KarakterArti
(kosong)Regular
BBold
IItalic
BIBold + Italic

setTextColor(r, g, b)

Menerima integer RGB 0--255. Panggil sebelum method penulisan teks apa pun:

php
->setTextColor(13, 110, 253)   // biru

Enum Alignment

NilaiEfek
Alignment::LeftRata kiri (default)
Alignment::CenterRata tengah
Alignment::RightRata kanan
Alignment::JustifiedRata kiri-kanan (hanya multiCell)

cell() vs multiCell()

  • cell() -- satu baris, tanpa wrapping.
  • multiCell() -- membungkus teks dalam lebar yang diberikan dan mendukung justifikasi.

Output

PDF yang dihasilkan berisi satu halaman yang menampilkan tiga family font, empat varian style, empat ukuran, tiga warna, tiga mode alignment, dan paragraf rata kiri-kanan.

Didistribusikan di bawah lisensi LGPL-3.0-or-later.