Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

PHP::Haruで基本的なPDFを作成する

ライセンス制限が緩く高速でPDFを作成可能なPHPライブラリ「Haru」(1)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2013/05/28 14:00

 PHPでPDFを作成する方法として、Haruを紹介します。Haruの元となっているlibharuは日本人が作成したということもあり、日本語の扱いが考慮されています。しかしながら、日本においてもHaruを使ったPDFの作成方法を紹介したものはあまりなく、使い方が分かりやすいとは言えません。そこで、本記事では例を用いながらその使い方を紹介していきます。

目次

はじめに

 PHPでPDFを作成する場合にはPDFLibやmPDF、FDPDFなどさまざまな選択肢がありますが、ライセンス、パフォーマンスなどの点で問題がある場合に、Haruの利用を検討してみてはいかがでしょうか。

 HaruはZLibやPNGと同様に、非常に緩いライセンス形態を取っているため、サービスの種類を問わず組み込みやすい点に特徴があります。

 また、PHPのネイティブエクステンションとして提供されているため、PHPのライブラリとしてパフォーマンスが出ない場合にも利点があります。

 とはいえ、サイト上にもあまり情報がなく、日本語の利用に関して不安があるかもしれません。しかし最初にいくつか挙げたライブラリは、元々は海外発信のライブラリでした。対して、HaruはlibharuというCのライブラリのエクステンションであり、libharuは日本が発信元となっていますので、日本語に関しても安心して利用できます(現在のメンテナンスは日本人ではなくなっています)。

対象読者

 PHPでの基本構文を理解している方で、帳票印刷やPDFファイルに興味がある方を対象としています。

必要な環境

 この記事では、以下のライブラリを使用しています。

  • libharu 2.1
  • haru 1.0.4

 また、PHP5.4を使用し、Linuxで動作を確認しています。

Haruのインストール

 libharuは、以下のいずれかの方法でインストールできます。

libharuのインストール(yumでのインストール)
# yum install libharu
libharuのインストール(ソースからのインストール)
# wget http://libharu.org/files/libharu-2.1.0.tar.gz
# tar xvfz libharu-2.1.0.tar.gz
# cd libharu-2.1.0
# ./configure; make; make install

 PHPのHaruは、libharu2.2以上での利用はできません。必ず2.1をインストールしてください。

 また、PHPのエクステンションは以下のようにインストールできます。

Haruのインストール
# pecl install haru

PDFの注意点

 HaruのAPIは、他のライブラリに比べ、PDF内部仕様に近いAPIです。従って、Haruを使うためには、最低限のPDFの仕様についても知っておくと便利です。特に注意する点として、PDFの座標軸があります。

 PDFでは通常、人が意識する左上が(0,0)で右下に向かって座標が広がるのではなく、左下が(0,0)になっており、右上に向かって座標が広がっています。少々分かりづらいので、下図をみると分かりやすくなります。

PDFの座標軸
PDFの座標軸

 Y軸は0に向かって記述していくようになるので、注意してください。

 また、サイズも多少計算が面倒になっています。例えば、A4の横サイズは595.27600097656となっており、インチの概念で計算されています。従ってミリで計算する際には「(mm)×72÷25.4」などを使って、近似値を求める必要があります。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト 小林 昌弘(コバヤシ マサヒロ)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。個人紹介主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしど...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:ライセンス制限が緩く高速でPDFを作成可能なPHPライブラリ「Haru」
All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5