pdflib-api-jp.rd

# PDF class

PDF ファイル生成クラス

## Super Class

- Data

## Included Module

- PDF::Constants

## Class Method

`new([filename])`

  ファイル filename を開き、PDF クラスを生成して返す。 filename が空文字列か nil の場合、もしくは 引数無しで呼ばれた場合は、生成された PDF の中身は バッファにたくわえられて出力されない。 その場合は get_buffer メソッドでそのバッファの中身を 参照することが出来る。

`open([filename])`
`open([filename]) { ... }`

  new と同じですが、ブロック付きで呼び出すことが出来ます。 その場合、開いた PDF ファイルを引数にしてブロックを評価した後、 自動的にファイルを閉じます。

## Method

### 一般

`close`

  ファイルを閉じる。

`set_info(key, value)`

  document information を書き込む。 key は INFO_CREATOR, INFO_AUTHOR, INFO_TITLE, INFO_SUBJECT のいずれか。

`set_parameter(key, value)`

  文字列パラメータを設定する。

`get_parameter(key, value)`

  文字列パラメータを返す。

`set_value(key, value)`

  数値パラメータを設定する。

`get_value(key, mod)`

  数値パラメータの値を返す。

`begin_page(width, height)`

  幅 width、高さ height の新しいページを始める。

`end_page`

  ページを終わる。

`get_buffer`

  内部バッファの中身を返す。 コンストラクタで出力ファイルが指定してある場合は例外が発生する。

### フォント関係

`findfont(fontname, encoding, embed)`

  フォント fontname を探し、そのフォントの ID を返す。 encoding には ENCODING_BUILTIN, ENCODING_MACROMAN, ENCODING_WINANSI, ENCODING_HOST のいずれか、 あるいはユーザー定義の encoding 名を指定する。 embed には `true`/`false` を指定するが、 今はまだ使われない。

`setfont(font, size)`

  使用フォントを ID font、サイズ size のフォントに設定する。

`get_font`

  現在設定されているフォントの ID を返す。

`get_fontname`

  現在設定されているフォントの名前を返す。

`get_fontsize`

  現在設定されているフォントのサイズを返す。

### テキスト関係

`show(text, [x, y])`

  文字列 text を書き込む。座標 (x, y) が指定された時は、 そこへ移動してから文字列を書き込む。

`continue_text(text)`

  現在の行に改行を加えて、次の行に文字列 text を書き込む。

`set_text_pos(x, y)`

  テキストを書き込む位置を座標 (x, y) に設定する。

`stringwidth(text, font, size)`

  ID font、サイズ size のフォントを使った場合の 文字列 text の幅を返す。

`set_leading(leading)`

  テキストのベースライン間隔を leading に設定する。

`set_text_rise(rise)`

  テキストのベースラインと描画位置との間の距離を rise に設定する。

`set_horiz_scaling(scale)`

  水平方向の縮尺を scale % に設定する。

`set_text_rendering(mode, clipping)`

  テキストのレンダリングモードを mode に設定する。mode として 指定できるのは FILL_TEXT, STROKE_TEXT, FILL_AND_STROKE_TEXT, INVISIBLE_TEXT のいずれか。clipping に `true` を指定すると クリッピングを行う。

`set_text_matrix(a, b, c, d, e, f)`

  テキストの変換行列を (a, b, c, d, e, f) に設定する。

`set_char_spacing(space)`

  文字間隔を space に設定する。

`set_word_spacing(space)`

  単語間の間隔を space に設定する。

`show_boxed(text, x, y, width, height, mode, reserved)`

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

`setdash(black, white)`

  破線の長さと間隔をそれぞれ black、white に設定する。

`setpolydash(dash)`

  破線のパターンを配列 dash で設定する。dash が長さ 0 の 配列である場合は実線になる。

`setflat(flat)`

  flatness parameter を flat に設定する。

`setlinejoin(join)`

  折れ線の角の描画方法を join に設定する。join として 指定できるのは JOIN_MITER, JOIN_ROUND, JOIN_BEVEL のいずれか。

