LinuxでlibHaruを使ったPDF生成を行う

記事タイトルとURLをコピーする

前回のlibHaruを使ったPDFの生成はMac OS X上での作業でしたので、今回はサーバサイド、CentOS 5.2上でlibHaruを使ったPDF生成をしてみます。

インストール

まず、gccとPHPがインストールされていない場合はあらかじめインストールしておきます。PHPはmbstringモジュール、開発用パッケージ、PEARも必要となるので、php-develとphp-pearもインストールします。

# yum -y install gcc php php-mbstring php-devel php-pear

次に、libHaruのビルドに必要なzlibとlibpngの2つのライブラリをインストールします。

# yum -y install zlib zlib-devel libpng libpng-devel

準備が整ったら、libHaruのソースコードを取得してビルドおよびインストールを行います。

# wget http://libharu.org/files/libharu-2.1.0.tar.gz
# tar xvf libharu-2.1.0.tar.gz
# cd libharu-2.1.0
# ./configure
# make
# make install
# make clean

libHaruのインストールが完了したら、前回と同様にPECLのharuモジュールをインストールします。

# pecl install haru
downloading haru-1.0.0.tgz ...
Starting to download haru-1.0.0.tgz (23,336 bytes)
........done: 23,336 bytes
4 source files, building
running: phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20050922
Zend Extension Api No:   220051025
Please provide the prefix of libharu installation [autodetect] : /usr/local

libHaruのインストール先を尋ねられるので、上記のように/usr/localと入力します。

Build process completed successfully
Installing '/var/tmp/pear-build-root/install-haru-1.0.0//usr/lib/php/modules/haru.so'
install ok: channel://pecl.php.net/haru-1.0.0
You should add "extension=haru.so" to php.ini

設定

ビルドが完了すると/usr/lib/php/modules/haru.soが生成されるので、/etc/php.iniに以下の内容を追加します。

extension=haru.so

使用例

前回と同様のコードを作成して、実行してみます。

useJPEncodings();

// 日本語フォントを利用する
$doc->useJPFonts();

// ドキュメントに新しいページを追加する
$page = $doc->addPage();

// ページのサイズと向きを設定する
$page->setSize(HaruPage::SIZE_A4, HaruPage::LANDSCAPE);

// 明朝体をCP932エンコーディングで利用する
$font = $doc->getFont('MS-Mincyo', '90ms-RKSJ-H');

// フォントのサイズを設定する
$page->setFontAndSize($font, 60);

// 塗の色を設定する
$page->setRGBFill(0, 0, 0);

// 文字を出力する
$page->beginText();
$page->textOut(210, 270, mb_convert_encoding('テストです。', 'SJIS-win', 'UTF-8'));
$page->endText();

// 結果をPDFファイルに保存する
$doc->save('./test.pdf');

今回は明朝体を使ってみました(フォント名の指定はMincyoとします)。

libharu

というわけで、Linuxの場合も実に簡単に日本語PDFを生成することができました。