Skip to content

Perbandingan & Panduan Deployment

Tidak yakin paket mana yang Anda butuhkan? Gunakan wizard interaktif di bawah, atau jelajahi skenario deployment dan matriks keputusan untuk menemukan setup ideal Anda.

Temukan Setup Sempurna Anda

1
Tipe proyek
2
Versi PHP
3
Framework
4
HTML ke PDF
5
Fitur Pro

Tipe proyek

Buat Setup Anda

Generator konfigurasi

Pilih package dan opsi untuk membuat file konfigurasi yang siap pakai.

Core selalu disertakan

Base image
composer require yeeefang/tcpdf-next

Skenario Deployment

Lingkungan hosting yang berbeda memiliki kemampuan yang berbeda. Berikut yang terbaik untuk masing-masing:

🏠

Shared Hosting

Performa
Paket yang Disarankan
Core Core

Akses PHP terbatas, tanpa shell. Hanya Core dengan font dasar. Tidak ada Chrome/RoadRunner.

🖥

VPS (PHP-FPM)

Performa
Paket yang Disarankan
Core CoreArtisan ArtisanLaravel Laravel

Kontrol server penuh. Install Chrome untuk HTML→PDF. Cocok untuk kebanyakan aplikasi.

🖥

VPS + RoadRunner

RoadRunner
Performa
Paket yang Disarankan
Core CoreArtisan ArtisanLaravel Laravel

Worker tetap jalan, tidak ada cold start. Throughput naik 3-7x lipat.

Server Dedicated

Performa
Paket yang Disarankan
Core CoreArtisan ArtisanPro ProLaravel Laravel

Resource penuh. Ideal untuk fitur Pro (PAdES, PDF/A-4, HSM).

Dedicated + RoadRunner

RoadRunner
Performa
Paket yang Disarankan
Core CoreArtisan ArtisanPro ProLaravel Laravel

Throughput maksimal. 9,000+ docs/s dengan 4 workers.

Kubernetes / Docker

RoadRunner
Performa
Paket yang Disarankan
Core CoreArtisan ArtisanPro ProSymfony Symfony

Horizontal scaling. RoadRunner sebagai worker process. Production-ready.

Performa: PHP-FPM Standar vs RoadRunner

RoadRunner menyimpan aplikasi PHP Anda di memori sebagai persistent worker, menghilangkan cold start dan meningkatkan throughput secara drastis.

PHP-FPM standar vs RoadRunner

▲ Makin tinggi makin bagus
PHP-FPM RoadRunner
Dokumen sederhana
390 docs/s
2,605 docs/s
6.7x lebih cepat
Faktur
294 docs/s
1,960 docs/s
6.7x lebih cepat
Laporan 100 halaman
14 docs/s
98 docs/s
7.0x lebih cepat
4 Workers
1,500 docs/s
9,221 docs/s
6.1x lebih cepat

PHP 8.5.3 + OPcache + JIT · Docker 4 CPUs / 16 GB · i9-13900K · Median dari 20 kali jalan

Kapan menggunakan RoadRunner

RoadRunner direkomendasikan ketika Anda membutuhkan throughput tinggi (ratusan PDF per menit) atau latensi rendah (waktu respons sub-milidetik). Untuk aplikasi web tipikal yang membuat beberapa PDF per request, PHP-FPM standar sudah cukup baik.

Matriks Keputusan Use Case

Paket mana yang harus Anda instal untuk use case spesifik Anda?

\u{2705} Disarankan\u{26AA} Opsional Tidak berlaku
Kasus PenggunaanCore CoreArtisan ArtisanPro ProLaravel LaravelSymfony SymfonyCI4 CI4Adaptation Adaptation
Buat invoice & laporan
E-commerce (HTML→PDF)
Dokumen aksesibel (PDF/UA)
Tanda tangan digital (PAdES)
Migrasi dari TCPDF lama
API throughput tinggi
Kepatuhan arsip (PDF/A-4)
Dokumen banyak barcode

Kompatibilitas Paket

Sebagian besar paket bekerja bersama dengan mulus, dengan satu pengecualian:

KombinasiKompatibelCatatan
Core + Paket apa punYaCore selalu diperlukan
Artisan + Framework apa punYaChrome CDP berfungsi dengan semua framework
Pro + Laravel/Symfony/CIYaFitur enterprise penuh di framework apa pun
Pro + AdaptationTidakAdaptation membungkus API TCPDF legacy; Pro memperluas API TCPDF-Next modern. Pilih satu pendekatan.
Adaptation + FrameworkYaGunakan Adaptation untuk migrasi kode legacy dalam framework Anda

Pertimbangan CJK & Font

14 Font Dasar built-in (Helvetica, Times, Courier, dll.) hanya mendukung karakter Latin. Jika dokumen Anda membutuhkan teks China, Jepang, atau Korea, Anda harus:

  1. Embed font TrueType -- Gunakan setFont() dengan font TTF yang mendukung character set Anda
  2. Konfigurasi path font -- Atur variabel lingkungan TCPDF_FONTS_DIR atau gunakan API konfigurasi
  3. Pertimbangkan ukuran file -- Font CJK biasanya 5-15 MB masing-masing; gunakan font subsetting untuk mengurangi ukuran PDF
php
// Contoh: Menggunakan font CJK
$pdf = Document::createStandalone()
    ->addPage()
    ->setFont('/path/to/NotoSansCJK-Regular.ttf', '', 12)
    ->cell(0, 10, '你好世界 こんにちは 안녕하세요');

Font CJK yang Direkomendasikan

  • Noto Sans CJK -- Family font CJK open-source dari Google (gratis)
  • Source Han Sans -- Padanan dari Adobe (gratis)
  • Keduanya mendukung China Sederhana, China Tradisional, Jepang, dan Korea dalam satu file font.

Batasan Shared Hosting

Di shared hosting, Anda biasanya tidak bisa:

  • Menginstal Chrome/Chromium (tidak bisa pakai paket Artisan)
  • Menjalankan proses long-lived (tidak bisa pakai RoadRunner)
  • Menginstal ekstensi PHP (terbatas pada yang tersedia)

Setup yang direkomendasikan untuk shared hosting:

bash
composer require yeeefang/tcpdf-next

Gunakan Core saja dengan parser HTML built-in untuk kebutuhan HTML-ke-PDF dasar. Untuk rendering HTML pixel-perfect, pertimbangkan upgrade ke VPS.

Langkah Selanjutnya

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