`setlinecap(cap)`

  線の端の描画方法を cap に設定する。cap として指定できるのは CAP_BUTT, CAP_ROUND, CAP_SQUARE のいずれか。

`setmiterlimit(limit)`

  miter limit を limit に設定する。

`setlinewidth(width)`

  線の幅を width に設定する。

`set_fillrule(rule)`

  塗りつぶしの方法を rule に設定する。rule として指定できるのは FILL_WINDING, FILL_EVENODD のいずれか。

`save`

  現在のグラフィック関係の設定を保存する。

`restore`

  グラフィック関係の設定を、一番最近保存したものに戻す。

`initgraphics`

  グラフィック関係の設定を、初期設定に戻す。

`translate(x, y)`

  座標原点を (x, y) に設定する。

`scale(x, y)`

  座標系を水平方向、垂直方向にそれぞれ x, y だけ拡大／縮小する

`rotate(phi)`

  座標系を角度 phi 度だけ回転する。

`skew(alpha, beta)`
`concat(a, b, c, d, e, f)`
`setmatrix(a, b, c, d, e, f)`

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

`moveto(x, y)`

  ポイントを (x, y) に移動する。

`lineto(x, y)`

  現在のポイント位置から (x, y) まで線を引く。

`curveto(x1, y1, x2, y2, x3, y3)`

  現在のポイント位置から (x3, y3) までベジエ曲線を引く。 (x1, y1)、(x2, y2) にはベジエ曲線の controll points を指定する。

`circle(x, y, r)`

  中心座標 (x, y)、半径 r の円を描く。

`arc(x, y, r, alpha1, alpha2)`

  中心座標 (x, y)、半径 r で角度 alpha1 度から alpha2 度までの円弧を反時計回りに描く。

`arcn(x, y, r, alpha1, alpha2)`

  中心座標 (x, y)、半径 r で角度 alpha1 度から alpha2 度までの円弧を時計回りに描く。

`rect(x, y, width, height)`

  左下角の座標が (x, y) で幅 width、高さ height の長方形を描く。

`closepath`

  現在のポイント位置から path の開始点まで線を引いて path を閉じる。

`stroke`

  現在の path を（実際に）描く。

`closepath_stroke`

  現在の path を閉じてから描く。

`fill`

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

`fill_stroke`

  現在の path で閉じられた平面を塗りつぶし、線も描く。

`closepath_fill_stroke`

  現在の path を閉じて、その閉じられた平面を塗りつぶし、線も描く。

`endpath`

  現在の path を（閉じずに）終わらせる。

`clip`

  現在の path を clipping path として用いる。

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

`setgray_fill(gray)`

  fill color を値 gray のグレースケールに設定する。

`setgray_stroke(gray)`

  stroke color を値 gray のグレースケールに設定する。

`setgray(gray)`

  fill color、stroke color 両方を値 gray のグレースケールに設定する。

`setrgbcolor_fill(red, green, blue)`

  fill color を (red, green, blue) の RGB 値に設定する。

`setrgbcolor_stroke(red, green, blue)`

  stroke color を (red, green, blue) の RGB 値に 設定する。

`setrgbcolor(red, green, blue)`

  fill color、stroke color 両方を (red, green, blue) の RGB 値に設定する。

`setcolor(type, color, c1[, c2, c3, c4])`

  color に `"gray"` を指定すると値 c1 のグレースケールに、 `"rgb"` を指定すると (c1, c2, c3) の RGB 値に、 `"cmyk"` を指定すると (c1, c2, c3, c4) の CMYK 値に、 `"spot"` を指定すると ID c1、tint c2 のスポットカラーに、 `"pattern"` を指定すると ID c1 のパターンに設定する。 type には色設定の対象として、 `"fill"`、`"stroke"` あるいは `"both"` を指定する。

`makespotcolor(name, len)`
`begin_pattern(width, height, xstep, ystep, type)`
`end_pattern`
`begin_template(width, height)`
`end_template`

### イメージ関係

