Forum und email

Haru PDF 関数

導入

PECL/haru 拡張モジュールは、Haru Free PDF Library を使用するためのものです。 これは、フリーでクロスプラットフォームであるオープンソースライブラリで、 PDF ファイルを作成するためのものです。

このライブラリは » https://libharu.sourceforge.net にあります。

警告

この拡張モジュールは、 実験的 なものです。この拡張モジュールの動作・ 関数名・その他ドキュメントに書かれている事項は、予告なく、将来的な PHP のリリースにおいて変更される可能性があります。 このモジュールは自己責任で使用してください。

要件

PECL/haru を使用するには、まず libharu をインストールする必要があります。 PECL/haru の動作検証は libharu 2.0.8 で行っています。 これより古いバージョンでは、動作するかもしれませんし、しないかもしれません。 PECL/haru は、PHP 5.1.3 以降でないと動作しません。

インストール手順

この PECL 拡張モジュールをインストールする方法は、 マニュアルの PECL 拡張モジュールのインストール という章にあります。 新規リリース・ダウンロード・ソースファイル・管理者情報・CHANGELOG といった関連する情報については、次の場所にあります。 » https://pecl.php.net/package/haru.

最新の PECL/haru Win32 DLL はこちらからダウンロードできます。 » php_haru.dll.

実行時設定

設定ディレクティブは定義されていません。

Example#1 基本的な PECL/haru の例

<?php

$doc 
= new HaruDoc;

$doc->setPageMode(HaruDoc::PAGE_MODE_USE_THUMBS); /* サムネイルを表示します */

$page $doc->addPage(); /* ドキュメントにページを追加します */
$page->setSize(HaruPage::SIZE_A4HaruPage::LANDSCAPE); /* ページを A4 横に設定します */

$courier $doc->getFont("Courier-Bold"); /* 数行先で、組み込みのフォントを使用します */

$page->setRGBStroke(000); /* 色を設定します */
$page->setRGBFill(0.70.80.9);
$page->rectangle(150150550250); /* 矩形を描画します */

$page->fillStroke(); /* 塗りつぶします */

$page->setDash(array(33), 0); /* このページの破線の形式を設定します */
$page->setFontAndSize($courier60); /* フォントとサイズを設定します */

$page->setRGBStroke(0.50.50.1); /* 線の色を設定します */
$page->setRGBFill(111); /* 塗りつぶし色を設定します */

$page->setTextRenderingMode(HaruPage::FILL_THEN_STROKE); /* テキストを塗りつぶし、描画します */

/* テキストを表示します */
$page->beginText();
$page->textOut(210270"Hello World!");
$page->endText();

$doc->save("/tmp/test.pdf"); /* ドキュメントをファイルに保存します */

?>

できあがったドキュメントをお好みの PDF ビューアで開くと、 ライトブルーの矩形と、その中にある白字の "Hello World!" が見られることでしょう。

組み込みのフォントおよびエンコーディング

組み込みフォント

これら 14 種類の基本フォントは PDF に組み込まれており、 すべてのビューアで表示することができます。 これらのフォントを使用すると、出来上がるファイルの大きさを抑えることができ、 高速に処理できます。また外部フォントの読み込みを避けることができます。 しかし、これらのフォントは latin1 文字セットしかサポートしていません。 その他の文字セットを使用する必要がある場合は、外部のフォントを読み込まなければなりません。

基本の 14 フォントは次のとおりです。

  • Courier

  • Courier-Bold

  • Courier-Oblique

  • Courier-BoldOblique

  • Helvetica

  • Helvetica-Bold

  • Helvetica-Oblique

  • Helvetica-BoldOblique

  • Times-Roman

  • Times-Bold

  • Times-Italic

  • Times-BoldItalic

  • Symbol

  • ZapfDingbats

組み込みエンコーディング

シングルバイト文字セットエンコーディング
名前 説明
StandardEncoding PDF のデフォルトエンコーディング。
MacRomanEncoding Mac OS の標準エンコーディング。
WinAnsiEncoding Windows の標準エンコーディング。
FontSpecific フォントの組み込みエンコーディング。
ISO8859-2 Latin2 (東欧)
ISO8859-3 Latin3 (南欧)
ISO8859-4 Latin4 (北欧)
ISO8859-5 キリル文字
ISO8859-6 アラビア語
ISO8859-7 ギリシャ語
ISO8859-8 ヘブライ語
ISO8859-9 Latin5 (トルコ語)
ISO8859-10 Latin6 (北欧)
ISO8859-11 タイ語
ISO8859-13 Latin7 (バルト語)
ISO8859-14 Latin8 (ケルト語)
ISO8859-15 Latin9
ISO8859-16 Latin10
CP1250 MS Windows コードページ 1250。
CP1251 MS Windows コードページ 1251。
CP1252 MS Windows コードページ 1252。
CP1253 MS Windows コードページ 1253。
CP1254 MS Windows コードページ 1254。
CP1255 MS Windows コードページ 1255。
CP1256 MS Windows コードページ 1256。
CP1257 MS Windows コードページ 1257。
CP1258 MS Windows コードページ 1258。
KOI8-R キリル文字セット。
マルチバイト文字セットエンコーディング
名前 説明
GB-EUC-H EUC-CN エンコーディング。
GB-EUC-V GB-EUC-H の縦書き版。
GBK-EUC-H Microsoft コードページ 936 (lfCharSet 0x86) GBK エンコーディング。
GBK-EUC-V GBK-EUC-H の縦書き版。
ETen-B5-H Microsoft コードページ 950 (lfCharSet 0x88) Big Five 文字セット (倚天拡張)。
ETen-B5-V ETen-B5-H の縦書き版。
90ms-RKSJ-H Microsoft コードページ 932, JIS X 0208 文字。
90ms-RKSJ-V 90ms-RKSJ-V の縦書き版。
90msp-RKSJ-H Microsoft コードページ 932, JIS X 0208 文字 (プロポーショナル)。
EUC-H JIS X 0208 文字セット, EUC-JP エンコーディング。
EUC-V EUC-H の縦書き版。
KSC-EUC-H KS X 1001:1992 文字セット, EUC-KR エンコーディング。
KSC-EUC-V KSC-EUC-V の縦書き版。
KSCms-UHC-H Microsoft コードページ (lfCharSet 0x81), KS X 1001:1992 文字セットに 8822 のハングルを追加したもの, Unified Hangul Code (UHC) エンコーディング (プロポーショナル)。
KSCms-UHC-HW-H Microsoft コードページ 949 (lfCharSet 0x81), KS X 1001:1992 文字セットに 8822 のハングルを追加したもの, Unified Hangul Code (UHC) エンコーディング (固定幅)。
KSCms-UHC-HW-V KSCms-UHC-HW-H の縦書き版。

目次