Coreパッケージ概要
Core · LGPL-3.0Coreパッケージ(yeeefang/tcpdf-next)は、TCPDF-Nextエコシステムの基盤です。PDF 2.0ドキュメント生成に必要なすべてが含まれています。
概要一覧
| 項目 | 値 |
|---|---|
| PHPソースファイル | 148 |
| モジュール | 16 |
| テスト | 908+ |
| アサーション | 28,881+ |
| PHPStanレベル | 8 |
| エントリーポイント | Document::create() |
| ライセンス | LGPL-3.0-or-later |
エントリーポイント
すべてのドキュメントは Document::create() から始まります:
use Yeeefang\TcpdfNext\Core\Document;
$pdf = Document::create()
->setTitle('My Document')
->addPage()
->setFont('Helvetica', '', 12)
->cell(0, 10, 'Hello World')
->save('output.pdf');Document クラスは final であり、PdfDocumentInterface を実装しています。その機能は12個のコンポーザブルトレイトによって提供されます — 詳細は設計思想をご覧ください。
モジュールマップ
| モジュール | 名前空間 | ファイル数 | ドキュメント |
|---|---|---|---|
| Core | Core\ | 6 | ドキュメント |
| Contracts | Contracts\ | 7 | APIリファレンス |
| ValueObjects | ValueObjects\ | 5 | 値オブジェクト |
| Support | Support\ | 1 | APIリファレンス |
| Content | Content\ | 6 | テキスト出力 |
| Typography | Typography\ | 14 | タイポグラフィ、フォント |
| Graphics | Graphics\ | 19 | カラー、グラフィックス、画像 |
| Layout | Layout\ | 6 | レイアウト |
| Html | Html\ | 8 | HTMLレンダリング |
| Form | Form\ | 5 | フォーム |
| Barcode | Barcode\ | 12 | バーコード |
| Navigation | Navigation\ | 11 | ナビゲーション |
| Accessibility | Accessibility\ | 3 | タグ付きPDF |
| Security | Security\ | 14 | 暗号化、署名 |
| Writer | Writer\ | 8 | 出力 |
機能
テキスト&タイポグラフィ
Unicode、BiDi(双方向テキスト)、CJK、アラビア語整形、ハイフネーション。TTF/OTF/Type1/CFFフォントのサブセット化。14種類の標準PDFフォントを内蔵。
グラフィックス
図形(線、矩形、円、楕円、多角形、星形、矢印、曲線)、グラデーション(線形、放射状、Coonsパッチメッシュ、Gouraud三角メッシュ)、パターン塗りつぶし、SVG/EPS解析、画像サポート(PNG、JPEG、WebP、AVIF)。
HTMLレンダリング
組み込みHTMLパーサーがdiv、p、h1-h6、table(colspan/rowspan)、リスト、インラインスタイルをサポートしています。完全なCSS3(Flexbox、Grid、Webフォント)については、Artisanパッケージをご利用ください。
バーコード
1D:Code 128、EAN-8/13、UPC-A/E、Code 39/93、GS1-128、IMBなど。2D:QRコード(ISO 18004)、DataMatrix(ISO 16022)、PDF417(ISO 15438)。
セキュリティ
SASLprep対応のAES-256暗号化(AESV3 Rev 6)。PAdES B-Bデジタル署名(可視/非可視)。RFC 3161タイムスタンプクライアント。
フォーム
AcroFormフィールド:テキスト、チェックボックス、ラジオボタン、リストボックス、コンボボックス、ボタン。フォームのフラット化。
ナビゲーション
ブックマーク、内部/外部リンク、名前付きデスティネーション、アノテーション、目次、ファイル添付、JavaScript。
出力
ファイル保存、インライン表示、ダウンロード、文字列バッファ。大規模ドキュメント向けのストリーミング出力。プログレッシブWeb表示のためのリニアライゼーション。再現可能なビルドのための決定論的モード。