`open_image_file(type, filename, [str_par, int_par])`

  画像ファイル filename を開いてその画像の ID を返す。 type には画像フォーマットを文字列で指定する。

`close_image(image)`

  ID image の画像を close する。

`place_image(image, x, y, scale)`

  ID image の画像を座標 (x, y) に縮尺率 scale で 描画する。

`add_thumbnail(image)`

  ID image の画像をサムネイルに追加する。

`open_CCITT(filename, width, height, reverse, k, black)`

  CCITT ファイル filename を開いてその画像の ID を返す。

`get_image_width(image)`

  ID image の画像の幅を返す。

`get_image_height(image)`

  ID image の画像の高さを返す。

### ハイパーテキスト・リンク関係

`add_bookmark(text, parent, open)`

  現在のページを、text をタイトルとして bookmark に登録し、 その ID を返す。parent に既存の bookmark の ID を指定すると、 ネストした bookmark になり、0 を指定するとトップレベルに登録される。

`set_transition(type)`

  現在のページの transition の種類を type に設定する。type は TRANSIT_NONE, TRANSIT_SPLIT, TRANSIT_BLINDS, TRANSIT_BOX, TRANSIT_WIPE, TRANSIT_DISSOLVE, TRANSIT_GLITTER, TRANSIT_REPLACE のいずれか。

`set_duration(duration)`

  transition の duration を duration に設定する。

`attach_file(llx, lly, urx, ury, fname, description, author, mimetype, icon)`

  file attachment を (llx, lly)、(urx, ury) の 2点を対角とする領域に張り付ける。icon は ICON_GRAPH, ICON_PAPERCLIP, ICON_PUSHPIN, ICON_TAG のいずれか。

`add_note(llx, lly, urx, ury, contents, title, icon, open)`

  タイトル title、内容 contents の注釈を (llx, lly)、(urx, ury) の2点を対角とする領域に張り付ける。icon は ICON_COMMENT, ICON_INSERT, ICON_NOTE, ICON_PARAGRAPH, ICON_NEWPARAGRAPH, ICON_KEY, ICON_HELP のうちのいずれか。 open として `false` を指定すると最初がアイコン化された 状態になる。

`add_pdflink(llx, lly, urx, ury, fname, page, dest)`

  別の PDF ファイル fname の page ページへのリンクを張る。

`add_launchlink(llx, lly, urx, ury, fname)`

  別の任意の種類のファイル fname へのリンクを張る。

`add_locallink(llx, lly, urx, ury, page, dest)`

  同じ PDF ドキュメントの page ページへのリンクを張る。

`add_weblink(llx, lly, urx, ury, url)`

  URL url の Web page へのリンクを張る。

`set_border_style(style, width)`

  全ての注釈の border style を style に設定する。 style は BORDER_SOLID, BORDER_DASHED のいずれか。

`set_border_color(red, green, blue)`

  border color を (red, green, blue) の RGB 値に 設定する。

`set_border_dash(black, white)`

  border line の dash style を設定する。引数は `setdash` と同じ。

# PDF::Constants module

PDF クラスに関する定数が定義してある。

`MAJORVERSION`

  PDFlib の major version 番号。

`MINORVERSION`

  PDFlib の minor version 番号。

`VERSIONSTRING`

  PDFlib の version を表す文字列。

`A0_WIDTH`
`A0_HEIGHT`
`A1_WIDTH`
`A1_HEIGHT`
`A2_WIDTH`
`A2_HEIGHT`
`A3_WIDTH`
`A3_HEIGHT`
`A4_WIDTH`
`A4_HEIGHT`
`A5_WIDTH`
`A5_HEIGHT`
`A6_WIDTH`
`A6_HEIGHT`
`B5_WIDTH`
`B5_HEIGHT`
`LETTER_WIDTH`
`LETTER_HEIGHT`
`LEGAL_WIDTH`
`LEGAL_HEIGHT`
`LEDGER_WIDTH`
`LEDGER_HEIGHT`
`P11X17_WIDTH`
`P11X17_HEIGHT`

  それぞれの紙の横、縦の長さ