ref_ja.rd

# Ruby/Panda

PDF Library Panda の ruby インタフェース

## Module/Class Hierarchy

    Panda -+
             |
             +- Panda::PDF
             |
             +- Panda::Page

# Module Panda

## 定数

### テキスト drawing モード

`Panda::NORMAL`
`Panda::OUTLINE`
`Panda::FILLEDOUTLINE`
`Panda::INVISIBLE`
`Panda::FILLEDCLIPPED`
`Panda::STROKEDCLIPPED`
`Panda::FILLEDSTROKEDCLIPPED`
`Panda::CLIPPED`

### line cap スタイル

`Panda::LINECAP_BUTT`
`Panda::LINECAP_ROUND`
`Panda::LINECAP_PROJECTEDSQUARE`

### line join スタイル

`Panda::LINEJOIN_MITER`
`Panda::LINEJOIN_ROUND`
`Panda::LINEJOIN_BEVEL`

### image タイプ

`Panda::TIFF`
`Panda::JPEG`
`Panda::PNG`

### 用紙サイズ

`Panda::A4`
`Panda::USLETTER`

# Class Panda::PDF

## Class Methods

`Panda::PDF.new(filename, mode)`

  PDF クラスを生成して返す。

## Methods

### ドキュメント属性

`Panda::PDF#setauthor(author)`

  ドキュメントの author フィールドを設定する。

`Panda::PDF#setcreator(creator)`

  ドキュメントの creator フィールドを設定する。

`Panda::PDF#settitle(title)`

  ドキュメントの title フィールドを設定する。

`Panda::PDF#setsubject(subject)`

  ドキュメントの subject フィールドを設定する。

`Panda::PDF#setkeywords(keywords)`

  ドキュメントの keywords フィールドを設定する。

### イメージ関係

`Panda::PDF#imagebox(page, top, left, bottom, right, filename, type)`

  画像タイプ type の画像ファイル filename を Page target の (top, left) (bottom, right) に描画する。

`Panda::PDF#imageboxrot(target, top, left, bottom, right, angle, filename, type)`

  画像タイプ type の画像ファイル filename を Page target の (top, left) (bottom, right) に角度 angle で描画する。

### フォント関係

`Panda::PDF#setfont(fontname, type, encoding)`

  フォントを設定する。

`Panda::PDF#setfontsize(size)`

  フォントサイズを設定する。

`Panda::PDF#setfontmode(mode)`

  フォントモードを設定する。mode として指定できるのは Panda::NORMAL, Panda::OUTLINE, Panda::FILLEDOUTLINE, Panda::INVISIBLE, Panda::FILLEDCLIPPED, Panda::STROKEDCLIPPED, Panda::FILLEDSTROKEDCLIPPED, Panda::CLIPPED のいずれか。

`Panda::PDF#setcharacterspacing(amount)`

  文字どうしの間隔を amount ポイントに設定する。

`Panda::PDF#setwordspacing(amount)`

  文字列どうしの間隔を amount ポイントに設定する。

`Panda::PDF#sethorizontalscaling(scaling)`

  テキストの縦の間隔を scaling ％に設定する。

`Panda::PDF#setleading(leading)`

  テキストどうしの間隔を leading ポイントに設定する。

### テキスト関係

`Panda::PDF#textbox(thisPage, top, left, bottom, right, text)`

  Page thisPage の (top, left) (bottom, right) に 文字列 text を描画する。

`Panda::PDF#textboxrot(thisPage, top, left, bottom, right, angle, text)`

  Page thisPage の (top, left) (bottom, right) に 文字列 text を角度 angle で描画する。

### テンプレート

`Panda::PDF#newtemplate(pageSize)`

  大きさ pageSize の template を生成する。 Page クラスを生成して返す。

`Panda::PDF#applytemplate(target, template)`

  Page target に template を適応する。

# Class Panda::Page

## Class Methods

`Panda::Page.new(PDF, pageSize)`

  Page クラスを生成して返す。

## Methods

### グラフィック/描画関係

`Panda::Page#setlinestart(x, y)`

  最初の描画ポイントを (x, y) に設定する。

`Panda::Page#addlinesegment(x, y)`

  カレントポイントから (x, y) まで線を引く。

`Panda::Page#addcubiccurvesegment(x, y, cx1, cy1, cx2, cy2)`

  カレントポイントから (x, y) まで曲線を引く。

`Panda::Page#addquadraticcurvesegmentone(x, y, cx1, cy1)`

  カレントポイントから (x, y) まで曲線を引く。

`Panda::Page#addquadraticcurvesegmenttwo(x, y, cx1, cy1)`

  カレントポイントから (x, y) まで曲線を引く。

`Panda::Page#rectangle(top, left, bottom, right)`

  (top, left) (bottom, right) の四角を描画する。

### グラフィック/path 関係

`Panda::Page#closeline()`

  カレントパスを閉じる。

`Panda::Page#endline()`

  カレントパスを終る。

`Panda::Page#strokeline()`

  現在のパスをを描く。

`Panda::Page#fillline()`

  現在のパスで閉じられた平面を塗りつぶす。

### グラフィック/設定関係

`Panda::Page#setlinewidth(width)`

  線の幅を width に設定する。

`Panda::Page#setlinecap(cap)`

  線の端の描画方法を cap に設定する。cap として指定できるのは Panda::LINECAP_BUTT, Panda::LINECAP_ROUND, Panda::LINECAP_PROJECTEDSQUARE のいずれか。

`Panda::Page#setlinejoin(join)`

  折れ線の角の描画方法を join に設定する。join として 指定できるのは Panda::LINEJOIN_MITER, Panda::LINEJOIN_ROUND, Panda::LINEJOIN_BEVEL のいずれか。

`Panda::Page#setlinedash(on, off, phase)`

  破線のパタンを設定する。

### グラフィック/色関係

`Panda::Page#setfillcolor(red, green, blue)`

  fill color を設定する。

`Panda::Page#setlinecolor(red, green, blue)`

  line color を設定する。