Home > 未分類 > TCPDFを使ってみる

TCPDFを使ってみる

トラックバックURL:

UTF-8が使えるPHPのPDFライブラリを探していた時に
TCPDFというのがあると知り、色々と調べていたところ
「フォント埋め込みされることが原因で、ファイルサイズが大きくなってしまう」
というコメントがたくさん見つかりました。

そこで、マニュアルを読んだところ
フォント埋め込みをせずにPDF出力する方法があると分かったので
ちょこっとご紹介。

1.ダウンロード

TCPDFの本家サイトから最新のソースをダウンロードする
http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf

2.フォント設定

デフォルトでは日本語が使えないようなので、今回はMS明朝を使えるようにしてみます。

①ms-mincho.ufmファイルを生成する

C:\WINDOWS\Fonts にある MSMINCHO.TTF を ms-mincho.ttf にリネームして、
TCPDFのルートディレクトリ配下にある [TCPDF_ROOT]\fonts\utils に配置して、下記コマンドを実行します。

[コマンドプロンプト]
> cd [TCPDF_ROOT]\fonts\utils
>ttf2ufm.exe -a -F ms-mincho.ttf

②ms-mincho.phpファイルを生成する

ms-mincho.ttf ファイルと ms-mincho.ufm ファイルから ms-mincho.php ファイルを生成します。

[コマンドプロンプト]
>php -q makefont.php ms-mincho.ttf ms-mincho.ufm 0

※ここでmakefont.php の第3引数に 0 をセットすると、
PDFファイルにフォント埋め込みを行わなくなります。
何も指定しない場合は、フォント埋め込みが行われファイルサイズは大きくなります。

③ms-mincho.phpファイルを編集する

先ほど作成した ms-mincho.php ファイルを編集します。

[テキストエディタ]
//フォントタイプを変更する。
$type=’cidfont0′;
//デフォルトのフォント幅を設定する。
$dw=1000;
$name=’MS-Mincho’;
$desc=array(’Ascent’=>859,’Descent’=>-141,’CapHeight’=>27,
‘Flags’=>32,’FontBBox’=>’[-82 -137 996 859]‘,
‘ItalicAngle’=>0,’StemV’=>70,’MissingWidth’=>600);
$up=-94;
$ut=47;
$cw=array(【長すぎるので省略】);
$diff=”;
//不要なので削除する
//$enc=”;
//$ctg=”;
//$file=”;
//下記を追加する
$enc=’UniJIS-UTF16-H’; //UniJIS-UTF16-V にしたら縦書きフォントになる
$cidinfo=array(’Registry’=>’Adobe’, ‘Ordering’=>’Japan1′,’Supplement’=>5);
include(dirname(__FILE__).’/uni2cid_aj16.php’);

④ms-mincho.phpファイルを移動する

[コマンドプロンプト]
>move ms-mincho.php ..\

⑤ms-mincho.phpファイルをコピーする

移動したファイルをボールド・イタリック・ボールドイタリック用にコピーして別名で保存する。

[コマンドプロンプト]
> cd [TCPDF_ROOT]\fonts
>copy ms-mincho.php ms-minchob.php
> copy ms-mincho.php ms-minchoi.php
> copy ms-mincho.php ms-minchobi.php

3.使ってみる

[テキストエディタ]
//TCPDFクラスを読み込む
require_once(‘TCPDF.php’);
//TCPDFインスタンス化
$pdf = new TCPDF(’L');
//ページ追加
$pdf->AddPage();
//フォント指定&描画
$pdf->SetFont(’ms-mincho’, ”, 16);
$pdf->SetXY(15, 20);
$pdf->Cell(100, 10, ‘TCPDF設定完了!’, 0, 0);
//出力
$pdf->Output();

tcpdf.JPG

これでファイルサイズがぐぐんと小さくなりましたね。

TCPDFはかなりのペースでリリースが行われているので
どんどん良いものになっていっています。要チェックですね。

この記事へのコメント: 0件

コメントをどうぞ
上記情報を記憶する(次回から入力の手間が省けます)

トラックバック+ピンバック: 0件

Home > 未分類 > TCPDFを使ってみる

ページ
メタ情報

Page Top