TCPDF
PDF ドキュメントの作成と編集のための PHP ライブラリ
PDF ドキュメント、フォント サブレット、JPEG または PNG および SVG 画像を生成するためのオープン ソース PHP API ネイティブ サポート、1D および 2D バーコードのサポート。
TCPDF はオープン ソースの PHP ライブラリであり、ソフトウェア開発者が外部依存なしで PHP コマンドを使用して PDF ドキュメントを生成する機能を提供します。 TCPDF の優れた点は、UTF-8 Unicode および右から左へ記述する言語を完全にサポートする唯一の PHP ベースのライブラリであると考えられていることです。
このライブラリは、PDF ドキュメントの作成、フォント サブレット、画像とグラフィックのサポート、JPEG、PNG、および SVG 画像のネイティブ サポート、1D および 2D バーコードのサポート、PDF ページのヘッダーとフッターの管理、暗号化と復号化のサポート、PDF など、いくつかの重要な機能をサポートしています。注釈、目次、テキスト レンダリング モード、カスタム ページ フォーマット、カスタム マージン、ページ単位など。
このライブラリは、Joomla、Drupal、Moodle、phpMyAdmin など、最も人気のある PHP ベースの CMS およびアプリケーションに含まれているため、世界で最も人気があり、最も使用されている PHP ライブラリの 1 つと見なされています。
TCPDF の概要
TCPDF は packagist.org で入手できるので、composer を使用してこのライブラリとすべての依存関係をダウンロードできます。スムーズなインストールのために、次のコマンドを使用してください。
TCPDF コマンドのインストール
Install Package TCPDF
PHP ライブラリを使用して PDF ドキュメントを生成する
無料の PHP ライブラリである TCPDF には、ソフトウェア プログラマーが独自の PHP アプリケーション内でプログラムによって PDF ドキュメントを作成できる機能が含まれています。 utf-8 エンコーディングと、Right-To-Left 言語のサポートを使用できます。フォントの種類とサイズの選択、カスタム マージン、測定単位、バーコードの追加、表の追加、ページの挿入、ページの移動、ページの削除など、いくつかの重要な機能。
PHP 経由で PDF ドキュメントを作成する
// Include the main TCPDF library (search for installation path).
require_once('tcpdf_include.php');
// create new PDF document
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
// set document information
$pdf->setCreator(PDF_CREATOR);
$pdf->setAuthor('Nicola Asuni');
$pdf->setTitle('TCPDF Example 038');
$pdf->setSubject('TCPDF Tutorial');
$pdf->setKeywords('TCPDF, PDF, example, test, guide');
PHP による PDF ファイルでのバーコードのサポート
オープン ソースの PHP ライブラリは、数行の PHP コードを使用して、PDF ドキュメント内にバーコードを含める機能を提供します。開発者は、さまざまな種類の 1D バーコード (CODE 39、CODE 128 AUTO、EAN 8、UPC-E、MSI、CODABAR、CODE 11、RMS4CC) と 2D バーコード (QR コード、Datamatrix ECC200、および PDF417) を簡単に使用できます。また、バーコードの高さの設定、バーコードの配置、マージンの設定、チェックサムの適用などの機能もサポートしています。
PHP 経由で PDF ドキュメントを作成する
$pdf->SetFont('helvetica', '', 10);
// define barcode style
$style = array(
'position' => '',
'align' => 'C',
'stretch' => false,
'fitwidth' => true,
'cellfitalign' => '',
'border' => true,
'hpadding' => 'auto',
'vpadding' => 'auto',
'fgcolor' => array(0,0,0),
'bgcolor' => false, //array(255,255,255),
'text' => true,
'font' => 'helvetica',
'fontsize' => 8,
'stretchtext' => 4
);
// PRINT VARIOUS 1D BARCODES
// CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9.
$pdf->Cell(0, 0, 'CODE 39 - ANSI MH10.8M-1983 - USD-3 - 3 of 9', 0, 1);
$pdf->write1DBarcode('CODE 39', 'C39', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
// CODE 39 + CHECKSUM
$pdf->Cell(0, 0, 'CODE 39 + CHECKSUM', 0, 1);
$pdf->write1DBarcode('CODE 39 +', 'C39+', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
// CODE 39 EXTENDED
$pdf->Cell(0, 0, 'CODE 39 EXTENDED', 0, 1);
$pdf->write1DBarcode('CODE 39 E', 'C39E', '', '', '', 18, 0.4, $style, 'N');
$pdf->Ln();
PDF にカスタム ヘッダー/フッターを追加する
ヘッダーとフッターは、PDF ドキュメントの非常に便利な部分であり、ユーザーが PDF ファイルを整理して読みやすくするのに役立ちます。オープン ソース ライブラリの TCPDF は、わずか数行の PP コードでカスタム ヘッダーとフッターを PDF ドキュメントに追加する機能を含めることで、開発者の作業を容易にします。ヘッダーとフッターのフォントの設定、マージンの設定、自動改ページ、ヘッダー/フッター内への画像の追加、ページ番号の追加などの機能をサポートしています。
PHP 経由で PDF にカスタム ヘッダー/フッターを設定する
// Extend the TCPDF class to create custom Header and Footer
class MYPDF extends TCPDF {
//Page header
public function Header() {
// Logo
$image_file = K_PATH_IMAGES.'logo_example.jpg';
$this->Image($image_file, 10, 10, 15, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
// Set font
$this->SetFont('helvetica', 'B', 20);
// Title
$this->Cell(0, 15, '<< TCPDF Example 003 >>', 0, false, 'C', 0, '', 0, false, 'M', 'M');
}
// Page footer
public function Footer() {
// Position at 15 mm from bottom
$this->SetY(-15);
// Set font
$this->SetFont('helvetica', 'I', 8);
// Page number
$this->Cell(0, 10, 'Page '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
}
}
目次を作成する
オープン ソースの PHP ライブラリである TCPDF は、アプリケーション内で目次を作成する機能を提供します。目次を使用すると、読者はドキュメントの構造を理解し、探している情報をすばやく見つけることができます。目次を作成するには、TOC 用の新しいページを追加する必要があり、TOC ページに TOC タイトルやその他の要素を書き込むことができます。さまざまな HTML 要素のさまざまなブックマーク レベルのスタイルを簡単に定義することもできます。
PHP 経由で PDF に TOC を追加する方法
// add a new page for TOC
$pdf->addTOCPage();
// write the TOC title
$pdf->SetFont('times', 'B', 16);
$pdf->MultiCell(0, 0, 'Table Of Content', 0, 'C', 0, 1, '', '', true, 0);
$pdf->Ln();
$pdf->SetFont('dejavusans', '', 12);
// add a simple Table Of Content at first page
// (check the example n. 59 for the HTML version)
$pdf->addTOC(1, 'courier', '.', 'INDEX', 'B', array(128,0,0));
// end of TOC page
$pdf->endTOCPage();
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example.pdf', 'I');
PHP ライブラリを介して PDF 注釈を管理する
注釈は、ページの内容を変更せずに PDF ページに追加できるオブジェクトの完全なセットです。さらに、その内容を説明したり、すでに存在するものを拡張したりするのに役立ちます。オープン ソースの PHP ライブラリである TCPDF は、テキスト アノテーション、リンク アノテーション、テキストのマーキング、スタンプ アノテーションなど、さまざまなアノテーションの作成をサポートします。
PHP 経由でテキスト PDF 注釈を追加する
// set font
$pdf->SetFont('times', '', 16);
// add a page
$pdf->AddPage();
$txt = 'Example of Text Annotation.
Move your mouse over the yellow box or double click on it to display the annotation text.';
$pdf->Write(0, $txt, '', 0, 'L', true, 0, false, false, 0);
// text annotation
$pdf->Annotation(83, 27, 10, 10, "Text annotation example\naccented letters test: àèéìòù", array('Subtype'=>'Text', 'Name' => 'Comment', 'T' => 'title example', 'Subj' => 'example', 'C' => array(255, 255, 0)));
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example.pdf', 'I');