...

PDFlib 9.0.6 APIリファレンス 日本語版

by user

on
Category: Documents
294

views

Report

Comments

Transcript

PDFlib 9.0.6 APIリファレンス 日本語版
ABC
PDFlib, PDFlib+PDI, PPS
A library for generating PDF on the fly
Version 9.0.6
API リ フ ァ レ ン ス
C ・ C++ ・ Cobol ・ COM ・ Java ・ .NET ・ Objective-C ・
Perl ・ PHP ・ Python ・ REALbasic/Xojo ・ RPG ・ Ruby エデ ィ シ ョ ン
Copyright © 1997–2016 PDFlib GmbH and Thomas Merz. All rights reserved.
PDFlib ユーザーは本マニ ュ アルを内部利用のために印刷または電子的に複製する こ と を許諾 さ れます。
PDFlib GmbH
Franziska-Bilek-Weg 9, 80339 München, Germany
www.pdflib.com
電話 +49 • 89 • 452 33 84-0
FAX +49 • 89 • 452 33 84-99
疑問点がおあ り の場合は groups.yahoo.com/neo/groups/pdflib/info にある PDFlib メ ー リ ング リ ス ト と アー カ
イ ブ を ご覧 く だ さ い。
ラ イ セ ン ス取得のための連絡先 : [email protected]
商用 PDFlib ラ イ セ ン ス保持者向けサポー ト : [email protected] (ラ イ セ ン ス番号をお知らせ く だ さ い)
この出版物および こ こ に含まれた情報はあ り のま まに供給 さ れる ものであ り 、 通知な く 変更 さ れる こ と が
あ り 、 また、 PDFlib GmbH によ る誓約 と し て解釈 さ れるべき ものではあ り ません。 PDFlib GmbH はいかな
る誤 り や不正確に対 し て も責任や負担を全 く 負 う ものではな く 、 こ の出版物に関するいかな る類の (明示
的 ・ 暗示的または法定に関わら ず) 保障を も行 う ものではな く 、 そ し て、 いかな る そ し てすべての売買可
能性の保障 と 、 特定の目的に対する適合性 と 、 サー ド パーテ ィ の権利の侵害 と を明白に否認 し ます。
PDFlib と PDFlib ロ ゴは PDFlib GmbH の登録商標です。 PDFlib ラ イ セ ン ス保持者は PDFlib の名称 と ロ ゴ を彼
らの製品の文書内で用いる権利を与え られます。 ただ し 、 こ れは必須ではあ り ません。
Adobe ・ Acrobat ・ PostScript ・ XMP は Adobe Systems Inc. の商標です。 AIX ・ IBM ・ OS/390 ・ WebSphere ・ i5/
iSeries ・ zSeries は International Business Machines Corporation の商標です。 ActiveX ・ Microsoft ・ OpenType ・
Windows は Microsoft Corporation の 商標です。 Apple ・ Macintosh ・ TrueType は Apple Computer, Inc. の 商標
です。 Unicode ・ Unicode ロ ゴは Unicode, Inc. の 商標です。 Unix は The Open Group の 商標です。 Java ・
Solaris は Sun Microsystems, Inc. の 商標です。 HKS は HKS 商標連合= Hostmann-Steinberg ・ K+E Printing
Inks ・ Schmincke の登録商標です。 他の企業の製品 と サービ ス名は他の商標やサービ スマー ク である場合が
あ り ます。
ソ フ ト ウ ェ ア ア プ リ ケーシ ョ ンやユーザー向け文書で表示 さ れる PANTONE® カ ラ ーは PANTONE 定義規格
と 一致 し ない場合があ り ます。 正確な色については最新の PANTONE Color Publication を ご覧 く だ さ い。
PANTONE® およびその他の Pantone, Inc. の商標は Pantone, Inc. に帰属 し ます。 © Pantone, Inc., 2003.
Pantone, Inc. は PDFlib GmbH に対 し て PDFlib ソ フ ト ウ ェ ア と の組み合わせでのみ使用する ための頒布ラ イ
セ ン ス さ れた色デー タ および/またはソ フ ト ウ ェ アの著作権者です。 PANTONE カ ラ ーデー タ および/また
は ソ フ ト ウ ェ アは PDFlib ソ フ ト ウ ェ アの実行の部分 と し て以外に他のデ ィ ス ク上や メ モ リ 内へ複製 し ては
いけません。
PDFlib は以下のサー ド パーテ ィ ソ フ ト ウ ェ アの変更 さ れた部分を含んでいます。
ICClib、 Copyright © 1997-2002 Graeme W. Gill
GIF 画像デ コ ーダ、 Copyright © 1990-1994 David Koblas
PNG 画像参照ラ イ ブ ラ リ (libpng)、 Copyright © 1998-2012 Glenn Randers-Pehrson
Zlib 圧縮ラ イ ブ ラ リ 、 Copyright © 1995-2012 Jean-loup Gailly and Mark Adler
TIFFlib 画像ラ イ ブ ラ リ 、 Copyright © 1988-1997 Sam Leffler、 Copyright © 1991-1997 Silicon Graphics, Inc.
Eric Young の書いた Cryptographic ソ フ ト ウ ェ ア 、 Copyright © 1995-1998 Eric Young ([email protected])
Independent JPEG Group の JPEG ソ フ ト ウ ェ ア、 Copyright © 1991-1998, Thomas G. Lane
Cryptographic ソ フ ト ウ ェ ア、 Copyright © 1998-2002 The OpenSSL Project (www.openssl.org)
Expat XML パーサ、 Copyright © 1998, 1999, 2000 Thai Open Source Software Center Ltd
ICU International Components for Unicode, Copyright © 1995-2012 International Business Machines Corporation
and others
参照 sRGB ICC カ ラ ープ ロ フ ァ イルデー タ , Copyright © 1998 Hewlett-Packard Company
PDFlib は RSA Security, Inc. の MD5 メ ッ セージダ イ ジ ェ ス ト アルゴ リ ズムを含んでいます。
目次
1 プ ログ ラ ミ ングの概念
1.1
7
オプ シ ョ ン リ ス ト 7
1.1.1 文法 7
1.1.2 単純デー タ 型 10
1.1.3 文字サ イ ズ ・ ア ク シ ョ ンデー タ 型 12
1.1.4 色デー タ 型 13
1.1.5 図形デー タ 型 16
1.2 関数のス コ ープ 18
1.3 ログ記録 19
2 一般関数
21
2.1 例外処理 21
2.2 Unicode 変換 23
2.3 グローバルオプ シ ョ ン 25
2.4 PDFlib オブ ジ ェ ク ト を作成 ・ 削除 33
2.5 PDFlib 仮想フ ァ イルシス テム (PVF) 35
2.6 PDF オブ ジ ェ ク ト 作成 API (POCA) 38
3 文書 ・ ページ関数
43
3.1 文書関数 43
3.2 PDF 文書を メ モ リ から 取得 54
3.3 ページ関数 55
3.4 レ イ ヤー 61
4 フ ォ ン ト ・ テキス ト 関数
4.1
67
フ ォ ン ト 処理 67
4.2 テキス ト フ ィ ル タ ・ 書式オプ シ ョ ン 80
4.3 単純テキス ト 出力 86
4.4 ユーザー定義 (Type 3) フ ォ ン ト 90
4.5 ユーザー定義 8 ビ ッ ト エ ン コ ーデ ィ ン グ 93
目次
3
5 テキス ト と 表の組版
95
テキス ト 行によ る一行テキス ト 95
5.1
5.2 テキス ト フ ローによ る複数行テキス ト 102
5.3 表の組版 120
6 オブ ジ ェ ク ト のはめ込み と 範囲枠
131
オブ ジ ェ ク ト のはめ込み 131
6.1
6.2 範囲枠 139
7 グ ラ フ ィ ッ ク 関数
143
グ ラ フ ィ ッ ク 書式オプ シ ョ ン 143
7.1
7.2 グ ラ フ ィ ッ ク ス テー タ ス 146
7.3 座標系の変換 151
7.4 パス構築 154
7.5 描画 と ク リ ッ ピ ング 158
7.6 パスオブ ジ ェ ク ト 160
8 色関数
167
8.1 色を設定 167
8.2 ICC プ ロ フ ァ イル 170
8.3 パ タ ーン と シ ェ ーデ ィ ング 172
9 画像 ・ SVG ・ テ ン プ レー ト 関数
177
画像 177
9.1
9.2 SVG グ ラ フ ィ ッ ク 186
9.3 テ ン プ レー ト 193
9.4 共通 XObject オプ シ ョ ン 197
10 PDF 取 り 込み (PDI) ・ pCOS 関数
文書関数 203
10.1
10.2 ページ関数 207
10.3 その他の PDI 処理 214
10.4 pCOS 関数 216
4
目次
203
11 ブ ロ ッ ク 流 し 込み関数 (PPS)
11.1
221
ブ ロ ッ ク流 し 込み関数の長方形オプ シ ョ ン 221
11.2 テキス ト 行 ・ テキス ト フ ローブ ロ ッ ク 222
11.3 イ メ ージ ブ ロ ッ ク 225
11.4 PDF ブ ロ ッ ク 226
11.5 グ ラ フ ィ ッ ク ブ ロ ッ ク 227
12 イ ン タ ラ ク テ ィ ブ機能
12.1
229
し お り 229
12.2 注釈 231
12.3 フ ォ ーム フ ィ ール ド 240
12.4 ア ク シ ョ ン 249
12.5 名前付き移動先 255
12.6 PDF パ ッ ケージ ・ ポー ト フ ォ リ オ 257
12.7 地理空間機能 262
13 マルチ メ デ ィ ア機能
265
13.1 3D アー ト ワー ク 265
13.2 アセ ッ ト ・ リ ッ チ メ デ ィ ア機能 (Flash) 271
14 文書交換
279
14.1 文書情報 フ ィ ール ド 279
14.2 XMP メ タ デー タ 281
14.3 タ グ付き PDF 282
14.4 マー ク付き コ ン テ ン ツ 289
14.5 文書部分 ヒ エ ラルキー 291
A 全 API 関数一覧
293
B 全オプ シ ョ ン ・ キーワー ド 一覧
C 改訂履歴
索引
295
317
319
目次
5
6
目次
1 プ ログ ラ ミ ングの概念
1.1 オ プ シ ョ ン リ ス ト
オプシ ョ ン リ ス ト は、 さ ま ざ ま な API 関数呼び出 し を制御する ための強力な、 それでいて
簡単な手段です。 関数に多数の引数を与え る 必要な し に、 多 く の API メ ソ ッ ド で、 オプ
シ ョ ン リ ス ト を用い る こ と がで き ます。 略 し て optlist と も いい ます。 こ れは、 オプシ ョ
ン を何個で も 内容 と し て持つ こ と ので き る 文字列です。 オプシ ョ ン リ ス ト には、 さ ま ざ ま
なデー タ 型や、 リ ス ト な ど の複合デー タ を内容 と し て持たせる こ と がで き ます。 多 く の言
語バ イ ンデ ィ ン グで optlist は簡単に、必要な キー ワー ド と 値を文字列連結 し てい く だけで
作成す る こ と がで き ます。
バインディング C 言語バ イ ンデ ィ ン グ : sprintf( ) 関数を使っ て optlist を作成する と よ いで し ょ う 。
.NET 言語バ イ ンデ ィ ン グ : C# プ ロ グ ラ マーは、 StringBuilder の AppendFormat( ) メ ソ ッ ド
では中括弧 { } を用いて書式項目を表現 し 、 それが引数の文字列表現で置換 さ れ る 点に留
意す る 必要があ り ます。 こ れに対 し 、 Append( ) メ ソ ッ ド では中括弧に特別な意味を持た
せ て い ま せ ん。 オ プ シ ョ ン リ ス ト の 文 法 で は 中 括 弧 を 利 用 し て い ま す の で、
AppendFormat( ) メ ソ ッ ド か Append( ) メ ソ ッ ド か を適切に選んで用い る よ う 注意す る 必要
があ り ます。
1.1.1 文法
オ プ シ ョ ン リ ス ト の文法形式の定義 オプシ ョ ン リ ス ト は、 以下の規則に従っ て作成す
る 必要があ り ます。
> オプシ ョ ン リ ス ト 内のすべての要素 (キー と 値) は、 以下の区切 り キ ャ ラ ク タ の う ち
の 1 個ない し 複数に よ っ て区切 る 必要があ り ます : スペース ・ タ ブ ・ キ ャ リ ッ ジ リ タ ー
ン ・ ニ ュ ー ラ イ ン ・ 等号 「=」。
> 最 も 外側を囲 う 中括弧は要素の内容 と し て扱われません。 文字列 { } は、 空の要素を表
し ます。
> 最 も 外側の中括弧ペアの内側にあ る 区切 り キ ャ ラ ク タ は、 要素を区切 ら ず、 要素の一
部分 と な り ます。 ですので、 区切 り キ ャ ラ ク タ のあ る 要素は中括弧で囲 う 必要があ り
ます。
> 要素が中括弧キ ャ ラ ク タ (群) を含む と き は、各キ ャ ラ ク タ の直前にバ ッ ク ス ラ ッ シ ュ
キ ャ ラ ク タ 1 個を付けて保護す る 必要があ り ます。
> 要素が、中括弧キ ャ ラ ク タ の直前にバ ッ ク ス ラ ッ シ ュ キ ャ ラ ク タ を 1 個ない し 複数連続
し て含んでい る と き は、そのキ ャ ラ ク タ 列の中の各バ ッ ク ス ラ ッ シ ュ に も う 1 個のバ ッ
ク ス ラ ッ シ ュ キ ャ ラ ク タ を付けて保護す る 必要があ り ます。
> 要素に、 開閉照応 し ない中括弧があ る と き は、 こ の中括弧は直前にバ ッ ク ス ラ ッ シ ュ
キ ャ ラ ク タ を つけ て保護す る 必要が あ り ま す。 要素の閉 じ 中括弧の直前のバ ッ ク ス
ラ ッ シ ュ に も 、 直前にバ ッ ク ス ラ ッ シ ュ キ ャ ラ ク タ をつけ る 必要があ り ます。
> オプシ ョ ン リ ス ト にバ イ ナ リ ゼ ロ 値を含めてはいけ ません。
オプシ ョ ンは、 こ の PDFlib リ フ ァ レ ン ス での記述に従っ て、 リ ス ト 値を内容 と し て持つ
こ と がで き る 場合があ り ます。 リ ス ト 値は、 1 個ない し 複数の要素を内容 と し て持ち ます
( こ れ ら の要素自体が ま た リ ス ト であ る 場合 も あ り ます)。それ ら は上記の規則に従っ て区
1.1 オプ シ ョ ン リ ス ト
7
切 ら れますが、 ただ し こ の場合、 等号は区切 り キ ャ ラ ク タ と し て扱われない点だけが異な
り ます。
注 オプ シ ョ ン名 (すなわちキー) がハイ フ ンキ ャ ラ ク タ を含む こ と はあ り ません。 オプ シ ョ
ンの説明の表の中では、オプ シ ョ ン名が長い と き にはハイ フ ン区切 り し て示 し てある場合
があ り ますので、 こ の点に注意 し て く だ さ い。 そのハ イ フ ンは、 そのオ プ シ ョ ン を オ プ
シ ョ ン リ ス ト 内で与え る際にはな く す必要があ り ます。
単純なオ プ シ ョ ン リ ス ト 多 く の場合オプシ ョ ン リ ス ト は、 1 個ない し 複数のキー / 値ペ
ア を内容 と し て持ち ます。 キー と 値の間、 お よ びキー / 値ペア ど う し の間は、 1 個ない し
複数の空白キ ャ ラ ク タ (スペース ・ タ ブ ・ キ ャ リ ッ ジ リ タ ーン ・ ラ イ ン フ ィ ー ド ) で区切
る 必要があ り ます。 あ る いは、 キー と 値の間は等号 「=」 で区切る こ と も で き ます :
key=value
key = value
key value
key1 = value1
key2 = value2
可読性を上げ る ために、 キー と 値の間には等号を用い、 隣 り 合 う キー / 値ペアの間には空
白を用い る こ と を推奨 し ます。
オプシ ョ ン リ ス ト は左か ら 右へ評価 さ れてい き ますので、1 つのオプシ ョ ン を同 じ リ ス
ト の中で複数回与え る こ と も で き ます。 その場合は、 最後に出て き た も のがそれ よ り 前の
も のを オーバ ラ イ ド し ます。 以下の例では、 最初のオプシ ョ ン割 り 当て を次の も のがオー
バ ラ イ ド し て、 オプシ ョ ン リ ス ト 処理完了後の key は値 value2 と な り ます :
key=value1 key=value2
リ ス ト 値 リ ス ト は、 1 個ない し 複数の値の間を区切っ た も のを内容 と し て持ち ます。 こ
れ ら の値は、 単純値であ る 場合 も あ り ます し 、 それ自体が さ ら に リ ス ト であ る こ と も 可能
です。 リ ス ト は中括弧 { } で囲まれ、 リ ス ト 内の値の間は空白キ ャ ラ ク タ で区切 る 必要が
あ り ます。 例 :
dasharray={11 22 33}
position={ center bottom }
(数値3個を内容として持つリスト)
(キーワード2個を内容として持つリスト)
リ ス ト は、 内容 と し て リ ス ト を ネ ス ト で持つ こ と も 可能です。 こ の場合 も 、 リ ス ト ど う し
の間は空白で区切 る 必要があ り ます。 隣 り 合 う } キ ャ ラ ク タ と { キ ャ ラ ク タ と の間には区
切 り キ ャ ラ ク タ を入れ る 必要があ り ますが、同 じ 種類の中括弧ど う し の間では省略す る こ
と も で き ます :
polylinelist={{10 20 30 40} {50 60 70 80}}
(リスト2個を内容として持つリスト)
リ ス ト の中に リ ス ト が 1 個だけあ る と き も 、ネ ス ト さ れた リ ス ト の中括弧は省略 し てはい
け ません :
polylinelist={{10 20 30 40}}
ト)
(ネストされたリスト1個を内容として持つリス
ネ ス ト さ れたオ プ シ ョ ン リ ス ト と リ ス ト 値 オプシ ョ ン のなかには、 オ プ シ ョ ン リ ス ト
型ま たはオプ シ ョ ン リ ス ト の リ ス ト 型の値を持つ こ と がで き る も のがあ り ます。オプ シ ョ
ン リ ス ト 型のオプシ ョ ンは、 従属す る 1 個ない し 複数のオプシ ョ ン を内容 と し て持ち ま
す。 オプ シ ョ ン リ ス ト の リ ス ト 型のオプシ ョ ンは、 ネ ス ト さ れた 1 個ない し 複数のオプ
8
第 1 章 : プ ログ ラ ミ ングの概念
シ ョ ン リ ス ト を内容 と し て持ち ます。オプシ ョ ン リ ス ト を ネ ス ト し て扱 う 際に重要な こ と
は、 適切な数の中括弧を記述す る こ と です。 以下にい く つかの例を挙げます。
オプシ ョ ン metadata の値がオプシ ョ ン リ ス ト であ り 、 それ自体が 1 個のオプシ ョ ン
filename を内容 と し て持つ :
metadata={filename=info.xmp}
オプシ ョ ン fill の値がオプシ ョ ン リ ス ト の リ ス ト であ り 、 それがオプシ ョ ン リ ス ト 1 個を
内容 と し て持つ :
fill={{ area=table fillcolor={rgb 1 0 0} }}
オプシ ョ ン fill の値がオプシ ョ ン リ ス ト の リ ス ト であ り 、 それがオプシ ョ ン リ ス ト 2 個を
内容 と し て持つ :
fill={{ area=rowodd fillcolor={rgb 0 1 0} } { area=roweven fillcolor={rgb 1 0 0} }}
リ ス ト がオプシ ョ ン リ ス ト 1 個を内容 と し て持ち、 その値の中に空白があ る :
attachments={{filename={foo bar.xml} }}
リ ス ト が文字列 3 個を内容 と し て持つ :
itemnamelist = { {Isaac Newton} {James Clark Maxwell} {Albert Einstein} }
リ ス ト がキーワー ド 2 個を内容 と し て持つ :
position={left bottom}
リ ス ト が複数の型を内容 と し て持つ (float と キーワ ー ド ) :
position={10 bottom}
リ ス ト が長方形 1 個を内容 と し て持つ :
boxes={{10 20 30 40}}
リ ス ト が折れ線 2 個を内容 と し て持ち、 その中にパーセ ン ト 値があ る :
polygons = {{10 20 40 60 90 120}} {12 87 34 98 34% 67% 34% 7%}}
よ く あ る落 と し 穴 オプシ ョ ン リ ス ト の文法について、 よ く あ る 誤 り を以下に挙げます。
中括弧は区切 り キ ャ ラ ク タ ではあ り ませんので、 以下は誤 り です :
key1 {value1}key2 {value2}
誤り!
こ の場合、 エ ラ ー メ ッ セージ 「Unknown option 'value2'」 が発生 し ます。 同様に、 以下 も
区切 り キ ャ ラ ク タ があ り ませんので誤 り です :
key{value}
key={{value1}{value2}}
誤り!
誤り!
中括弧は開閉照応 し てい る 必要があ り ます。 以下は誤 り です (括弧で囲ま ない文字列の文
法については後述) :
key={open brace {}
誤り!
1.1 オプ シ ョ ン リ ス ト
9
こ の場合、 エ ラ ー メ ッ セージ 「Braces aren't balanced in option list 'key={open brace {}'」 が
発生 し ます。 文字列の中に単独の中括弧があ る と き は、 その直前にバ ッ ク ス ラ ッ シ ュ キ ャ
ラ ク タ を付加す る 必要があ り ます :
key={closing brace \} and open brace \{}
正しい!
文字列値の末尾がバ ッ ク ス ラ ッ シ ュ の場合は、 も し その直後が閉 じ 中括弧キ ャ ラ ク タ な ら
ば、 直前に も う 1 個バ ッ ク ス ラ ッ シ ュ をつけ る 必要があ り ます :
key={\value\}
key={\value\\}
誤り!
正しい!
オ プ シ ョ ン リ ス ト 内の括弧で囲ま ない文字列 以下の場合には、 オプシ ョ ン リ ス ト 値内
のキ ャ ラ ク タ と 、 オプシ ョ ン リ ス ト 文法キ ャ ラ ク タ と の間に、 衝突が起 こ り え ます :
> パ ス ワ ー ド が、 開閉照応 し ない中括弧や、 バ ッ ク ス ラ ッ シ ュ や、 その他特殊キ ャ ラ ク
タ を含んでい る 場合
> 日本語の SJIS フ ァ イ ル名がオプシ ョ ン リ ス ト 内にあ る 場合(Unicode 非対応言語バ イ ン
デ ィ ン グにおいてのみ意味を持ち ます)
> JavaScript コ ー ド をオプシ ョ ン内で与え る と 、 中括弧 { } の使用に よ っ て、 問題の原因 と
な り ます
任意のテ キ ス ト ま たはバ イ ナ リ のデー タ を、オプシ ョ ン リ ス ト 文法の構成要素 と 抵触 し な
い よ う に与え る ための単純な し く みを提供する ため、 括弧で囲ま ないオプシ ョ ン値を、 以
下の文法変種の中で、 長 さ の指定子 と と も に与え る こ と がで き ます :
key[n]=value
key[n]={value}
こ の 10 進値 n は以下を表 し ます :
> Unicode 対応言語バ イ ンデ ィ ン グの場合 : UTF-16 コ ー ド ユニ ッ ト の数
> Unicode 非対応言語バ イ ンデ ィ ン グの場合 : 文字列を構成する バ イ ト の数
文字列値を囲む中括弧はオプシ ョ ナルではあ り ますが、 強 く 推奨 さ れます。 空白やその他
の区切 り キ ャ ラ ク タ で始ま る 文字列では中括弧は必須です。 文字列値の中の中括弧 ・ 区切
り キ ャ ラ ク タ ・ バ ッ ク ス ラ ッ シ ュ は、 何 ら 特殊な解釈を さ れ る こ と な く 、 文字通 り に取 ら
れます。
空白 と 中括弧キ ャ ラ ク タ を含む 7 キ ャ ラ ク タ のパ ス ワー ド を指定す る 例です。 文字列
全体を中括弧で囲んでお り 、 こ の中括弧はオプシ ョ ン値の一部分ではあ り ません :
password[7]={ ab}c d}
オプシ ョ ン リ ス ト がネ ス ト さ れてい る 場合に、オプシ ョ ン値を長 さ カ ウ ン ト と と も に与え
た と き は、 その中身のオプシ ョ ン リ ス ト も 長 さ カ ウ ン ト を与え る 必要があ り ます。 例 :
fitannotation[34]={contents[19]={this is a brace '}'}}
1.1.2 単純デー タ 型
文字列 文字列はプ レ ー ン な ASCII 文字列で あ り (EBCDIC プ ラ ッ ト フ ォ ー ム 上では
EBCDIC 文字列)、 通常、 ロ ーカ ラ イ ズ対象でないキーワー ド に用い ら れます。 文字列の
中に空白キ ャ ラ ク タ か 「=」 キ ャ ラ ク タ があ る と き は、 { } でか こ む必要があ り ます :
10
第 1 章 : プ ログ ラ ミ ングの概念
(文字列値の中に空白が3個ある)
(文字列値の中に等号が1個ある)
password={ secret string }
contents={length=3mm}
キ ャ ラ ク タ { か } を文字列に入れたい と き は、 直前にキ ャ ラ ク タ \ を付加す る 必要があ り
ます :
(文字列値の中に右中括弧が1個ある)
password={weird\}string}
要素の閉 じ 中括弧の直前にバ ッ ク ス ラ ッ シ ュ があ る と き は、その直前にバ ッ ク ス ラ ッ シ ュ
キ ャ ラ ク タ をつけ る 必要があ り ます :
(文字列の末尾がバックスラッシュ 1個)
filename={C:\path\name\\}
空文字列は中括弧のペアで作成で き ます :
{}
内容文字列 ・ ハ イ パーテ キ ス ト 文字列 ・ 名前文字列 : こ れ ら は各種形式の Unicode 内容を
持つ こ と がで き ます。 オプシ ョ ン escapesequence が設定 さ れていれば、 シ ン グルバ イ ト
を エ ス ケープシーケ ン ス で表現で き ます。 こ れ ら の文字列型 と 、 文字列オプシ ョ ンでのエ
ン コ ーデ ィ ン グの選択について詳 し く は、 PDFlib チ ュ ー ト リ アルを参照 し て く だ さ い。
Unicode 非対応言語バ イ ンデ ィ ン グ:オプシ ョ ン リ ス ト の先頭が [EBCDIC-]UTF-8 BOM
の と き は、 そのオプシ ョ ン リ ス ト の各内容 ・ ハ イ パーテ キ ス ト ・ 名前文字列は、 [EBCDIC]UTF-8 文字列 と し て解釈 さ れます。
Unichar
Unichar は 1 個の Unicode 値であ り 、 以下の各種文法が使え ます : 10 進値≧ 10
(例 : 173) 、 16 進値の前に x ・ X ・ 0x ・ 0X ・ U+ のいずれか をつけた も の (xAD ・ 0xAD ・
U+00AD) 、 数値参照 ・ 文字参照 ・ グ リ フ名参照か ら 「&」 ・ 「;」 修飾を除いた も の (shy ・
#xAD ・ #173) 。 あ る いは、 リ テ ラ ルな キ ャ ラ ク タ を与え る こ と も で き ます。 Unichar は、
範囲 0 ~ 65535 (0 ~ 0xFFFF) でなければな り ません。 例 :
replacementchar=?
replacementchar=63
replacementchar=x3F
replacementchar=0x3F
replacementchar=U+003F
replacementchar=euro
replacementchar=.question
replacementchar=.marina
(リテラル)
(10進)
(16進)
(16進)
(Unicode記法)
(HTML文字参照)
(標準のグリフ名参照)
(フォント独自のグリフ名参照)
数字 1 文字は リ テ ラ ルに扱われ、 10 進 Unicode 値 と し ては扱われません :
replacementchar=3
(U+0033 THREE。U+0003ではありません!)
Unichar は、 16 進で 0 ~ 0x10FFFF (10 進で 0 ~ 1114111) の範囲内になければな り ませ
ん。 ただ し 、 い く つかのオプシ ョ ンでは範囲 0 ~ 0xFFFF (0 ~ 65535) に制約 さ れます。
こ れはそれぞれのオプシ ョ ンの説明に注記 し て あ り ます。
Unicode 範囲
Unicode 範囲は、 連続的な範囲の Unicode キ ャ ラ ク タ 群を、 その範囲の先
頭キ ャ ラ ク タ と 末尾キ ャ ラ ク タ と で指定 し た も のです。 Unicode 範囲の先頭値 と 末尾値 と
は、 空白を入れずに負号 「-」 で区切 る 必要があ り ます。 例 :
1.1 オプ シ ョ ン リ ス ト
11
forcechars={U+03AC-U+03CE}
論理値 論理値は値 true か false を持ち ます。論理値オプシ ョ ンの値が省略 さ れた と き は、
値 true であ る と 見な さ れます。 name=false のかわ り に短縮記法 noname を用い る こ と も
で き ます :
embedding
noembedding
(embedding=trueと同等)
(embedding=falseと同等)
キーワー ド キー ワ ー ド 型のオプシ ョ ンは、 固定キー ワ ー ド 群の定義済み リ ス ト か ら 1
つを持つ こ と がで き ます。 例 :
blendmode=overlay
オプシ ョ ンのなかには、 数値かキーワ ー ド のいずれかの値を持つ も のがあ り ます。
数値 オプシ ョ ン リ ス ト は、 い く つかの数値型に対応 し てい ます。
整数型は、 10 進ま たは 16 進の整数を持つ こ と がで き ます。 x ・ X ・ 0x ・ 0X のいずれかで
始ま る 正の整数は 16 進値を表 し ます :
-12345
0
0xFF
float は、 浮動小数点数ま たは整数を持つ こ と がで き ます。 浮動小数点値の小数点 と し ては
ピ リ オ ド と カ ン マ を用い る こ と がで き ます。 指数記法に も 対応 し てい ます。 以下の値はす
べて同等です :
size
size
size
size
=
=
=
=
-123.45
-123,45
-1.2345E2
-1.2345e+2
パーセ ン ト 値は、 数値の直後に % キ ャ ラ ク タ を 1 個つけた数値です。 オプシ ョ ンに よ っ て
は負のパーセ ン ト 値が許 さ れます :
leading=120%
topoffset=-20.5%
ハン ド ル ハン ド ルは、 フ ォ ン ト ・ 画像 ・ ICC プ ロ フ ァ イ ル ・ ア ク シ ョ ン と いっ た さ ま ざ
ま な種類のオブジ ェ ク ト を特定 し ます。 技術的には こ れ ら は、 API 関数に よ っ て以前に返
さ れた整数値です。 た と えば、 画像ハン ド ルは PDF_load_image( ) に よ っ て返 さ れ ます。
ハン ド ルはつねに不透明な値 と し て取 り 扱 う 必要があ り 、アプ リ ケーシ ョ ン側で直接変更
し た り 作成 し た り し てはいけ ません (API 関数に よ っ て返 さ れたハン ド ルを用い る 必要が
あ り ます) 。 ハン ド ルはつねに、 それぞれのオブジ ェ ク ト の種類に対 し て有効でなければ
な り ません。 た と えば、 ど ち ら のハン ド ル も 整数型だか ら と いっ て、 画像ハン ド ルを受け
付け る オプシ ョ ンにグ ラ フ ィ ッ ク ハン ド ルを与え てはいけ ません。
1.1.3 文字サ イ ズ ・ ア ク シ ョ ン デー タ 型
文字サ イ ズ 文字サ イ ズは、 い く つかの方式で定義する こ と がで き 、 それに よ り 、 テ キ ス
ト のサ イ ズ を絶対値で指定 し た り 、 何 ら かの外部の実体に対す る 相対値で指定 し た り 、 何
ら かの フ ォ ン ト プ ロ パテ ィ に対す る 相対値で指定 し た り する こ と がで き ます。 通常、 文字
12
第 1 章 : プ ログ ラ ミ ングの概念
サ イ ズは 0 以外でなければな り ませんが、ただ し オプシ ョ ンの解説で特記あ る 場合は こ の
限 り ではあ り ません。
多 く の場合、 文字サ イ ズは float 値 1 個を内容 と し て持ち、 こ れはユーザー座標系にお
け る 単位に対す る 比率を表 し ます :
fontsize=12
ま たは、 パーセ ン ト 値を内容 と し て持つ こ と も で き 、 こ れが何に対す る パーセ ン ト 値であ
る かは コ ン テ キ ス ト に よ っ て異な り ます (例 : PDF_fit_textline( ) では、 はめ込み枠に対す
る 幅) :
fontsize=8%
あ る いは文字サ イ ズは、 オプシ ョ ン リ ス ト と し て指定する こ と も で き 、 こ れはキーワー ド
と 数値を内容 と し て持つ必要があ り ます。 こ こ でキーワ ー ド は、 求め る フ ォ ン ト メ ト リ ッ
ク を表 1.1 に従っ て記述 し 、 数値は、 求め る サ イ ズです。 選ばれた テ キ ス ト メ ト リ ッ ク が、
与え ら れた値に一致す る よ う 、 PDFlib が適切な文字サ イ ズ を算出 し ます :
fontsize={capheight 5}
表 1.1 文字サイズ型のオプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
ascender
数値は、 アセ ン ダの高 さ と し て解釈 さ れます。
bodyheight
数値は、 ベース ラ イ ンの間隔の最小値 と し て解釈 さ れます。 すなわち、 こ の値を行送 り と し て用
いた と きは、 隣 り 合 う 行のデ ィ セ ン ダ と ア セ ン ダがち ょ う ど く っ つ く 形にな り ます。 こ れは、
キーワー ド が与え られない と きのデ フ ォ ル ト の動作です。
capheight
数値は、 大文字の高 さ と し て解釈 さ れます。
xheight
数値は、 小文字の高 さ と し て解釈 さ れます。
ア ク シ ョ ン リ ス ト ア ク シ ョ ン リ ス ト は、 1 個ない し 複数のア ク シ ョ ン を指定 し ます。 リ
ス ト 内の各項目は、 イ ベン ト キー ワー ド ( ト リ ガ) 1 個 と 、 ア ク シ ョ ンハン ド ル群の リ ス
ト 1 個 と か ら 成 り ます。 こ のア ク シ ョ ンハン ド ルは、 PDF_create_action( ) で作成 し てお く
必要があ り ます。 ア ク シ ョ ンは、 リ ス ト 内に記述 さ れた順に実行 さ れます。 許 さ れ る イ ベ
ン ト (例 : docopen) と ア ク シ ョ ンの種類 (例 : JavaScript) は、 オプシ ョ ン ご と にそのつ
ど記 し ます。
リ ス ト が、 ト リ ガ 1 個 と ア ク シ ョ ン 3 個を内容 と し て持つ :
action={ activate={ 0 1 2 } }
リ ス ト が ト リ ガ 3 個を持ち、 それぞれがア ク シ ョ ン を 1 個ずつ持つ :
action={ keystroke=0 format=1 validate=2 }
1.1.4 色デー タ 型
色空間の概要 パ ス と テ キ ス ト キ ャ ラ ク タ を塗 る 色 と 描線す る 色を指定で き ます。色はい
く つかの色空間で指定で き ます (各箇条書 き 項目の頭に、 PDF_setcolor( ) と 色オプシ ョ ン
群の色空間キー ワー ド を記 し てい ます) :
> gray : 0= 黒 と 1= 白の間のグ レー値。
1.1 オプ シ ョ ン リ ス ト
13
> rgb:RGB の 3 値、すなわち、赤・緑・青を指定す る 0 か ら 1 ま での 3 つの値。(0, 0, 0)= 黒、
(1, 1, 1)= 白。 広 く 用い ら れてい る 範囲 0 ~ 255 の RGB カ ラ ー値は、 PDFlib が求め る 範囲
0 ~ 1 へス ケールす る ために 255 で割 る 必要があ り ます。
数値の RGB 値のかわ り に、 RGB 色を その HTML 名ま たは 16 進値を通 じ て指定す る こ
と も で き ます。
> cmyk : CMYK の 4 値、 すなわち、 シ ア ン ・ マゼン タ ・ イ エ ロ ー ・ 黒の値を表す、 0= 色な
し 、 1= フルカ ラ ーの間の値。 (0, 0, 0, 0)= 白、 (0, 0, 0, 1)= 黒。 こ れは RGB 指定 と は異な
る こ と に留意 し て く だ さ い。
> iccbased (PDF_setcolor( ) では不可)・iccbasedgray/rgb/cmyk:ICC ベース カ ラ ーは ICC プ
ロ フ ァ イ ルに基づ き ます。
> spotname : 定義済みス ポ ッ ト カ ラ ーの名前 と 濃度値 (パーセ ン ト 値) を、 0= 色な し か
ら 1= 最高濃度ま での範囲で表 し た も の。
あ る いは、 カ ス タ ム ス ポ ッ ト カ ラ ーの名前 と 、 濃度値 (パーセ ン ト 値) と 、 代替表現
を上記の他の色空間のいずれか一つで。
> spot : 定義済み ま たはカ ス タ ム の ス ポ ッ ト カ ラ ー と 濃度値 (パーセ ン ト 値) へのハン
ド ル。
> lab:D50 標準光源に よ る CIE L*a*b* 黒空間の中のデバ イ ス独立カ ラ ーを受け付け ます。
色は、 範囲 0 ~ 100 の輝度値 1 個 と 、 範囲 -128 ~ 127 の 2 個のカ ラ ー値 a と b で指定
さ れます。 a コ ン ポーネ ン ト の範囲は緑か ら 赤 / マゼン タ ま で (負値が緑を、 正値が
マゼン タ を示す)、 b コ ン ポーネ ン ト の範囲は青か ら 黄ま で (負値が青を、 正値が黄を
示す) です。
> pattern : 任意のテ キ ス ト かベ ク ト ルグ ラ フ ィ ッ ク か画像で構成 さ れたオブジ ェ ク ト に
よ る タ イ リ ン グパ タ ーン です。 パ タ ーンは PDF_begin_pattern_ext( ) か PDF_shading_
pattern( ) を用いて作成す る こ と がで き 、 パ タ ーンハン ド ルで識別で き ます。
描線 ・ 塗 り 操作のデフ ォ ル ト カ ラ ーは黒です。 こ のデフ ォ ル ト カ ラ ーの色空間は、 PDF/
X ・ PDF/A のカ ラ ー必要条件に合致す る よ う 自動的に選択 さ れます。
注 シ ェ ーデ ィ ング (スムーズブ レ ン ド ) は、 2 つの色の間の遷移を与え る も のです。 これは
PDF_shading( ) を用いて作成で き ます。
色オ プ シ ョ ン 色オプシ ョ ンは、 3 種類の形式で定義す る こ と がで き ます : RGB カ ラ ー
名、 16 進 RGB 値、 任意の色空間の色のための フ レ キ シブルなオプシ ョ ン リ ス ト のいずれ
かを用い ます。
ク ッ ク ブ ッ ク RGB
カ ラ ー値を使用する フ ル コ ー ド サン プルがク ッ ク ブ ッ ク ト ピ ッ ク
color/web_
colornames 内にあ り ます。
第一の形式では、 SVG 1.1 のすべての有効な カ ラ ー名を直接与え て、 RGB カ ラ ーを、 あ る
いは sRGB ICC プ ロ フ ァ イ ルが選択 さ れてい る 場合には sRGB カ ラ ーを、 指定す る こ と が
で き ます。 例 : .
strokecolor=pink
こ のカ ラ ー名は、 大文字 / 小文字を区別 し ます。 有効な RGB カ ラ ー名の一覧は、 以下の
場所で得 ら れます :
www.w3.org/TR/SVG11/types.html#ColorKeywords
14
第 1 章 : プ ログ ラ ミ ングの概念
第二の形式では、 ハ ッ シ ュ 「#」 キ ャ ラ ク タ の直後に、 任意の 3 個の 16 進数ペア 00 ~ FF
を与え て、 RGB カ ラ ー値を指定す る こ と がで き ます。 例 :
strokecolor=#FFC0CB
第三の形式は、 色空間 と カ ラ ー値を指定す る 色オプシ ョ ン リ ス ト です。 色オプシ ョ ン リ ス
ト は、 色空間キーワー ド 1 個 と 、 その色空間に よ っ て決ま る 個数の float 値の リ ス ト 1 個
を内容 と し て持ち ます。 色空間キー ワー ド は、 PDF_setcolor( ) (167 ページ 「8.1 色を設定」
参照) に対す る も の と 同 じ です。 具体的な説明 と 例を表 1.2 に示 し ます。 各関数の説明で
記 し ますが、 オプシ ョ ン リ ス ト に よ っ ては、 色空間キーワー ド 群の部分集合のみに対応 し
てい る も の も あ り ます。
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルが ク ッ ク ブ ッ クの color/starter_color ト ピ ッ ク にあ り ます。
表 1.2 オプ シ ョ ン リ ス ト 内の色デー タ 型のキーワー ド
キーワー ド
後続する値
例
gray
グ レースケール色空間の float 値 1 個
{ gray 0.5 }
rgb
RGB 色空間の float 値 3 個
{ rgb 1 0 0 }
(キーワー ド
な し)
HTML カ ラ ー名または RGB 色の 16 進値
pink
cmyk
CMYK 色空間の float 値 4 個
{ cmyk 0 1 0 0 }
lab
Lab 色空間の float 値 3 個
{ lab 100 50 30 }
spot
スポ ッ ト カ ラ ーハン ド ル と 、 濃度値を指定する float 1 個
{ spot 1 0.8 }
spotname
(最大 63 バイ ト 。 Unicode キ ャ ラ ク タ 群な らば も っ と 少な く 、
形式 ・ エ ン コ ーデ ィ ングに依存) スポ ッ ト カ ラ ー名 と 、 濃度
値を指定する float 1 個
{ spotname {PANTONE 281 U} 0.5 }
spotname
上記の簡単な形の spotname と 同様ですが、 カ ラ ー値を追加す
る こ と に よ り 、 カ ス タ ムスポ ッ ト カ ラ ー (すなわち PDFlib が
内部的に知ら ないスポ ッ ト カ ラ ー名) に対する代替色を指定
する こ と がで き ます。 複数のオプ シ ョ ン で同 じ カ ス タ ムス
ポ ッ ト カ ラ ー名を定義する と きは、 すべての定義で整合性を
と る (すなわち同 じ 代替色を定義する) 必要があ り ます。
{ spotname {PDFlib Blue} 0.5
{ lab 100 50 30 } }
iccbased
ICC プ ロ フ ァ イルハン ド ルまたはキーワー ド srgb と 、 ICC プ
ロ フ ァ イルの種別 (グ レーか RGB か CMYK か) に応 じ て 1 個
か 3 個か 4 個のカ ラ ー値。 こ の srgb キーワー ド は文書 ス コ ー
プ内では使用 し てはいけません。
{ iccbased <handle> 0.5 }
#FFC0CB
{ iccbased <handle> 0 0 0.75 }
{ iccbased srgb 0 0 0.75 }
{ iccbased <handle> 0 0 0.3 1 }
iccbasedgray オプ シ ョ ン iccprofilegray を用いて選択 さ れた ICC プ ロ フ ァ
イルを参照する float 値 1 個
{ iccbasedgray 0.5 }
iccbasedrgb
オプ シ ョ ン iccprofilergb を用いて選択 さ れた ICC プ ロ フ ァ
イルを参照する float 値 3 個
{ iccbasedrgb 1 0 0 }
iccbasedcmyk
オプ シ ョ ン iccprofilecmyk を用いて選択 さ れた ICC プ ロ フ ァ
イルを参照する float 値 4 個
{ iccbasedgray 0 1 0 0 }
pattern
パ タ ーンハン ド ル
{ pattern 1 }
none
色がない こ と を示 し ます
none
1.1 オプ シ ョ ン リ ス ト
15
1.1.5 図形デー タ 型
線 線は、 float 値 4 個の リ ス ト であ り 、 こ れ ら は、 線分の始点 と 終点の x 座標 と y 座標を
指定 し ます。 こ れ ら の座標を解釈す る ための座標系 (デフ ォ ル ト 座標系ま たはユーザー座
標系) は、 オプシ ョ ンに よ っ て異な り ますので、 個別に示 し ます :
line = {10 40 130 90}
折れ線 折れ線は、 n>2 の偶数 n 個の float 値を内容 と し て持つ リ ス ト です。 リ ス ト 内の
それぞれのペアは、 点 1 個の x 座標 と y 座標を指定 し ます。 こ れ ら の点が線分でつながれ
ます。 こ れ ら の座標を解釈す る ための座標系 (デフ ォ ル ト 座標系ま たはユーザー座標系)
は、 オプシ ョ ンに よ っ て異な り ますので、 個別に示 し ます :
polyline = {10 20 30 40 50 60}
以下のオプシ ョ ン リ ス ト は同等です :
polyline = {10 20 30r 40r 50r 60r}
polyline = {10 20 40 60 90 120}
四辺形は、 特殊な種類の折れ線です。 こ れは長方形が回転 し た も のであ り 、 ち ょ う ど 4 個
の点を指定す る 必要があ り ます。
も う 1 つの特殊な種類は多角形です。 こ れは、 自動的に線分に よ っ て閉 じ ら れ る 折れ
線です。
長方形 長方形は、 float 値 4 個の リ ス ト であ り 、 こ れ ら は、 長方形の左下隅 と 右上隅の x
座標 と y 座標を指定 し ます。 こ れ ら の座標を解釈する ための座標系 (デフ ォ ル ト 座標系ま
たはユーザー座標系) は、 オプシ ョ ン に よ っ て異な り ま すので、 個別に示 し ま す。 オプ
シ ョ ンのなかには、 パーセ ン ト 値を受け付け る も の も あ り 、 こ れが何に対す る パーセ ン ト
値であ る かは コ ン テ キ ス ト に よ っ て異な り ます (例 : テ キ ス ト フ ロ ーのはめ込み枠) 。 数
値の直後に接尾辞 r を付加す る こ と に よ り 、 相対座標を指定する こ と も で き ます。 座標 リ
ス ト の中で、 相対座標は、 直前の x 座標か y 座標に対す る 値 と な り ます。 相対座標が リ ス
ト の先頭にあ る と き は、 原点に対す る 値 と な り ますので、 すなわち絶対座標 と な り ます。
例:
cropbox={ 0 0 500 600 }
box={40% 30% 50% 70%}
以下のオプシ ョ ンは同等です :
box={12 34 56r 78r}
box={12 34 68 112}
円 円は、 float 値 4 個の リ ス ト と し て指定 さ れ、 1 番目のペアは、 中心の x 座標 と y 座標
を指定 し 、 2 番目のペアは、 円周上の任意の点の x 座標 と y 座標を指定 し ます。 こ れ ら の
座標を解釈す る ための座標系 (デフ ォ ル ト 座標系ま たはユーザー座標系) は、 オプシ ョ ン
に よ っ て異な り ますので、 個別に示 し ます :
circle={200 325 200 200}
曲線 リ ス ト 曲線 リ ス ト は、 連結 さ れた 2 本以上の 3 次のベジエ曲線分か ら 成 り ます。 1
本のベジエ曲線は、 4 個の制御点に よ っ て指定 さ れます。 1 個目の制御点は曲線の始点で
16
第 1 章 : プ ログ ラ ミ ングの概念
あ り 、 4 個目の点は終点です。 2 個目の点 と 3 個目の点は曲線の形状を制御 し ます。 曲線
リ ス ト では、 1 つの曲線分の最後の点が、 次の曲線分の 1 個目の点 と な り ます :
curve={200 700 240 600 80 580 400 660 400 660 440 620}
曲線の描画後は、 最後の制御点が新 し いカ レ ン ト 点 と な り ます。
1.1 オプ シ ョ ン リ ス ト
17
1.2 関数のス コ ープ
PDFlib のアプ リ ケーシ ョ ンは、 わか り やすい一定の構造規則に従 う 必要があ り ます。 た と
えば、 文書を開始す る 前に終了す る こ と な ど当然で き ません。 PDFlib は、 関数が正 し い順
序で呼び出 さ れ る よ う 、 厳格な ス コ ープ機構で強制 し てい ま す。 各 ス コ ープの定義を表
1.3 に示 し ます。 すべての API 関数の解説に、 各関数の許 さ れ る ス コ ープを示 し ます。 そ
の許 さ れ る ス コ ープの外で関数を呼ぶ と 、 例外が発生 し ます。 PDF_get_option( ) の scope
キーワ ー ド を使 う と 、 カ レ ン ト の ス コ ープを知る こ と がで き ます。
表 1.3 関数のス コ ープの定義
ス コ ープ名
定義
パス
PDF_moveto( ) ・ PDF_circle( ) ・ PDF_arc( ) ・ PDF_arcn( ) ・ PDF_rect( ) ・ PDF_ellipse( ) ・ PDF_elliptical_
arc( ) のいずれかで開始。
158 ページ 「7.5 描画 と ク リ ッ ピ ング」 のいずれかの関数で終了
ページ
PDF_begin_page_ext( ) と PDF_end_page_ext( ) の間、 ただ し パスス コ ープの外
テ ン プ レー
ト
PDF_begin_template_ext( ) と PDF_end_template( ) の間、 ただ し パスス コ ープの外
パ タ ーン
PDF_begin_pattern_ext( ) と PDF_end_pattern( ) の間、 ただ し パスス コ ープの外
フォン ト
PDF_begin_font( ) と PDF_end_font( ) の間、 ただ し グリフス コ ープの外
グリ フ
PDF_begin_glyph_ext( ) と PDF_end_glyph( ) の間、 ただ し パスス コ ープの外
文書
PDF_begin_document( ) と PDF_end_document( ) の間、 ただ し ページ ・ テンプレート ・ パターン ・
フォントス コ ープの外
オブ ジ ェ ク
ト
PDFlib オブ ジ ェ ク ト が存在 し ている間、 ただ し 文書ス コ ープの外。 C ・ Cobol 言語バイ ンデ ィ ング
の場合は、 PDF_new( ) と PDF_delete( ) の間、 ただ し 文書ス コ ープの外
18
第 1 章 : プ ログ ラ ミ ングの概念
1.3 ロ グ記録
ロ グ記録機能を使 う と 、 API の呼び出 し を ト レースす る こ と がで き ます。 ロ グ フ ァ イ ルの
内容は、 デバ ッ グ目的に も 有用です し 、 PDFlib GmbH のサポー ト か ら 求め ら れ る こ と も あ
り ます。 ロ グ記録のオプシ ョ ンは、 以下の方法で与え る こ と がで き ます :
> PDF_set_option( ) のグ ロ ーバル logging オプシ ョ ンに対す る オプシ ョ ン リ ス ト と し て。
例:
p.set_option("logging={filename=tracelog remove}")
> PDFLIBLOGGING と い う 環境変数で。こ う す る と 、いちばん初めに何 ら かの API 関数を呼
び出 し た時か ら ロ グ出力が始め ら れます。
表 1.4 logging オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
(空 リ ス ト )
ログ出力を有効に し ます
disable
(論理値) ログ記録の出力を無効に し ます
enable
(論理値) ログ出力の出力を有効に し ます
filename
(文字列) ログ フ ァ イルの名前。 特殊名 と し て stdout と stderr も認識 さ れます。 CICS ではこ の
オプ シ ョ ンは無視 さ れ、 ログ出力はつねに stderr へ書き出 さ れます。 既存の内容があ る と きは、
出力はそれに追加 さ れます. デ フ ォ ル ト :
pdflog
z/OS の場合
PDFlib.log
Mac ・ i5/iSeries の場合
\PDFlib.log
Windows の場合
/tmp/PDFlib.log
それ以外の全シ ス テムの場合
あ るいはログ フ ァ イルの名前は、 PDFLIBLOGFILE と い う 環境変数で与え る こ と も で き ます。
flush
(論理値) true な ら、 出力が終わる たびに ログ フ ァ イルが閉 じ ら れ、 次の出力で ま た開かれるの
で、 出力が確実に 放出 さ れます。 これは、 ログ フ ァ イルの中断箇所を見て プ ログ ラ ムのク ラ ッ
シ ュ を追いたい と き に有用ですが、 ただ し 処理はかな り 遅 く な り ます。 false な ら ログ フ ァ イルは
1 回だけ開かれます。 デ フ ォル ト : false
includepid
(論理値。 MVS では不可) ログ フ ァ イル名にプ ロ セス ID を含めます。 複数のプ ロ セスが同一のロ
グ フ ァ イル名を用いる場合には こ れを有効にするべき です。 デ フ ォ ル ト : false
includetid
(論理値。 MVS では不可) ログ フ ァ イル名にス レ ッ ド ID を含めます。 同一プ ロ セス内の複数のス
レ ッ ド が同一のログ フ ァ イル名を用いる場合にはこ れを有効にするべき です。 デ フ ォル ト : false
includeoid
(論理値。 MVS では不可) ログ フ ァ イル名にオブ ジ ェ ク ト ID を含めます。 同一ス レ ッ ド 内の複数
の PDFlib オブ ジ ェ ク ト が同一のログ フ ァ イル名を用いる場合には こ れを有効にするべき です。 デ
フ ォ ル ト : false
remove
(論理値) true な ら、 既存のロ グ フ ァ イルは、 新 し い出力が書き出 さ れる前に削除 さ れます。 デ
フ ォ ル ト : false
removeonsuccess
(論理値) 生成 さ れた ログ フ ァ イルを、 例外が発生 し た場合を除き、 PDF_delete( ) で削除 し ます。
こ れは、 マルチス レ ッ ド ア プ リ ケーシ ョ ンにおいて時たま起 こ る問題や、 散発的に し か起 こ ら な
い問題を分析する ために有用で し ょ う 。 こ のオプ シ ョ ン を、 includepid/includetid/includeoid
と 適宜組み合わせて用いる こ と を推奨 し ます。
stringlimit
(整数) 行あた り の文字数の制限値か、 または 0 で無制限。 デ フ ォ ル ト : 0
1.3 ログ記録
19
表 1.4 logging オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
classes
(オプ シ ョ ン リ ス ト ) 整数型のオプ シ ョ ン を入れたオプ シ ョ ン リ ス ト 。 こ こ で各オプ シ ョ ンはロ グ
記録種別を記述 し 、 その値は粒度レ ベルを記述 し ます。 レ ベル 0 な ら そのログ記録種別は無効に
な り 、 正の値な ら その種別は有効にな り ます。 レ ベルを上げるほど出力は詳 し く な っ てい き ます。
以下のオプ シ ョ ンが用意 さ れています (デ フ ォ ル ト : {api=1 warning=1}) :
api
すべての API 呼び出 し を、 その関数引数 と 戻 り 値 と と も に ログ記録 し ます。 api=2 にす
る と 、 すべての API ト レース行の頭に タ イ ムス タ ン プが生成 さ れる と と も に、 非推奨の
関数 ・ オプ シ ョ ンはその旨が示 さ れます。
filesearch SearchPath ま たは PVF によ る フ ァ イル検索に関連 し たすべての試みを ログ記録 し ます。
20
resource
Windows レ ジ ス ト リ と UPR 定義に よ るすべての リ ソ ース検索の試みを、 その リ ソ ース
検索の結果 と と も に ログ記録 し ます。
tagging
構造エ レ メ ン ト ( タ グ) 操作
user
userlog オプ シ ョ ン で与えている、 ユーザー指定のログ記録出力。
warning
すべての PDFlib 警告を ログ記録 し ます。 警告 と は、 無視または内部対応で き る エ ラ ー
状況です。 warning=2 にする と 、 例外を発生 さ せずに メ ッ セージ テキス ト を中継 さ せて
PDF_get_errmsg( ) で取得 さ せる関数からの メ ッ セージ と 、 フ ァ イルを開 こ う と し て失敗
し たすべての試みの原因も ログ記録 さ れます。
第 1 章 : プ ログ ラ ミ ングの概念
2 一般関数
2.1 例外処理
こ の節に関連す る オプシ ョ ン を表 2.1 に示 し ます。 こ れ ら のオプシ ョ ンは多 く の関数で用
い る こ と がで き 、 それぞれのオプシ ョ ン リ ス ト の開設でその旨示 さ れてい ます。 こ れは、
PDF_set_option( ) に対す る グ ロ ーバルオプシ ョ ン と し て も 与え る こ と がで き ます (25 ペー
ジ 「2.3 グ ロ ーバルオプシ ョ ン」 参照)。
表 2.1 PDF_set_option( ) の例外関連オプ シ ョ ン
キー
説明
errorpolicy
(キーワー ド ) エ ラ ー発生時の さ ま ざ ま な関数の動作を制御 し ます。 errorpolicy グ ローバルオプ
シ ョ ンは、 さ ま ざ ま な関数の errorpolicy オプ シ ョ ンに よ っ てオーバラ イ ド する こ と がで き、 こ
のオプ シ ョ ンに対するデ フ ォ ル ト と し てはた ら き ます。 使え るキーワー ド (デ フ ォ ル ト :
legacy) :
legacy
(非推奨) 関数の動作は PDFlib 6 と 同 じ です。
return
エ ラ ーが起き る と 関数は返 り ます。 エ ラ ー コ ー ド を返せる関数 (PDF_load_image( ) 等)
は -1 (PHP では 0) を返 し ます。 結果文字列を返す関数 (PDF_fit_table( ) 等) は文字列
_error を返 し ます。 ア プ リ ケーシ ョ ンの開発者は、 戻 り 値が -1 (PHP では 0) または
_error でないかを検査 し てエ ラ ー状況を検出する必要があ り ます。 エ ラ ーが起き た と
きは、 問題の詳 し い内容は PDF_get_errmsg( ) で取得で き ます。 新規のア プ リ ケーシ ョ ン
にはこ の設定を推奨 し ます。
exception エ ラ ーが起き る と 、 関数は例外を発生 さ せます。 こ の例外は、 バイ ンデ ィ ング固有の し
く みを用いて ク ラ イ ア ン ト コ ー ド 内で補足する必要があ り ます。 その時点ま でに生成 さ
れた作 り かけの PDF 出力は使え な く な り ますので、 破棄する必要があ り ます。
C++ Java C# int get_errnum( )
Perl PHP int get_errnum( )
C int PDF_get_errnum(PDF *p)
最後に発生 し た例外か、 ま たは関数呼び出 し 失敗の原因の番号を得ます。
戻り値
も っ と も 最近のエ ラ ー条件のエ ラ ー コ ー ド 。
スコープ PDFlib で例外が発生 し てか ら 、 PDFlib オブジ ェ ク ト が死ぬま での間。 あ る いは関数がエ
ラ ー コ ー ド -1 (PHP では 0) を返 し てか ら 、 こ の節で示 し てい る も のを除 く 任意の関数を
呼び出すま での間に、 こ の関数を呼び出す こ と も で き ます。
バインディング C++ ・ Java ・ Objective C ・ .NET ・ PHP ・ REALbasic/Xojo では、 こ の関数は PDFlibException
オブジ ェ ク ト で get_errnum( ) と し て も 得 ら れます。
2.1 例外処理
21
C++ Java C# String get_errmsg( )
Perl PHP string get_errmsg( )
C const char *PDF_get_errmsg(PDF *p)
最後に発生 し た例外か、 ま たは関数呼び出 し 失敗の原因のテ キ ス ト を得ます。
戻り値
も っ と も 最近のエ ラ ー条件の記述 さ れたテ キ ス ト 。
スコープ PDFlib で例外が発生 し てか ら 、 PDFlib オブジ ェ ク ト が死ぬま での間。 あ る いは関数がエ
ラ ー コ ー ド -1 (PHP では 0) を返 し てか ら 、 こ の節で示 し てい る も のを除 く 任意の関数を
呼び出すま での間に、 こ の関数を呼び出す こ と も で き ます。
バインディング C++ ・ Java ・ Objective C ・ .NET ・ PHP ・ REALbasic/Xojo では、 こ の関数は PDFlibException
オブジ ェ ク ト で get_errmsg( ) と し て も 得 ら れます。
C++ Java C# String get_apiname( )
Perl PHP string get_apiname( )
C const char *PDF_get_apiname(PDF *p)
最後の例外を発生 さ せたか、 ま たは失敗 し た API 関数の名前を得ます。
戻り値 例外を発生 さ せた API 関数の名前か、 ま たは も っ と も 最近に呼び出 さ れて失敗 し エ ラ ー
コ ー ド を返 し た関数の名前。
スコープ PDFlib で例外が発生 し てか ら 、 PDFlib オブジ ェ ク ト が死ぬま での間。 あ る いは関数がエ
ラ ー コ ー ド -1 (PHP では 0) を返 し てか ら 、 こ の節で示 し てい る も のを除 く 任意の関数を
呼び出すま での間に、 こ の関数を呼び出す こ と も で き ます。
バインディング C++ ・ Java ・ Objective C ・ .NET ・ PHP ・ REALbasic/Xojo では、 こ の関数は PDFlibException
オブジ ェ ク ト で get_apiname( ) と し て も 得 ら れます。
C++ void *get_opaque( )
C void *PDF_get_opaque(PDF *p)
PDFlib 内に格納 さ れてい る 不透明な アプ リ ケーシ ョ ン ポ イ ン タ を取 り 出 し ます。
戻り値 PDF_new2( ) を呼び出 し た時に与え ておいた、 PDFlib 内に格納 さ れてい る 不透明な アプ リ
ケーシ ョ ン ポ イ ン タ 。
詳細 PDFlib は、 こ の不透明ポ イ ン タ を一切 さ わ ら ずに、 その ま ま で ク ラ イ ア ン ト に与え ます。
こ れは、 マルチ ス レ ッ ド の ア プ リ ケ ーシ ョ ン で プ ラ イ ベー ト な ス レ ッ ド 独自デー タ を
PDFlib オブジ ェ ク ト 内に格納す る ために使え る で し ょ う 。 特に、 ス レ ッ ド 独自の例外処理
に有用です。
スコープ 任意
バインディング C ・ C++ バ イ ンデ ィ ン グでのみ得 ら れます。
22
第 2 章 : 一般関数
2.2 Unicode 変換
C++ string convert_to_unicode(string inputformat, string input, string optlist)
Java string convert_to_unicode(string inputformat, byte[ ] input, string optlist)
Perl PHP string convert_to_unicode(string inputformat, string input, string optlist)
C const char *PDF_convert_to_unicode(PDF *p,
const char *inputformat, const char *input, int inputlen, int *outputlen, const char *optlist)
任意のエン コ ーデ ィ ン グの文字列を、 さ ま ざ ま な形式の Unicode 文字列へ変換 し ます。
inputformat 入力文字列の解釈を指定す る Unicode テ キ ス ト 形式ま たはエン コ ーデ ィ ン
グ名 :
> Unicode テ キ ス ト 形式 : utf8 ・ ebcdicutf8 ・ utf16 ・ utf16le ・ utf16be ・ utf32
> font オプシ ョ ンが指定 さ れてい る 場合のみ : builtin ・ glyphid
> すべての内部的に知 ら れてい る 8 ビ ッ ト エン コ ーデ ィ ン グ、ホ ス ト シ ス テ ム上で利用可
能なエン コ ーデ ィ ン グ、 お よ び日中韓エン コ ーデ ィ ン グ cp932 ・ cp936 ・ cp949 ・ cp950
> キー ワー ド autoは以下の動作を指定 し ます: も し 入力文字列がUTF-8かUTF-16のBOM
を含んでい る な ら 、 それを用いて適切な形式を決定 し 、 そ う でない場合にはカ レ ン ト
のシ ス テ ム コ ー ド ページであ る と 見な さ れます。
input Unicode へ変換 し たい文字列 (COM の場合 : バ リ ア ン ト 。 REALbasic/Xojo の場合 :
MemoryBlock)。
inputlen (C 言語バ イ ンデ ィ ン グ のみ) 入力文字列の長 さ を バ イ ト 単位で表 し た も の。
inputlen=0 の場合には、 ヌ ル終端文字列を与え る 必要があ り ます。
outputlen (C 言語バ イ ンデ ィ ン グのみ) 返 さ れ る 文字列の長 さ が格納 さ れ る メ モ リ 位置
への C ス タ イ ルのポ イ ン タ 。
optlist 入力解釈 と Unicode 変換のためのオプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト :
> 表 4.6 に従っ た テ キ ス ト フ ィ ル タ オプシ ョ ン群 : charref ・ escapesequence
> 表 2.2 に従っ た Unicode 変換オプシ ョ ン群 :
bom ・ errorpolicy ・ font ・ inflate ・ outputformat
戻り値 入力文字列か ら 、 指定 さ れた引数群 と オプシ ョ ン群に従っ て作成 さ れた Unicode 文字列。
入力文字列が、 指定 さ れた入力形式に準拠 し ていない と き は (た と えば無効な UTF-8 文
字列)、 errorpolicy=return の場合には空の出力文字列が返 さ れ、 errorpolicy=exception の場
合には例外が発生 し ます。
詳細
こ の関数は、汎用の Unicode 文字列変換のために有用で し ょ う 。 こ れは、然る べき Unicode
変換機能を有 さ ない環境で作業をす る ユーザーの便宜のために提供 さ れてい ます。
スコープ 任意
バインディング C バ イ ンデ ィ ン グ : 返 さ れ る 文字列は、 最大 10 項目を持つ リ ン グバ ッ フ ァ に格納 さ れま
す。 も し 10 個 よ り 多い文字列が変換 さ れ る と 、 こ のバ ッ フ ァ は再利用 さ れますので、 ク
ラ イ ア ン ト は、 10 個を超え る 文字列を並行 し て利用 し たい場合には、 こ の文字列群を複
製す る 必要があ り ます。 た と えば、 こ の関数への呼び出 し が 10 回ま でであれば、 それを
ス テー ト メ ン ト に対す る 引数 と し て用いて差 し 支え あ り ません。 なぜな ら 、 10 個を超え
る 文字列が同時に使用 さ れないな ら ば、返 さ れ る 文字列は独立であ る こ と が保証 さ れ る か
ら です。
2.2 Unicode 変換
23
Unicode 非対応言語バ イ ンデ ィ ン グ : こ の関数を使 う と 、 Unicode 非対応言語バ イ ンデ ィ
ン グ で名前文字列 と オプシ ョ ン リ ス ト を作成す る こ と がで き ま す。 こ れは、 オプ シ ョ ン
bom=optimize かつ outputformat=utf8 の場合、 必要な BOM を作成 し ます。
C++ バ イ ンデ ィ ン グ :引数 inputformat と optlist は通常どお り wstring と し て渡す必要
があ り ますが、 input と 返 さ れ る デー タ は型 string を持つ必要があ り ます。
表 2.2 PDF_convert_to_unicode( ) のオプ シ ョ ン
オプ シ ョ ン
説明
bom
(キーワー ド 。 outputformat=utf32 では無視 さ れます) 出力文字列にバイ ト 順序マー ク (BOM) を
付加するにあた っ てのポ リ シー。 使え るキーワー ド (デ フ ォ ル ト : none) :
errorpolicy
add
BOM を付加。
keep
入力文字列に BOM があ る な ら BOM を付加。
none
BOM を付加 し ない。
optimize
outputformat=utf8 か ebcdicutf8 かつ出力文字列が範囲 < U+007F 内のキ ャ ラ ク タ のみを
内容 と し ている場合を除いて BOM を付加。
(キーワー ド ) 変換エ ラ ーの際の動作 (デ フ ォ ル ト : errorpolicy グ ローバルオプ シ ョ ンの値。 表
2.1 参照) :
return
文字参照が解決で き ない場合、 または指定 さ れた フ ォ ン ト 内に コ ー ド かグ リ フ ID が存在
し ない場合に、 代替キ ャ ラ ク タ が用い ら れます。 変換エ ラ ーの場合には空文字列が返 さ
れます。
exception 変換エ ラ ーの場合には例外が発生 し ます。
font
(フ ォ ン ト ハン ド ル。 inputformat=builtin ・ glyphid の場合には必須) 指定 さ れた フ ォ ン ト に応 じ
て、 フ ォ ン ト 固有の変換を適用 し ます。
inflate
(論理値。 inputformat=utf8 の場合のみ) true の場合には、 無効な UTF-8 入力文字列は例外を発
生 さ せず、 指定 さ れた出力形式のイ ン フ レー ト さ れたバイ ト 文字列が生成 さ れます。 こ のイ ン フ
レー ト さ れた文字列は、 その入力文字列内のバイ ト 群の ASCII 解釈に照応する Unicode キ ャ ラ ク タ
群を内容 と し ます。 こ れはデバ ッ グのために有用で し ょ う 。 デ フ ォ ル ト : false
outputformat
(キーワー ド ) 生成 さ れる文字列の Unicode テキス ト 形式 : utf8 ・ ebcdicutf8 ・ utf16 ・ utf16le ・
utf16be ・ utf32。 空文字列は utf16 と 等価です。 デ フ ォル ト : Default: utf16
Unicode 対応言語バイ ンデ ィ ン グ : 出力形式は強制的に utf16 にな り ます。
C++ 言語バイ ンデ ィ ング : 以下の出力形式のみが許 さ れます : ebcdicutf8 ・ utf8 ・ utf16 ・ utf32。
24
第 2 章 : 一般関数
2.3 グ ロ ーバルオ プ シ ョ ン
PDFlib は、ラ イ ブ ラ リ と PDF 出力の書式を制御す る ための さ ま ざ ま な グ ロ ーバルオプシ ョ
ン を提供 し てい ます。 こ れ ら のオプシ ョ ンの設定は、 PDFlib オブジ ェ ク ト が存在 し てい る
間ずっ と 、 も し く は ク ラ イ ア ン ト が明示的に設定を変更す る ま で保持 さ れます。
C++ Java C# void set_option(String optlist)
Perl PHP set_option(string optlist)
C void PDF_set_option(PDF *p, const char *optlist)
1 個ない し 複数のグ ロ ーバルオプシ ョ ン を設定 し ます。
optlist 表 2.3 に従っ た グ ロ ーバルオプシ ョ ン群を指定す る オプシ ョ ン リ ス ト 。 以下のオ
プシ ョ ン を用い る こ と がで き ます :
> 表 2.3 に従っ た、 リ ソ ース処理 と リ ソ ース カ テ ゴ リ のためのオプシ ョ ン群 :
CMap ・ Encoding ・ enumeratefonts ・ FontAFM ・ FontnameAlias ・ FontOutline ・ FontPFM ・
HostFont ・ ICCProfile ・ resourcefile ・ saveresources ・ searchpath
> 表 2.3 に従っ た、 フ ァ イ ル処理 と ラ イ セ ン シ ン グのためのオプシ ョ ン群 :
avoiddemostamp ・ filenamehandling ・ license ・ licensefile
> 表 2.3 に従っ た テ キ ス ト フ ィ ル タ オプシ ョ ン群 :
charref ・ escapesequence ・ glyphcheck ・ stringformat ・ textformat
> 表 2.3 に従っ た、 イ ン タ ラ ク テ ィ ブ要素のためのオプシ ョ ン群 :
hypertextencoding ・ hypertextformat ・ usehypertextencoding ・ usercoordinates
> 表 2.3 に従っ たその他のオプシ ョ ン群 :
asciifile・autospace・compress・ kerning・logging・shutdownstrategy・usehostfonts・userlog
> 表 2.1 に従っ た、 エ ラ ー処理のためのオプシ ョ ン : errorpolicy
> 表 8.1 に従っ た、 色処理のためのオプシ ョ ン群 :
iccprofilecmyk ・ iccprofilegray ・ iccprofilergb ・ preserveoldpantonenames ・ spotcolorlookup
詳細
リ ソ ー ス カ テ ゴ リ オプシ ョ ン群を除 き 、 新 し い値は、 以前に設定 さ れたオプシ ョ ン値を
オーバ ラ イ ド し ます。
以下のオプシ ョ ンは、同名のテ キ ス ト オプシ ョ ンのためのデフ ォ ル ト 値を与え ます (表
4.6 ・ 表 4.7 参照) :
charref ・ escapesequence ・ glyphcheck ・ kerning ・ textformat
と 同時に、 こ れ ら のオプシ ョ ンは、 カ レ ン ト のテ キ ス ト ス テー ト におけ る 同名のオプ
シ ョ ン を変更 し ま す。 望 ま ない副作用を避け る ため、 コ ン テ キ ス ト 文字列のためのオプ
シ ョ ン を PDF_set_text_option( ) でのみ設定す る こ と を推奨 し ます。
スコープ 任意、 ただ し い く つかのオプシ ョ ンでは制約 さ れた ス コ ープが適用 さ れます。
表 2.3 PDF_set_option( ) のグローバルオプ シ ョ ン
オプ シ ョ ン
定義
asciifile
(論理値。 i5/iSeries ・ zSeries でのみ対応) テキス ト フ ァ イル (PFA ・ AFM ・ UPR ・ エ ン コ ーデ ィ ン
グ) を ASCII エ ン コ ーデ ィ ング と 見な し ます。 デ フ ォ ル ト : i5/iSeries では true、 zSeries では
false
2.3 グローバルオプ シ ョ ン
25
表 2.3 PDF_set_option( ) のグローバルオプ シ ョ ン
オプ シ ョ ン
定義
autospace
true の場合、かつ カ レ ン ト フ ォ ン ト が U+0020 のためのグ リ フ を含んでいる場合には、PDFlib は、各
テキス ト 出力の後に自動的に空白キ ャ ラ ク タ を付加 し ます。 こ れは タ グ付き PDF を生成する ため
に有用で し ょ う 。 空白が付加 さ れる こ と によ っ て、 その show 操作の後のカ レ ン ト テキス ト 位置が
変わる こ と に留意 し て く だ さ い。 デ フ ォ ル ト : false
avoiddemostamp
(論理値) true の場合、 有効な ラ イ セ ン スキーが見つか ら ない と き に例外が発生 し ます。 false の
場合、 すべてのページ上にデモ ス タ ン プが作成 さ れます。 こ のオプ シ ョ ンは、 PDF_begin_
document( ) への最初の呼び出 し の前に設定する必要があ り ます。 デ フ ォル ト : false
charref
(論理値) true の場合、 すべての内容 ・ 名前 ・ ハイパーテキス ト 文字列に対 し て、 数値 ・ 文字実体
参照 と グ リ フ 名参照の置き換え を有効に し ます。 文字参照の置き換え を望ま ない箇所でそれが起
こ ら ないよ う にする には ( フ ァ イル名な ど)、 PDF_set_text_option( ) で こ のオプ シ ョ ン を内容文字
列に対 し てのみ設定する こ と を推奨 し ます。 詳 し く は PDFlib チ ュ ー ト リ アルを参照 し て く だ さ い。
デ フ ォ ル ト : false
CMap
(名前文字列のペアの リ ス ト ) リ ソ ース定義を空白か等号 「=」 で区切っ たキー/値ペアの リ ス ト
(詳 し く は PDFlib チ ュ ー ト リ アルを参照)。 複数回呼び出す と 内部 リ ス ト に新たな エ ン ト リ が追加
さ れます。
compress
(整数) 圧縮レ ベル。 圧縮な し = 0 か ら、 1 =最高速、 等々、 最高圧縮= 9 ま で。 このオプ シ ョ ン
は、 パス スルーモー ド で処理 さ れる画像デー タ では効力を持ち ません。 デ フ ォ ル ト : 6。 ス コ ー
プ : オブジェクト以外任意
Encoding
(名前文字列のペアの リ ス ト ) 空白か等号 「=」 で区切 っ た、 リ ソ ース定義に対するキー / 値ペア
の リ ス ト (詳 し く は PDFlib チ ュ ー ト リ アルを参照)。 複数回呼び出す と 、 内部 リ ス ト に新たな項目
群が追加 さ れます。
enumeratefonts
(論理値) true の場合、 PDFlib は、 SearchPath リ ソ ース を通 じ てア ク セス で き るすべてのデ ィ レ
ク ト リ 内で フ ォ ン ト アウ ト ラ イ ン フ ァ イルを探 し ます。 これは、 多量のフ ォ ン ト が利用可能の場
合にはかな り の時間を要 し ますので、 注意 し て使用する必要があ り ます。 生成 さ れる リ ソ ース リ
ス ト を、 saveresources オプ シ ョ ン を用いて フ ァ イルへ保存する こ と も で き ます。 推奨 さ れる戦略
は、 利用可能な フ ォ ン ト の数が変わっ た時にのみ リ ソ ース リ ス ト を作成 ・ 保存 し 、 PDFlib オブ
ジ ェ ク ト ご と に生成文書ご と に こ れを行 う こ と は し ない こ と です。
有効な フ ォ ン ト アウ ト ラ イ ン フ ァ イルそれぞれについて、 PDFlib は、 その font-family 名 ・ fontweight 名 ・ font-style 名を決定 し 、 以下の方式に従 っ て API フ ォ ン ト 名を合成 し ます :
<font-family>[,<font-weight>][,font-style]
PDFlib は、 この合成フ ォ ン ト 名 と そのフ ォ ン ト の フルパス名 と 紐付ける形式
<fontname>=<pathname> の FontOutline リ ソ ース を作成 し ます。PostScript Type 1 フ ォ ン ト の場合に
は、 照応する FontAFM または FontPFM リ ソ ース も 作成 さ れます。 こ の API フ ァ イル名に加えて、
PDFlib は、 その フ ォ ン ト の PostScript 名が合成名 と 異な る場合には、 こ の PostScript 名を持つ
FontnameAlias リ ソ ース も作成 し ます :
<PostScript fontname>=<artificial fontname>
結果 と し て、 そのフ ォ ン ト は、 その合成 フ ォ ン ト 名か PostScript 名のいずれかを通 じ て読み込め
る よ う にな り ます。 デ フ ォ ル ト : false
escapesequence
26
(論理値) true の場合、 すべての内容 ・ 名前 ・ ハイパーテキス ト 文字列内のエ スケープ シーケ ン ス
の置き換え を有効に し ます。 エ スケープ シーケ ン スの置き換え を望ま ない箇所でそれが起 こ ら な
いよ う にする には ( フ ァ イル名な ど)、 PDF_set_text_option( ) で こ のオプ シ ョ ン を内容文字列に対
し てのみ設定する こ と を推奨 し ます。 デ フ ォル ト : false
第 2 章 : 一般関数
表 2.3 PDF_set_option( ) のグローバルオプ シ ョ ン
オプ シ ョ ン
定義
filenamehandling
(キーワー ド ) フ ァ イル名のエ ン コ ーデ ィ ング を示 し ます。 Unicode 非対応言語バイ ンデ ィ ングに
おいて UTF-8 BOM な し で関数引数 と し て与え られた フ ァ イル名は、 その フ ァ イルシ ス テムにおい
て違法 と な るキ ャ ラ ク タ に対 し てガー ド する ため、 かつその フ ァ イル名の Unicode 版を作成する た
めに、 こ のオプ シ ョ ンに従っ て解釈 さ れます。 そのフ ァ イル名が、 こ こ で指定 さ れたエ ン コ ー
デ ィ ング外のキ ャ ラ ク タ を含んでいる と きは、 エ ラ ーが発生 し ます。 デ フ ォ ル ト : Windows ・ OS X
では unicode、 i5/iSeries では auto、 それ以外では honorlang :
ascii
7 ビ ッ ト ASCII
basicebcdic コ ー ド ページ 1047 に従っ た基本 EBCDIC、 ただ し Unicode 値≦ U+007E のみ
basicebcdic_37
コ ー ド ページ 0037 に従っ た基本 EBCDIC、 ただ し Unicode 値≦ U+007E のみ
honorlang (i5/iSeries では不可) 環境変数 LC_ALL ・ LC_CTYPE ・ LANG を解釈 し て フ ァ イル名に適
用。 LANG で指定 さ れた コ ー ド セ ッ ト が利用可能な場合にはそれがフ ァ イル名に適用 さ
れます。
legacy
host エ ン コ ーデ ィ ング を用いて フ ァ イル名を解釈。
unicode
(EBCDIC-) UTF-8 形式の Unicode エ ン コ ーデ ィ ン グ
すべての有効な エ ン コ ーデ ィ ング名
PDFlib によ っ て認識 さ れる任意のエ ン コ ーデ ィ ング (表 4.2 参照)、 ただ し Cmap ・
glyphid ・ builtin を除 く
FontAFM
(名前文字列のペアの リ ス ト ) 空白か等号 「=」 で区切 っ た、 リ ソ ース定義に対するキー / 値ペア
の リ ス ト (詳 し く は PDFlib チ ュ ー ト リ アルを参照)。 複数回呼び出す と 、 内部 リ ス ト に新たな項目
群が追加 さ れます。
FontnameAlias
(名前文字列のペアの リ ス ト ) 空白か等号 「=」 で区切 っ た、 リ ソ ース定義に対するキー / 値ペア
の リ ス ト (詳 し く は PDFlib チ ュ ー ト リ アルを参照)。 複数回呼び出す と 、 内部 リ ス ト に新たな項目
群が追加 さ れます。
FontOutline
(名前文字列のペアの リ ス ト ) 空白か等号 「=」 で区切 っ た、 リ ソ ース定義に対するキー / 値ペア
の リ ス ト (詳 し く は PDFlib チ ュ ー ト リ アルを参照)。 複数回呼び出す と 、 内部 リ ス ト に新たな項目
群が追加 さ れます。
FontPFM
(名前文字列のペアの リ ス ト ) 空白か等号 「=」 で区切 っ た、 リ ソ ース定義に対するキー / 値ペア
の リ ス ト (詳 し く は PDFlib チ ュ ー ト リ アルを参照)。 複数回呼び出す と 、 内部 リ ス ト に新たな項目
群が追加 さ れます。
glyphcheck
(キーワー ド ) 説明は表 4.6 を参照 し て く だ さ い。 PDF_set_text_option( ) で こ のオプ シ ョ ン を内容文
字列に対 し てのみ設定する こ と を推奨 し ます。 詳 し く は PDFlib チ ュ ー ト リ アルを参照 し て く だ さ
い。 デ フ ォル ト : replace
HostFont
(名前文字列のペアの リ ス ト ) 空白か等号 「=」 で区切 っ た、 リ ソ ース定義に対するキー / 値ペア
の リ ス ト (詳 し く は PDFlib チ ュ ー ト リ アルを参照)。 複数回呼び出す と 、 内部 リ ス ト に新たな項目
群が追加 さ れます。
hypertextencoding
(文字列。 Unicode 非対応言語バイ ンデ ィ ングに対 し てのみ) ハイパーテキス ト 文字列のためのエ
ン コ ーデ ィ ング。 空文字列は unicode と 等価です。 デ フ ォ ル ト : auto
hypertextformat
(キーワー ド 。 Unicode 非対応言語バイ ンデ ィ ングに対 し てのみ) 関数引数 と し てのハイパーテキ
ス ト 文字列のための形式。 使え るキーワー ド は bytes ・ utf8 ・ ebcdicutf8 ・ utf16 ・ utf16le ・
utf16be ・ auto。 デ フ ォ ル ト : auto
ICCProfile
(名前文字列のペアの リ ス ト ) 空白か等号 「=」 で区切 っ た、 リ ソ ース定義に対するキー / 値ペア
の リ ス ト (詳 し く は PDFlib チ ュ ー ト リ アルを参照)。 複数回呼び出す と 、 内部 リ ス ト に新たな項目
群が追加 さ れます。
2.3 グローバルオプ シ ョ ン
27
表 2.3 PDF_set_option( ) のグローバルオプ シ ョ ン
オプ シ ョ ン
定義
iccprofilecmyk
iccprofilegray
iccprofilergb(
(ICC プ ロ フ ァ イルハン ド ル) iccbasedcmyk/gray/rgb 色オプ シ ョ ン で用いる ための CMYK かグ
レーか RGB 色空間を指定する ICC プ ロ フ ァ イル。 デ フ ォ ル ト : ICC 色空間な し
kerning
(論理値) true の場合、 readkerning オプ シ ョ ン を用いて開かれている フ ォ ン ト に対 し て カ ーニ ン
グ を有効に し ます。 そ う でない場合にはカ ーニ ング を無効に し ます。 デ フ ォル ト : true
license
(文字列) PDFlib か PDFlib+PDI か PPS のラ イ セ ン スキー (詳 し く は PDFlib チ ュ ー ト リ アルを参照
し て く だ さ い)。 キーを設定で き るのは、 初めて PDF_begin_document( ) を呼び出す前です。 ラ イ セ
ン スキーがないためにデモ ス タ ン プが生成 さ れて し ま う 事故を防ぐ ため、 avoiddemostamp オプ
シ ョ ン を用いて く だ さ い。
licensefile
(名前文字列) ラ イ セ ン スキーの入っ た フ ァ イルの名前 (詳 し く は PDFlib チ ュ ー ト リ アルを参照 し
て く だ さ い)。 ラ イ セ ン ス フ ァ イルを設定で き るのは、 初めて PDF_begin_document( ) を呼び出す前
に 1 回だけです。
logging
(オプ シ ョ ン リ ス ト ) 表 1.4 に従っ た ログ記録オプ シ ョ ン群
maxfilehandles
(非サポー ト 。 Windows にのみ実装) 同時に開かれている (C ラ ン タ イ ム内で) フ ァ イルの数の新
し い最大値。 こ の数は 20 以上、 2048 以下である必要があ り ます。 こ の新 し い値が C ラ ン タ イ ム
によ っ て受け付け ら れなか っ た と きは、 例外が発生 し ます。 ス コ ープ : オブ ジ ェ ク ト
resourcefile
(名前文字列) PDFlib UPR リ ソ ース フ ァ イルの相対フ ァ イル名ま たは絶対 フ ァ イル名。 リ ソ ース
フ ァ イルはただ ちに読み込まれます。 既存の リ ソ ースは保持 さ れますが、 再設定 さ れた と き には
新 し い値でオーバラ イ ド さ れます。
saveresources
(名前文字列) PDFlib UPR リ ソ ース フ ァ イルの相対または絶対フ ァ イル名。 この リ ソ ース フ ァ イル
は、 いずれかの リ ソ ースへの最初のア ク セ スの直前に読み込まれます。 既存の リ ソ ースは保持 さ
れます。 その値は、 再設定 さ れている場合には、 新 し い ものでオーバラ イ ド さ れます。
searchpath
(名前文字列の リ ス ト ) 読み取 り たい フ ァ イルが位置する、 1 個ない し 複数のデ ィ レ ク ト リ の相対
パス名または絶対パス名。 検索パスは複数回設定する こ と がで き、 その項目群は蓄積 さ れて、 設
定 さ れた順に用い ら れます (詳 し く は PDFlib チ ュ ー ト リ アルを参照)。 デ ィ レ ク ト リ 名が空白キ ャ
ラ ク タ を含んでいる場合の問題を避ける ために、 エ ン ト リ が 1 個 し かな く て も二重中括弧を用い
る こ と を推奨 し ます。 空の文字列 リ ス ト (すなわち {{}}) は、 デ フ ォル ト エ ン ト リ 群を含めて既
存の検索パス項目群をすべて削除 し ます。 Windows では、 検索パスはレ ジ ス ト リ 項目で設定する こ
と も で き ます。 デ フ ォ ル ト : プ ラ ッ ト フ ォ ーム依存。 PDFlib チ ュ ー ト リ アルを参照
shutdownstrategy
(整数) すべての PDFlib オブ ジ ェ ク ト に対 し て一度割 り 当て られたグ ローバル リ ソ ース を解放する
方式。 各グローバル リ ソ ースはそれぞれ、 それが初めて必要 と さ れた時に要求に よ っ て初期化 さ
れます。 このオプ シ ョ ンは、 1 つのプ ロ セス内のすべての PDFlib オブ ジ ェ ク ト に対 し て、 同 じ 値
に設定する必要があ り ます。 そ う で ない場合には動作は未定義です (デ フ ォル ト : 0) :
28
0
参照カ ウ ン タ が、 い く つの PDFlib オブ ジ ェ ク ト がそのグローバル リ ソ ース を使っ てい
るかを追跡 し ます。 最後の PDFlib オブ ジ ェ ク ト が削除 さ た と き、 その リ ソ ースは解放
さ れます。
1
リ ソ ース群はプ ロ セスの終了ま で保持 さ れます。 こ れはパフ ォ ーマ ン ス を若干向上 さ せ
ますが、 最後の PDFlib オブ ジ ェ ク ト が削除 さ れた後に よ り 多 く の メ モ リ を必要 と し ま
す。
第 2 章 : 一般関数
表 2.3 PDF_set_option( ) のグローバルオプ シ ョ ン
オプ シ ョ ン
定義
stringformat (キーワー ド 。 Unicode 非対応言語バイ ンデ ィ ングのみ) 名前文字列 ・ 内容文字列 ・ ハイパーテキ
ス ト 文字列 ・ オプ シ ョ ン リ ス ト な ど、 API におけるあ ら ゆる文字列を解釈する ために用い られる形
式。 使え るキーワー ド (デ フ ォル ト : legacy) :
ebcdicutf8 (i5/iSeries ・ zSeries のみ) すべての文字列 と オプ シ ョ ン リ ス ト は、 BOM あ り またはな し
の EBCDIC-UTF-8 形式 と 見な さ れます。
legacy
名前文字列 ・ 内容文字列 ・ ハイパーテキス ト 文字列 ・ オプ シ ョ ン リ ス ト は、
textformat ・ hypertextformat ・ hypertextencoding オプ シ ョ ンに従っ て扱われます。
utf8
(i5/iSeries ・ zSeries では不可) すべての文字列 と オプ シ ョ ン リ ス ト は、 BOM あ り または
な し の UTF-8 形式 と 見な さ れます。 オプ シ ョ ン textformat ・ hypertextformat ・
hypertextencoding は許容 さ れません。テキス ト フ ローオプ シ ョ ン fixedtextformat は強
制的に true にな り ます。 レ ガシ日中韓 CMap を用いて フ ォ ン ト を読み込む こ と はで き
ません。 C 言語バイ ンデ ィ ングでは、 length 引数に 0 よ り 大き な値を与え られた場合
には、 関数引数 と し ての名前文字列はなお UTF-16 文字列 と し て解釈 さ れます。 8 ビ ッ
ト エ ン コ ーデ ィ ングの文字列を UTF-8 へ変換するには PDF_convert_to_unicode( ) を用い
ます。
usercoordinates
(論理値) false の場合、 ハイパーテキス ト 長方形のための座標群は、 デ フ ォ ル ト 座標系で表 さ れ
ている と 見な さ れます。 そ う で ない と きは、 カ レ ン ト ユーザー座標系が用い られます。 デ フ ォ ル
ト : false
userlog
ログ フ ァ イルへ複製 さ れる文字列
usehostfonts (論理値) true の場合、 フ ォ ン ト 検索にホス ト フ ォ ン ト が含まれます。 デ フ ォ ル ト : true
usehypertextencoding
(論理値。 Unicode 非対応言語バイ ンデ ィ ングのみ) true の場合、 hypertextencoding オプ シ ョ ン
で指定 さ れたエ ン コ ーデ ィ ングが名前文字列に対 し て も用い られます。 false の場合、 UTF-8 BOM
のない名前文字列のためのエ ン コ ーデ ィ ングは host にな り ます。 デ フ ォ ル ト : false
textformat
(キーワー ド 。 Unicode 非対応言語バイ ンデ ィ ングのみ) 内容文字列を解釈する ために用い られる
形式。 使え るキーワー ド : bytes ・ utf8 ・ ebcdicutf8 (i5/iSeries ・ zSeries のみ) ・ utf16 ・
utf16le ・ utf16be ・ auto。 デ フ ォ ル ト : auto
C++ Java C# double get_option(String keyword, String optlist)
Perl PHP float get_option(string keyword, string optlist)
C double PDF_get_option(PDF *p, const char *keyword, const char *optlist)
何 ら かのオプシ ョ ンかその他の値を取得 し ます。
keyword 取得 し たいオプシ ョ ン を指定 し た キー ワ ー ド 。 以下のキーワ ー ド が使え ます :
そ れ ら の 意 味 に つ い て は PDF_set_option( ) ・ PDF_set_text_option( ) ・ PDF_set_graphics_
option( ) の説明を参照 し て く だ さ い。 照応す る オプシ ョ ンが存在 し ないキーワー ド につい
ては表 2.4 に説明 し てい ます :
> 指定 し た リ ソ ース の n 番目のエン ト リ の文字列番号のためのキーワー ド 。 こ こ で n は
resourcenumber オプシ ョ ンに照応 し ます :
Encoding ・ FontAFM ・ FontnameAlias ・ FontOutline ・ FontPFM ・ HostFont ・ ICCProfile ・
searchpath
> 論理値オプシ ョ ン値のためのキー ワー ド 。 true な ら 1 を、 false な ら 0 を返 し ます :
asciifile ・ autospace ・ avoiddemostamp ・ charref ・ decorationabove ・ escapesequence ・
fakebold ・ kerning ・ overline ・ pdi ・ preserveoldpantonenames ・ spotcolorlookup ・ strikeout ・
tagged ・ topdown ・ underline ・ usercoordinates ・ usehostfonts ・ usehypertextencoding
2.3 グローバルオプ シ ョ ン
29
> 整数 ・ 浮動小数点オプシ ョ ン値のためのキーワー ド :
charspacing・compress・ctm_a・ctm_b・ctm_c・ctm_d・ctm_e・ctm_f・currentx・currenty・
icccomponents・flatness・font・fontsize・horizscaling・iccprofilecmyk・iccprofilegray・iccprofilergb・
italicangle ・leading ・ linecap ・ linejoin・ linewidth・ major・minor ・miterlimit ・ pageheight ・
pagewidth ・ revision ・ scope ・ textrendering ・ textrise ・ textx ・ texty ・ underlineposition ・
underlinewidth ・ wordspacing
> オプシ ョ ン値に対す る 文字列番号を返すキー ワ ー ド 。 その文字列値が得 ら れない と き
は -1 を返 し ます :
cliprule ・ errorpolicy ・ filenamehandling ・ fillrule ・ glyphcheck ・ hypertextencoding ・
hypertextformat ・ resourcefile ・ scope ・ textformat
> カ レ ン ト 構造エ レ メ ン ト を ク エ リ す る ためのキーワー ド ( タ グ付 き PDF モー ド での
み) :
activeitemid ・ activeitemindex ・ activeitemisinline ・ activeitemkidcount ・ activeitemname ・
activeitemstandardname
表 2.4 PDF_get_option( ) の さ ら な るキーワー ド
キーワー ド
説明
activeitemid
(整数) カ レ ン ト で ア ク テ ィ ブ な構造ア イ テムのア イ テム ID。 こ れは、 PDF_activate_item() か、
PDF_begin_item() の parent サブオプ シ ョ ン と 、 tag オプ シ ョ ン で用いる こ と がで き ます。 ルー ト エ
レ メ ン ト がまだ作成 さ れていない場合には -1 が返 さ れます。 ス コ ープ : 文書・ページ
activeitemindex
(整数) カ レ ン ト で ア ク テ ィ ブ な構造ア イ テムの、 その親の中での、 ゼロベースの番号。 こ れは、
index タ グオプ シ ョ ン で用いる こ と がで き ます。 カ レ ン ト ア イ テムが擬似エ レ メ ン ト かルー ト エ レ
メ ン ト である場合、 またはルー ト エ レ メ ン ト がまだ作成 さ れていない場合には、 -1 が返 さ れます。
ス コ ープ : 文書・ページ
activeitemisinline
(整数) カ レ ン ト で ア ク テ ィ ブ な構造ア イ テムがイ ン ラ イ ン エ レ メ ン ト であ る な ら 1、 そ う でない
な ら 0。 ス コ ープ : 文書・ページ
activeitemkidcount
(整数) カ レ ン ト で ア ク テ ィ ブ な構造エ レ メ ン ト の、 この時点ま でに作成 さ れた子エ レ メ ン ト の数
(擬似エ レ メ ン ト を数えない)。 ルー ト エ レ メ ン ト がまだ作成 さ れていない場合には -1 が返 さ れま
す。 ス コ ープ : 文書・ページ
activeitemname
カ レ ン ト でア ク テ ィ ブ な構造エ レ メ ン ト か擬似エ レ メ ン ト の種別名に対する文字列番号、 あ るい
はルー ト エ レ メ ン ト がま だ作成 さ れていない場合には -1。 ス コ ープ : 文書・ページ
activeitemstandardname
カ レ ン ト でア ク テ ィ ブ なア イ テムがロールマ ッ プ さ れている標準エ レ メ ン ト 種別名に対する文字
列番号、 あるいはルー ト エ レ メ ン ト がまだ作成 さ れていないか、 カ レ ン ト エ レ メ ン ト がロール
マ ッ ピ ングが得られない カ ス タ ムエ レ メ ン ト である場合には -1。 ロールマ ッ プがア ク テ ィ ブ で な
い と きは、 元の種別名が返 さ れます。 ス コ ープ : 文書 ・ ページ
ctm_a
ctm_b
ctm_c
ctm_d
ctm_e
ctm_f
(float) ベ ク ト ルグ ラ フ ィ ッ ク に対する カ レ ン ト 変換マ ト リ ッ ク ス (CTM) の構成要素群。 ス コ ー
プ : ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ ・ パス
currentx
currenty
(float) カ レ ン ト 点のそれぞれ x ・ y 座標 (カ レ ン ト 座標系の単位で)。 ス コ ープ : ページ ・ パ
タ ーン ・ テ ン プ レー ト ・ グ リ フ ・ パス
icccomponents (整数) iccprofile オプ シ ョ ン で与え られたハン ド ルに よ っ て参照 さ れる ICC プ ロ フ ァ イル内の色
要素の数。
major
minor
revision
30
(整数) PDFlib のそれぞれ メ ジ ャ ー ・ マ イ ナー ・ リ ビ ジ ョ ン番号。 ス コ ープ : 任意 ・ null1
第 2 章 : 一般関数
表 2.4 PDF_get_option( ) の さ ら な るキーワー ド
キーワー ド
説明
pageheight
pagewidth
(float) カ レ ン ト ページ (MediaBox の寸法) かテ ン プ レー ト かグ リ フ のページサイ ズ。
pdi
(整数) 基礎を なす ラ イ ブ ラ リ を ビル ド し た際に PDI がイ ン ク ルー ド さ れていたな ら 1 を返 し ま
す。 これは、 PDFlib GmbH によ っ て頒布 さ れている PDFlib ・ PDFlib+PDI ・ PPS のバイ ナ リ すべてに
ついて、 ラ イ セ ン スキーに よ ら ず真です。 そ う でない場合には 0 を返 し ます。 ス コ ープ : 任意 ・
null1
scope
(整数) カ レ ン ト ス コ ープの名前に対する文字列番号 (表 1.3 参照)
textx
texty
(float) カ レ ン ト テキス ト 位置の x ・ y 座標。 ス コ ープ : ページ・パターン・テンプレート・グリフ
ス コ ープ : オブジェクト以外任意
1. C 言語バイ ンデ ィ ン グ : PDF * 引数 NULL か 0 と と も に呼び出す こ と がで き ます。
optlist
表 2.5 に従っ てオプシ ョ ン を指定 し たオプシ ョ ン リ ス ト 。
戻り値 keyword に よ っ て要求 さ れた何 ら かのオプシ ョ ンの値。 要求 さ れた キー ワー ド に対 し て値
が得 ら れない と き は、 こ の関数は -1 を返 し ます。 要求 さ れた キー ワー ド がテ キ ス ト を生
成す る 場合には、 文字列番号が返 さ れ、 その照応する 文字列は PDF_get_string( ) を用いて
取得す る 必要があ り ます。
スコープ 任意、 ただ し い く つかのキー ワー ド では、 制限 さ れた ス コ ープが適用 さ れます。
表 2.5 PDF_get_option( ) のオプ シ ョ ン
オプ シ ョ ン
説明
textstate
(論理値) true の場合、 以下のオプ シ ョ ンの値がカ レ ン ト テキス ト ス テー ト か ら取得 さ れ、 そ う で
ない場合にはグ ローバルオプ シ ョ ンから 取得 さ れます (デ フ ォ ル ト : false) :
charref・escapesequence・glyphcheck・kerning・textformat
iccprofile
(ICC プ ロ フ ァ イルハン ド ル) icccomponents キーワー ド で用いる ための ICC プ ロ フ ァ イル
resourcenumber
(整数) 取得 し たい リ ソ ースの番号。 リ ソ ースは 1 から数え ます。 デ フ ォ ル ト : 1
C++ Java C# String get_string(int idx, String optlist)
Perl PHP string get_string(int idx, string optlist)
C const char *PDF_get_string(PDF *p, int idx, const char *optlist)
文字列値を取得 し ます。
idx PDF_get_option( ) か PDF_info_*( ) 関数のいずれか一つに よ っ て返 さ れ る 文字列番号、
あ る いはオプシ ョ ン を与え る 場合には -1。
optlist
表 2.6 に従っ てオプシ ョ ン を指定 し たオプシ ョ ン リ ス ト 。
戻り値 idx ・ optlist に よ っ て要求 さ れた何 ら かの文字列の値。
スコープ 要求 さ れたオプシ ョ ンに よ り ます。
バインディング C : 返 さ れた文字列は、 次に何 ら かの API 関数を呼び出すま で有効です。
2.3 グローバルオプ シ ョ ン
31
表 2.6 PDF_get_string( ) のオプ シ ョ ン
オプ シ ョ ン
version
説明
(論理値) <major>.<minor>.<revision> 形式に、 場合に よ っ ては beta ・ rc な ど と い っ た さ ら な る
修飾子を末尾付加 し た、 フ ルな PDFlib バージ ョ ン文字列。 ス コ ープ : 任意 ・ null1
1. C 言語バイ ンデ ィ ン グ : PDF * 引数 NULL か 0 を用いて呼び出す こ と がで き ます。
C++ Java C# void set_parameter(String key, String value)
Perl PHP set_parameter(string key, string value)
C void PDF_set_parameter(PDF *p, const char *key, const char *value)
非推奨。 PDF_set_option( ) ・ PDF_set_text_option( ) ・ PDF_set_graphics_option( ) を使用 し て
く だ さ い。
C++ Java C# void set_value(String key, double value)
Perl PHP set_value(string key, float value)
C void PDF_set_value(PDF *p, const char *key, double value)
非推奨。 PDF_set_option( ) ・ PDF_set_text_option( ) ・ PDF_set_graphics_option( ) を使用 し て
く だ さ い。
C++ Java C# String get_parameter(String key, double modifier)
Perl PHP string get_parameter(string key, float modifier)
C const char * PDF_get_parameter(PDF *p, const char *key, double modifier)
非推奨。 PDF_get_option( ) ・ PDF_get_string( ) を使用 し て く だ さ い。
C++ Java C# double get_value(String key, double modifier)
Perl PHP float get_value(string key, float modifier)
C double PDF_get_value(PDF *p, const char *key, double modifier)
非推奨。 PDF_get_option( ) を使用 し て く だ さ い。
32
第 2 章 : 一般関数
2.4 PDFlib オ ブ ジ ェ ク ト を作成 ・ 削除
C PDF *PDF_new(void)
新規 PDFlib オブジ ェ ク ト を作成 し ます。
詳細
こ の関数は、PDFlib 内部のデフ ォ ル ト のエ ラ ー処理ルーチン と メ モ リ 割 り 当てルーチン を
使っ て、 新規 PDFlib オブジ ェ ク ト を作成 し ます。
戻り値 PDFlib オブジ ェ ク ト のハン ド ル。 以後の PDFlib の呼び出 し で使え ます。 こ の関数は、 メ
モ リ 不足で成功 し なか っ た と き は、 NULL を返すか、 ま たは例外を発生 さ せます。
スコープ null。 こ の関数はオブ ジ ェ ク ト ス コ ープ を開始 さ せます。 照応す る PDF_delete( ) と 必ずペ
アに し て呼び出す必要があ り ます。
バインディング C:実行時に PDFlib DLL を動的に ロ ー ド す る には PDF_new_dl( ) を使い ます。PDF_new_dl( )
は、すべての API 関数へのポ イ ン タ を代入 さ れた PDFlib_api 構造体へのポ イ ン タ を返 し ま
す。 DLL が ロ ー ド で き ない と き や、 メ ジ ャ ーま たはマ イ ナーバージ ョ ン番号の不一致が検
出 さ れた と き は、 NULL が返 さ れます。
その他の言語バ イ ンデ ィ ン グ : こ の関数は PDF コ ン ス ト ラ ク タ 内に隠れていて得 ら れま
せん。
C PDF *PDF_new2(void (*errorhandler)(PDF *p, int errortype, const char *msg),
void* (*allocproc)(PDF *p, size_t size, const char *caller),
void* (*reallocproc)(PDF *p, void *mem, size_t size, const char *caller),
void (*freeproc)(PDF *p, void *mem),
void *opaque)
ク ラ イ ア ン ト か ら 与え る エ ラ ー処理ルーチ ン と メ モ リ 割 り 当てルーチ ン を使っ て、 新規
PDFlib オブジ ェ ク ト を作成 し ます。
errorhandler ユーザー定義の エ ラ ー処理関数への ポ イ ン タ 。 こ の エ ラ ー処理関数は、
PDF_TRY/PDF_CATCH セ ク シ ョ ン内では無視 さ れます。
ユーザー定義の メ モ リ 割 り 当て関数へのポ イ ン タ 。
allocproc
reallocproc
freeproc
ユーザー定義の メ モ リ 再割 り 当て関数へのポ イ ン タ 。
ユーザー定義の メ モ リ 解放関数へのポ イ ン タ 。
opaque 何 ら かのユーザーデー タ へのポ イ ン タ 。 こ のデー タ は以後、 PDF_get_opaque( )
で取得で き ます。
戻り値 PDFlib オブジ ェ ク ト のハン ド ル。 以後の PDFlib の呼び出 し で使え ます。 こ の関数は、 メ
モ リ 不足で成功 し なか っ た と き は、 C では NULL を返 し 、 C++ では例外を発生 さ せます。
詳細
こ の関数は、 ク ラ イ ア ン ト か ら 与え ら れたエ ラ ー処理ルーチン と メ モ リ 割 り 当てルーチン
を使っ て、 新規 PDFlib オブジ ェ ク ト を作成 し ます。 PDF_new( ) と 異な り 、 呼び出す側か
ら 独自のエ ラ ー処理や メ モ リ 割 り 当てのためのプ ロ シージ ャ を与え る こ と が可能です。 こ
のエ ラ ー処理関数 と メ モ リ プ ロ シージ ャ 群は、ど ち ら か ま たは両方が NULL で も か ま い ま
せん。 その場合、 PDFlib はデフ ォ ル ト のルーチン を用い ます。 メ モ リ ルーチンは、 3 個 と
も 与え る か、 3 個 と も 与え ないか、 そのど ち ら かにする 必要があ り ます。
2.4 PDFlib オブ ジ ェ ク ト を作成 ・ 削除
33
スコープ null。 こ の関数はオブ ジ ェ ク ト ス コ ープ を開始 さ せます。 照応す る PDF_delete( ) と 必ずペ
アに し て呼び出す必要があ り ます。
バインディング C++ : こ の関数は PDF コ ン ス ト ラ ク タ で間接的に得 ら れます。 すべての引数関数を与え る
必要は必ず し も あ り ません。 デフ ォ ル ト 値 NULL が与え ら れ る か ら です。 与え る 関数はす
べて 「C」 ス タ イ ルの関数でなければな ら ず、 C++ の メ ソ ッ ド であ っ てはいけ ません。
C void PDF_delete(PDF *p)
PDFlib オブジ ェ ク ト を削除 し 、 内部 リ ソ ース をすべて解放 し ます。
詳細
こ の関数は、 PDFlib オブジ ェ ク ト を削除 し 、 文書に関連する PDFlib 内部の リ ソ ース をす
べて解放 し ます。 こ の関数は、 1 つの PDFlib オブジ ェ ク ト につ き 1 回 し か呼び出 し てはい
け ません。 PDF_delete( ) は、 例外が発生 し た と き に も 、 ク リ ーン ア ッ プのために呼び出す
必要があ り ます。PDF_delete( ) 自体は、例外を一切発生 さ せない こ と が保証 さ れてい ます。
PDF 文書を複数生成す る と き は、 文書の終わ り ご と に PDF_delete( ) を呼び出す必要はな
く 、 すべての PDF 文書が完了 し た と き だけでか ま い ません。
スコープ 任意。 こ の呼び出 し の後には、 同一の PDFlib オブジ ェ ク ト を用いての API 関数への呼び
出 し は、 こ の PDF オブジ ェ ク ト を用いては許 さ れな く な り ます。
バインディング C:PDF_new_dl( ) で実行時に PDFlib DLL を動的に ロ ー ド し ていた場合は、PDF_delete_dl( )
を使っ て PDFlib オブジ ェ ク ト を削除 し て く だ さ い。
C++ : こ の関数は PDF デス ト ラ ク タ で間接的に得 ら れます。
Java : こ の関数は ラ ッ パの コ ー ド で自動的に呼び出 さ れます。 ただ し 、 Java の フ ァ イ ナ ラ
イ ザの不備を回避す る 目的で、 ク ラ イ ア ン ト の コ ー ド か ら 明示的に呼び出す こ と も で き ま
す。
Objective-C : こ の関数は、PDFlib の release メ ソ ッ ド が呼び出 さ れた時に呼び出 さ れます。
Perl ・ PHP : こ の関数は、 PDFlib オブジ ェ ク ト が ス コ ープ外に出 る と 自動的に呼び出 さ れ
ます。
34
第 2 章 : 一般関数
2.5 PDFlib 仮想 フ ァ イ ルシ ス テム (PVF)
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルが ク ッ ク ブ ッ クの general/starter_pvf ト ピ ッ ク にあ り ます。
C++ Java C# void create_pvf(string filename, const void *data, size_t size, string optlist)
Java C# void create_pvf(String filename, byte[ ] data, String optlist)
Perl PHP create_pvf(string filename, string data, string optlist)
C void PDF_create_pvf(PDF *p,
const char *filename, int len, const void *data, size_t size, const char *optlist)
メ モ リ 内で与えたデー タ か ら 、 名前付 き の仮想の読み取 り 専用フ ァ イ ルを作成 し ます。
filename (名前文字列) 仮想フ ァ イ ルの名前。 こ れは任意の文字列で、 以後の PDFlib の
呼び出 し で仮想フ ァ イ ルを参照す る ために使え ます。 仮想フ ァ イ ルの名前は、 それがデ ィ
レ ク ト リ ま たは フ ァ イ ル名の区切 り キ ャ ラ ク タ と し て ス ラ ッ シ ュ 「/」 キ ャ ラ ク タ のみを
用いてい る と き は、 SearchPath 機構に従い ます。
len (C 言語バ イ ンデ ィ ン グのみ) filename の長 さ (バ イ ト 単位)。 len=0 にする と null 終
了文字列を与え る 必要があ り ます。
data 仮想フ ァ イ ルに入れたいデー タ への参照。 C ・ C++ では こ れは メ モ リ 位置へのポ イ
ン タ です。 Java では こ れはバ イ ト 配列です。 Perl ・ Python ・ PHP では こ れは文字列です。
COM では こ れはバ リ ア ン ト です。 REALbasic/Xojo では こ れは メ モ リ ブ ロ ッ ク です。
size
(C ・ C++ のみ) デー タ の入っ た メ モ リ 領域の長 さ をバ イ ト 単位で表 し た も の。
optlist
表 2.7 に従っ たオプシ ョ ン リ ス ト 。 次のオプシ ョ ンが使え ます。 copy
詳細 仮想フ ァ イ ル名は、 入力フ ァ イ ルを使 う あ ら ゆ る API 関数に与え る こ と がで き ます。 生成
さ れ る PDF 出力を内容 と す る PVF フ ァ イ ルを作成する には、 PDF_begin_document( ) の
createpvf オプシ ョ ン を用い ます。 こ う し た関数のなかには、 デー タ が不要にな る ま で仮
想フ ァ イ ルを ロ ッ ク で き る も の も あ り ます。 仮想フ ァ イ ルは、 PDF_delete_pvf( ) で明示的
に、 ま たは PDF_delete( ) で自動的に削除 さ れ る ま で メ モ リ 内に保持 さ れます。
PDFlib オブジ ェ ク ト はそれぞれ、 PVF フ ァ イ ルのセ ッ ト を独立 し て保持 し ます。 仮想
フ ァ イ ルは、 複数の PDFlib オブジ ェ ク ト 間で共有す る こ と はで き ませんが、 それを使っ
て同 じ PDFlib オブジ ェ ク ト か ら 複数の文書を作成する こ と はで き ます。 別々の PDFlib オ
ブジ ェ ク ト を用いて動作 し てい る 複数の ス レ ッ ド は、PVF の使用を同期 さ せ る 必要はあ り
ません。 filename と い う 仮想フ ァ イ ルがすでにあ る と き は、 例外が発生 し ます。 こ の関数
は、 通常のデ ィ ス ク フ ァ イ ルですでに filename が使われていないか と い う 検証は行い ま
せん。
copy オプシ ョ ン を与えていない と き は、 ペアにな る PDF_delete_pvf( ) を呼び出 し て成
功す る ま では、 与え たデー タ を呼び出 し 側で変更 し た り 解放 (削除) し てはいけ ません。
こ の規則に従わない と おそ ら く ク ラ ッ シ ュ が発生 し ます。
スコープ 任意
2.5 PDFlib 仮想フ ァ イルシ ス テム (PVF)
35
表 2.7 PDF_create_pvf( ) のオプ シ ョ ン
オプ シ ョ ン
説明
copy
(論理値) PDFlib が、 与えたデー タ の内部的な コ ピーを ただ ちに作成 し ます。 こ の場合、 呼び出 し
側は与えたデー タ を こ の呼び出 し のす ぐ後に捨て て も かまいません。 この copy オプ シ ョ ンは、
COM ・ .NET ・ Java バイ ンデ ィ ングでは自動的に true に設定 さ れます (その他のバイ ンデ ィ ングで
はデ フ ォ ル ト : false)。 それ以外の言語バイ ンデ ィ ン グでは、 copy オプ シ ョ ン を与えなければ
デー タ は コ ピー さ れません。
C++ Java C# int delete_pvf(String filename)
Perl PHP int delete_pvf(string filename)
C int PDF_delete_pvf(PDF *p, const char *filename, int len)
名前付 き の仮想フ ァ イ ルを削除 し て、 そのデー タ 構造を解放 し ます。
filename (名前文字列。グ ロ ーバル filenamehandling オプシ ョ ンに従っ て解釈 さ れます。
表 2.3 参照) PDF_create_pvf( ) に与え て あ る の と 同 じ 仮想フ ァ イ ル名。
len (C 言語バ イ ンデ ィ ン グのみ) filename の長 さ (バ イ ト 単位)。 len=0 にす る と null 終
了文字列を与え る 必要があ り ます。
戻り値 その仮想フ ァ イ ルがあ る が ロ ッ ク さ れてい る と き は -1 (PHP では 0)、 それ以外な ら 1。
詳細
フ ァ イ ルが ロ ッ ク さ れていなければ、 PDFlib は filename に関連づいたデー タ 構造を ただ
ちに削除 し ます。 filename と い う 有効な仮想フ ァ イ ルがない と き は、 こ の関数は警告 も 出
さ ず何 も し ません。 こ の関数を呼び出 し て成功 し た後は、 filename は使い ま わす こ と も で
き ます。 仮想フ ァ イ ルは、 PDF_delete( ) ですべて自動的に削除 さ れます。
細かい意味は、 ペアにな る PDF_create_pvf( ) を呼び出 し た時に copy オプシ ョ ン を与え
ておいたかに よ っ て異な り ます。 copy オプシ ョ ン を与え ておいた な ら 、 フ ァ イ ルのため
の管理デー タ 構造 も フ ァ イ ル内容本体 (デー タ ) も 両方解放 さ れますが、 そ う でないな ら
内容は ク ラ イ ア ン ト が解放す る と い う 前提なので解放 さ れません。
スコープ 任意
C++ Java C# double info_pvf(String filename, String keyword)
Perl PHP float info_pvf(string filename, string keyword)
C double PDF_info_pvf(PDF *p, const char *filename, int len, const char *keyword)
仮想フ ァ イ ルか PDFlib 仮想フ ァ イ ルシ ス テ ム (PVF) の特性を ク エ リ し ます。
filename (名前文字列) 仮想フ ァ イ ルの名前。 こ の フ ァ イ ル名は、 keyword=filecount の
場合には空でか ま い ません。
len (C 言語バ イ ンデ ィ ン グのみ) filename の長 さ (バ イ ト 単位で)。 len=0 の場合には、
ヌ ル終端文字列を与え る 必要があ り ます。
keyword
詳細
表 2.7 に従っ た キー ワー ド 。
こ の関数は、 仮想フ ァ イ ルか PDFlib 仮想フ ァ イ ルシ ス テ ム (PVF) の さ ま ざ ま な特性を返
し ます。 特性は keyword で指定 さ れます。
スコープ 任意
36
第 2 章 : 一般関数
表 2.8 PDF_info_pvf( ) のキーワー ド
キーワー ド
説明
filecount
カ レ ン ト PDFlib オブ ジ ェ ク ト のために維持 さ れている PDFlib 仮想フ ァ イルシ ス テム内の フ ァ イル
の総数。 filename 引数は無視 さ れます。
exists
そのフ ァ イルが PDFlib 仮想フ ァ イルシ ス テム内に存在 し ている (かつ削除 さ れていない) 場合に
は 1、 そ う で ないな ら 0
size
(存在する仮想フ ァ イルに対 し てのみ) 指定 さ れた仮想フ ァ イルのサイ ズをバイ ト 単位で。
iscopy
(存在する仮想フ ァ イルに対 し てのみ) 指定 さ れた仮想フ ァ イルが作成 さ れた際に copy オプ シ ョ
ンが与え られたな ら 1、 そ う でないな ら 0
lockcount
(存在する仮想フ ァ イルに対 し てのみ) 指定 さ れた仮想フ ァ イルに対 し て PDFlib 関数群によ っ て内
部的にかけ られた ロ ッ クの数。 フ ァ イルは、 こ のロ ッ ク カ ウ ン ト が 0 の と き にのみ削除で き ます。
2.5 PDFlib 仮想フ ァ イルシ ス テム (PVF)
37
2.6 PDF オ ブ ジ ェ ク ト 作成 API (POCA)
オ ブ ジ ェ ク ト 種別 と 凍結オ ブ ジ ェ ク ト PDF オブジ ェ ク ト 作成 API (PDF object creation
API = POCA) は、 PDF オブジ ェ ク ト を作成す る ための低 レ ベル イ ン タ フ ェ ー ス です。
POCA は以下のオブジ ェ ク ト 種別に対応 し てい ます :
> 単純オブジ ェ ク ト 種別 : 論理値 ・ 整数 ・ 名前 ・ float ・ 文字列。
> コ ン テナオブジ ェ ク ト 種別 : 配列 ・ 辞書 ・ ス ト リ ーム。
> PDFlib ブ ロ ッ ク 独自の種別 : パーセ ン ト 値 ・ 色。
生成 さ れ る PDF オブジ ェ ク ト は以下の よ う に使用で き ます :
> PDF_begin/end_dpart( )のdpmオプシ ョ ン を用いて、PDF/VTのための文書部分 メ タ デー
タ を作成す る ために。
> PDF_begin/end_page_ext( )のblocksオプシ ョ ン を用いて、PPSで使用する ためのPDFlibブ
ロ ッ ク を作成す る ために。
> PDF_create_action( ) の richmediaargs オプシ ョ ン を用いて、リ ッ チ メ デ ィ ア注釈に関連付
け ら れた ActionScript ま たは JavaScript のための引数群を指定す る ために。
PDF コ ン テナオブジ ェ ク ト を、 上に挙げたオプシ ョ ンのいずれかに与え る と 、 その コ ン テ
ナオブジ ェ ク ト 自体 と 、その コ ン テナか ら 直接ま たは間接に参照 さ れてい る すべてのオブ
ジ ェ ク ト が、 すなわち、 その コ ン テナに よ っ て作成 さ れたオブジ ェ ク ト ツ リ ー全体が凍結
さ れます。 凍結 さ れたオブジ ェ ク ト は、 上記のオプシ ョ ン で再び使 う こ と はで き ますが、
PDF_poca_insert( ) ま たは PDF_poca_remove( ) を用いて変更す る こ と はで き な く な り ます。
C++ Java C# int poca_new(String optlist)
Perl PHP int poca_new(string optlist)
C int PDF_poca_new(PDF *p, const char *optlist)
種別が辞書か配列か ス ト リ ームの新規 PDF コ ン テナオブジ ェ ク ト を作成 し 、 オブジ ェ ク
ト 群を挿入 し ます。
optlist コ ン テナを作成 し て中身を入れ る ためのオプシ ョ ン リ ス ト 。
> 表 2.9 に従っ た、 コ ン テナを作成す る ためのオプシ ョ ン : containertype ・ usage
> 表 2.11 に従っ た、 コ ン テナ内にオブジ ェ ク ト 群を挿入する ためのオプシ ョ ン :
direct ・ hypertextencoding ・ index ・ key ・ type ・ value ・ values
戻り値 POCA コ ン テナハン ド ル。 こ れは、 PDF_poca_delete( ) を用いて削除 さ れ る ま で使用で き
ます。
詳細
こ の関数は、 指定 さ れた コ ン テナ種別の、 空の PDF コ ン テナオブジ ェ ク ト を作成 し ます。
こ の コ ン テナは、同一呼び出 し 内でただちに中身を入れ る こ と も で き ます し 、後か ら PDF_
poca_insert( ) への呼び出 し で中身を入れ る こ と も で き ます。
PDF/VT 種別が辞書で usage=dpm のオブジ ェ ク ト に対す る POCA コ ン テナハン ド ルは、PDF_begin/
end_dpart( ) の dpm オプシ ョ ン を用いて文書部分 メ タ デー タ (DPM) と し て与え る こ と が
で き ます。
スコープ 任意
38
第 2 章 : 一般関数
表 2.9 PDF_poca_new( ) のオプ シ ョ ン
オプ シ ョ ン
説明
containertype
(キーワー ド 。 必須) コ ン テナの種別 : dict か array か stream。 指定 さ れていない配列ス ロ ッ ト
と 、 新規オブ ジ ェ ク ト を挿入する こ と な く 除去 さ れている配列ス ロ ッ ト は、 PDF 出力内でキー
ワー ド null を含みます。 注 : containertype=stream は未実装です。
usage
(キーワー ド 。 必須) その新規 コ ン テナが使用 さ れる コ ン テキス ト 。 こ のオプ シ ョ ンは、 その コ ン
テナが意図する用途に適合 し ているかを確認するい く つかのチ ェ ッ ク を有効に し ます。
blocks
(containertype=dict の場合のみ意味を持ち ます。 製品でのみ) そのブ ロ ッ ク辞書
(PDF_begin/end_page_ext( ) の blocks オプ シ ョ ンに与え ら れる コ ン テナ) は、 1 個ない し
複数の PDFlib ブ ロ ッ ク 定義を内容 と する必要があ り ます。 このオプ シ ョ ン
usage=blocks は、 こ の新規辞書内に直接または間接に挿入 さ れるすべての コ ン テナオブ
ジ ェ ク ト に対 し て も与え る必要があ り ます。
(containertype=dict の場合のみ意味を持ち ます) その新規辞書 と 、 その中に含まれる
すべての辞書の中のすべてのキーは、 ASCII キ ャ ラ ク タ で構成 さ れ、 XML NMTOKEN の
規則に準拠する必要があ り ます。 こ れによ り 、 その辞書が PDF/VT のための文書部分 メ
タ デー タ (DPM) 辞書 と し て使用で き る こ と が保証 さ れます。 こ のオプ シ ョ ン
usage=dpm、 こ の新規辞書内に直接または間接に挿入 さ れるすべての コ ン テナオブ ジ ェ
ク ト に対 し て も 与え る必要があ り ます。
richmediaargs
(containertype=array の場合のみ意味を持ち ます) その配列は、 種別が文字列か整数
か float か論理値のオブ ジ ェ ク ト を内容 と する こ と がで き ます。 ただ し 、 PDF か ら Flash
へ引数群を渡すには以下を推奨 し ます : ActionScript 関数引数のための引数の種別が文
字列か数値か整数であ る場合には、 POCA では type=string を使用 (すなわち数値を文
字列内に ラ ッ プする必要があ る)。 引数が論理値 と し て宣言 さ れている場合には、
POCA では type=boolean を使用 (すなわち論理値を文字列 と し て ラ ッ プ し ない)。
POCA 種別の整数 と float は、 Acrobat がそれら を ActionScript へ正 し く 受け渡 さ ないの
で、 使用するべき ではあ り ません。
dpm
C++ Java C# void poca_delete(int container, String optlist)
Perl PHP poca_delete(int container, string optlist)
C void PDF_poca_delete(PDF *p, int container, const char *optlist)
PDF コ ン テナオブジ ェ ク ト を削除 し ます。
container
PDF_poca_new( ) を用いて取得 さ れた有効な PDF コ ン テナハン ド ル。
optlist 表 2.10 に従っ たオプシ ョ ン リ ス ト 。 以下のオプシ ョ ン を使え ます :
recursive
詳細 その コ ン テナは削除 さ れ、 も う 使え な く な り ます。 その コ ン テナが他の辞書ま たは配列か
ら 参照 さ れてい る 場合には、 その削除 さ れ る コ ン テナへのすべての辞書参照は除去 さ れ、
その削除 さ れ る コ ン テナへのすべての配列参照は null オブジ ェ ク ト へ置 き 換え ら れます。
POCA コ ン テナオブジ ェ ク ト は、 PDF_end_document( ) で自動的に削除 さ れません。
スコープ 任意。 照応す る PDF_poca_new( ) への呼び出 し と 必ずペアにす る 必要があ り ます。
表 2.10 PDF_poca_delete( ) のオプ シ ョ ン
オプ シ ョ ン
説明
recursive
(論理値) true の場合、 その コ ン テナオブ ジ ェ ク ト 自体 と 、 それから参照 さ れているすべてのオブ
ジ ェ ク ト が再帰的に削除 さ れます。 こ れは、 も はや必要で ないオブ ジ ェ ク ト ツ リ ー全体を削除す
る ためのシ ョ ー ト カ ッ ト と し て有用で し ょ う 。 デ フ ォ ル ト : false
2.6 PDF オブ ジ ェ ク ト 作成 API (POCA)
39
C++ Java C# void poca_insert(int container, String optlist)
Perl PHP poca_insert(int container, string optlist)
C void PDF_poca_insert(PDF *p, int container, const char *optlist)
PDF コ ン テナオブジ ェ ク ト 内に単純ま たは コ ン テナオブジ ェ ク ト を挿入 し ます。
container PDF_poca_new( ) を用いて取得 さ れた有効な POCA コ ン テナハン ド ル。凍結 さ
れた コ ン テナ (38 ページ 「オブジ ェ ク ト 種別 と 凍結オブジ ェ ク ト 」 参照) は、 も う 変更
で き ませんので、 許容 さ れません。
optlist 表 2.11 に従っ たオプシ ョ ン リ ス ト 。 以下のオプシ ョ ン を使え ます :
direct ・ hypertextencoding ・ index ・ key ・ type ・ value ・ values
詳細
こ の関数は、 コ ン テナ内にオブジ ェ ク ト を挿入 し ます。 コ ン テナ内にオブジ ェ ク ト が挿入
さ れ る 順序は重要ではあ り ません。 挿入 さ れた コ ン テナには、 挿入後に中身を入れ る こ と
も で き ます。 挿入 さ れ る コ ン テナが、 挿入の時点で完成 し てい る 必要はあ り ません。
コ ン テナ内へオブジ ェ ク ト を挿入す る 際には、 オブジ ェ ク ト グ ラ フ内に直接オブジ ェ
ク ト のループを作成 し てはいけ ません。 た と えば、 直接挿入 さ れ る 辞書は、 その コ ン テナ
への直接参照を含んでいてはいけ ません。 循環参照を作成す る ためには、 direct=false を
用いて間接オブジ ェ ク ト を作成 し ます。 こ の間接オブジ ェ ク ト は、 任意の他のオブジ ェ ク
ト を参照す る こ と がで き ます。
スコープ any
表 2.11 PDF_poca_new( ) ・ PDF_poca_insert( ) ・ PDF_poca_remove( ) のオプ シ ョ ン
オプ シ ョ ン
説明
direct 1
(論理値。 type=array ・ dict の場合のみ。 それ以外の種別では無視 さ れます) true の場合、 その
オブ ジ ェ ク ト はその コ ン テナ内に直接挿入 さ れます。 false の場合、 間接 PDF オブ ジ ェ ク ト が作
成 さ れ、 その間接 PDF オブ ジ ェ ク ト への参照がその コ ン テナ内に挿入 さ れます。 間接オブ ジ ェ ク
ト は、 1 個のオブ ジ ェ ク ト が複数回使用 さ れる場合に、 生成 さ れる PDF 内の容量を節約する ため
に有用です。 デ フ ォ ル ト : true
hypertextencoding
(キーワー ド ) key ・ value ・ values オプ シ ョ ンのためのエ ン コ ーデ ィ ン グ を指定 し ます。 空文字列
は unicode と 等価です。 デ フ ォル ト : グ ローバル hypertextencoding オプ シ ョ ンの値
index
(整数。 type=array の コ ン テナの場合のみ。 PDF_poca_remove( ) の場合は必須) 配列内で値 (群)
が挿入または削除 さ れる場所の、 ゼロベースの番号。 値 -1 を用いる と 、 そのエ レ メ ン ト を新規末
尾ア イ テム と し て挿入する こ と がで き ます。 配列は、 指定 さ れた番号でエ レ メ ン ト を含める ため
に必要に応 じ て拡大 さ れます。 その配列が指定 さ れた番号にすでに値を持 っ ている と きは、 それ
は新 し い値で置き換え られます。 PDF_poca_new( ) ・ PDF_poca_insert( ) に対するデ フ ォ ル ト : -1
key
(ハイパーテキス ト 文字列。 type=dict ・ stream のコ ン テナの場合のみ。 type=dict の場合は必須)
辞書 コ ン テナ、 ま たはス ト リ ーム コ ン テナに関連付け られた辞書の中の、 値を挿入 し たいキー。
こ のキーは、 先頭の 「/」 ス ラ ッ シ ュ キ ャ ラ ク タ を含んではいけません。 このキーは、 その辞書の
usage オプ シ ョ ン で指定 さ れた条件に準拠する必要があ り ます。 その辞書がすでに同 じ キーのエ ン
ト リ を持っ ている場合には、 それは新 し い値へ置き換え られます。
type=stream の場合には、 こ のキーは Length ・ Filter 以外であ る必要があ り ます。
40
第 2 章 : 一般関数
表 2.11 PDF_poca_new( ) ・ PDF_poca_insert( ) ・ PDF_poca_remove( ) のオプ シ ョ ン
オプ シ ョ ン
説明
type1
(キーワー ド 。 key オプ シ ョ ン を用いないス ト リ ーム コ ン テナの場合を除き必須) 挿入 さ れる オブ
ジ ェ ク ト の種別 : array ・ boolean ・ dict ・ integer ・ name ・ float ・ stream ・ string ・ percentage ・
color
その コ ン テナが usage=dpm を用いて作成 さ れている場合には、 以下の種別は許容 さ れません :
name (かわ り に type=string を用います) ・ stream
以下の種別は、 その コ ン テナが usage=blocks を用いて作成 さ れている場合にのみ許容 さ れます :
color ・ percentage
value1
(type オプ シ ョ ン に従っ たデー タ 型。 オプ シ ョ ン value か values のいずれか一つのみを必ず与え
る必要があ り ます) コ ン テナ種別 と type オプ シ ョ ンに従っ た、 挿入 さ れる オブ ジ ェ ク ト の値 :
配列 ・ 辞書 コ ン テナの場合 :
type=boolean な らば、こ の値はオプ シ ョ ン種別 string を持つ必要があ り 、かつ文字列 true か false
のいずれか一つを内容 と する必要があ り ます。
type=string か name な らば、こ の値はオプ シ ョ ン種別 Hypertext string を持つ必要があ り 、かつそ
の タ ーゲ ッ ト を直接内容 と する必要があ り ます。 type=name の場合の値は、 UTF-8 表現で 127 バイ
ト を上限 と し 、 かつ 「/」 ス ラ ッ シ ュ キ ャ ラ ク タ を先頭に付けてはいけません。
type=integer な らば、 こ の値はオプ シ ョ ン種別 integer を持つ必要があ り 、 かつその タ ーゲ ッ ト を
直接内容 と する必要があ り ます。
type=float な ら ば、 こ の値はオプ シ ョ ン種別 float か integer を持つ必要があ り 、 かつその タ ー
ゲ ッ ト を直接内容 と する必要があ り ます。
type=array か dict か stream な らば、 こ の値はオプ シ ョ ン種別 POCA コ ン テナハン ド ル (すなわち
PDF_poca_new( ) を用いて作成 さ れた) を持つ必要があ り 、 かつ挿入 さ れる コ ン テナ を指定する必
要があ り ます。 挿入 さ れる オブ ジ ェ ク ト は、 こ のコ ン テナ と 同 じ usage オプ シ ョ ン を用いて作成
さ れている必要があ り ます。
type=percentage な らば、 こ の値はオプ シ ョ ン種別 number を持つ必要があ り ます。 これはパーセ ン
ト 値 と し て解釈 さ れ、 パーセ ン ト 記号を含む必要があ り ます (例 : 50%)。 こ れはブ ロ ッ ク デー タ
種別パーセ ン ト 値 と し て書き込まれます。
type=color な ら ば、 こ の値はオプ シ ョ ン種別 color を持つ必要があ り ます (表 1.2 (15 ページ) 参
照)。 こ れはブ ロ ッ ク デー タ 種別色 と し て書き込まれます。 以下の色空間キーワー ド は許容 さ れま
せん : iccbased ・ iccbasedgray ・ iccbasedrgb ・ iccbasedcmyk ・ pattern
こ のオプ シ ョ ン を用いて任意の文字列を渡すためには、 10 ページ 「オプ シ ョ ン リ ス ト 内の括弧で
囲ま ない文字列」 に記述 し たオプ シ ョ ン リ ス ト 文法が有用で し ょ う 。
values1
(type オプ シ ョ ン に従っ た、 1 個ない し 複数の値の リ ス ト 。 type=array を用いた コ ン テナに対 し て
のみ。 オプ シ ョ ン value か values のいずれか一つのみを必ず与え る必要があ り ます) 配列内の、
index オプ シ ョ ン で指定 さ れた位置に挿入 さ れる、 同 じ 種別の 1 個ない し 複数の値。 個別の種別に
対する条件についてオプ シ ョ ン value を参照 し て く だ さ い。 こ の指定 さ れた リ ス ト が要素 1 個だ
けを内容 と する場合には、 その効果は value オプ シ ョ ン と 同 じ です。 こ の リ ス ト が複数の要素を
内容 と する場合には、 こ の リ ス ト 内のすべての値がその配列内へ順番に挿入 さ れ、 既存の要素群
を オーバ ラ イ ド する可能性も あ り ます。 こ の配列は、 こ の指定 さ れた リ ス ト 内のすべての要素群
を含むよ う に、 必要に応 じ て拡大 し ます。
1. PDF_poca_new( ) ・ PDF_poca_insert( ) の場合のみ
2.6 PDF オブ ジ ェ ク ト 作成 API (POCA)
41
C++ Java C# void poca_remove(int container, String optlist))
Perl PHP poca_remove(int container, string optlist)
C void PDF_poca_remove(PDF *p, int container, const char *optlist)
PDF コ ン テナオブジ ェ ク ト か ら 、 単純ま たは コ ン テナオブジ ェ ク ト を除去 し ます。
container PDF_poca_new( ) を用いて取得 さ れた有効な POCA 辞書ま たは配列ハン ド ル。
凍結 さ れた コ ン テナ (38 ページ 「オブジ ェ ク ト 種別 と 凍結オブジ ェ ク ト 」 参照) は、 も
う 変更で き ませんので、 許容 さ れません。
optlist 表 2.11 内の PDF_poca_insert( ) の以下のオプシ ョ ン を使え ます :
hypertextencoding ・ index ・ key
詳細
こ の関数は、 種別配列か辞書の コ ン テナか ら オブジ ェ ク ト を除去 し ます。 こ の指定 さ れた
オブジ ェ ク ト がその コ ン テナ内に存在 し ない と き は何 も 起 こ り ません。
スコープ 任意
42
第 2 章 : 一般関数
3 文書 ・ ページ関数
3.1 文書関数
C++ Java C# int begin_document(String filename, String optlist)
Perl PHP int begin_document(string filename, string optlist)
C int PDF_begin_document(PDF *p, const char *filename, int len, const char *optlist)
C++ void begin_document_callback(size_t (*writeproc) (PDF *p, void *data, size_t size), string optlist)
C void PDF_begin_document_callback(PDF *p,
size_t (*writeproc) (PDF *p, void *data, size_t size), const char *optlist)
新規 PDF フ ァ イ ルを さ ま ざ ま なオプシ ョ ンに従っ て作成 し ます。
filename (名前文字列。グ ロ ーバル filenamehandling オプシ ョ ンに従っ て解釈 さ れます。
表 2.3 参照) 生成 し たい PDF 出力フ ァ イ ルの絶対名ま たは相対名。 filename が空な ら ば、
PDF 文書はフ ァ イ ル上でな く メ モ リ 内に生成 さ れ、 その生成 PDF デー タ を ク ラ イ ア ン ト
へ取 り 出すには PDF_get_buffer( ) 関数を使 う 必要があ り ます。 Windows では、 UNC パ ス
や、 割 り 当て ら れたネ ッ ト ワー ク ド ラ イ ブを使っ て も か ま い ません。
len (C 言語バ イ ンデ ィ ン グのみ) filename の長 さ (バ イ ト 単位)。 len=0 にする と null 終
了文字列を与え る 必要があ り ます。
writeproc (C ・ C++ のみ) 生成 さ れた PDF デー タ (の一部分ずつ) を受け渡すために
PDFlib に よ っ て呼び出 さ れ る C コ ールバ ッ ク 関数。
optlist 文書オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン : hypertextencoding (表 2.3 参照)
> 表 3.1 に従っ た文書オプシ ョ ン群。こ れ ら のオプシ ョ ンの う ちのい く つかは、PDF_end_
document( ) で も 指定で き ます。 その場合にはそれ ら は、 PDF_begin_document( ) で指定
し た同等のオプシ ョ ン よ り も 優先 さ れます :
associatedfiles・attachments・autoxmp・destination・groups・labels・linearize・metadata・
moddate ・ objectstreams ・ openmode ・ optimize ・ pagelayout ・ portfolio ・ search ・ uri ・
viewerpreferences
> 表 3.2 に従っ た、 PDF 互換性 と 規格のためのオプシ ョ ン群 :
compatibility ・ limitcheck ・ nodenamelist ・ pdfa ・ pdfua ・ pdfvt ・ pdfx ・ recordlevel ・
usestransparency
> 表 3.3 に従っ た、 タ グ付 き PDF のためのオプシ ョ ン群 :
checktags ・ lang ・ rolemap ・ structuretype ・ tag ・ tagged
> 表 3.4 に従っ たセキ ュ リ テ ィ オプシ ョ ン群 :
attachmentpassword ・ masterpassword ・ permissions ・ userpassword
> 表 3.5 に従っ た出力処理オプシ ョ ン群 :
createoutput ・ createpvf ・ filemode ・ flush ・ inmemory ・ recordsize ・ removefragments ・
tempdirname ・ tempfilenames
3.1 文書関数
43
戻り値 エ ラ ーな ら -1 (PHP では 0)、 そ う でなければ 1。 filename が空の と き は、 こ の関数は必
ず成功 し 、 決 し てエ ラ ー値を返 し ません。
詳細
こ の関数は、 与え ら れた filename を使っ て新規 PDF フ ァ イ ルを作成 し ます。 PDFlib は、
その与え ら れた名前の フ ァ イ ルを開 こ う と 試み、 そ し てその PDF 文書が完了 し た と き に
はフ ァ イ ルを閉 じ ます。
PDF_begin_document_callback( ) は、 新規 PDF 文書を開 き ますが、 デ ィ ス ク フ ァ イ ルに
は書き 込むのではな く 、 ユーザーか ら 与え ら れた コ ールバ ッ ク 関数を呼び出 し て PDF 出
力デー タ を受け渡 し ます。 writeproc で与え る コ ールバ ッ ク 関数は、 書かれたバ イ ト 数を
返す必要があ り ます。 も し その戻 り 値が、 PDFlib が与え る 引数 size と 一致 し ない と 、 例外
が発生 し ます。 writeproc の呼び出 さ れ る 頻度は flush オプシ ョ ンで設定で き ます。
スコープ オ ブ ジ ェ ク ト 。 こ の関数は、 フ ァ イ ル を う ま く 開け た と き は文書 ス コ ープ を開始 さ せ ま
す。 照応す る PDF_end_document( ) と 必ずペアに し て呼び出す必要があ り ます。
PDF/VT 以下のオプシ ョ ンは許容 さ れません : groups。
バインディング ASP : こ の関数に渡すフルパス名を作 る には MapPath 機能を使 う 必要があ り ます。
C ・ C++ ・ Java ・ JScript : バ ッ ク ス ラ ッ シ ュ のパ ス区切 り を適切にエ ス ケープす る よ う 気を
つけて く だ さ い。 た と えば、 ネ ッ ト ワ ー ク ド ラ イ ブ上の フ ァ イ ルは次の よ う に表 し ます。
\\\\malik\\rp\\foo.pdf。
PDF_begin_document_callback( ) は C ・ C++ でのみ利用可能です。
C++ Java C# void end_document(String optlist)
Perl PHP end_document(string optlist)
C void PDF_end_document(PDF *p, const char *optlist)
生成 さ れた PDF フ ァ イ ルを閉 じ て、 さ ま ざ ま なオプシ ョ ン を適用 し ます。
optlist 文書処理オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン群 : errorpolicy (表 2.1 参照) ・ hypertextencoding (表 2.3 参照)
> 表 3.1 に従っ た文書オプシ ョ ン群。 PDF_end_document( ) で指定す る オプシ ョ ンは、
PDF_begin_document( ) で指定 し た同等のオプシ ョ ン よ り も 優先 さ れます。 以下のオ
プシ ョ ンが使え ます :
action ・ associatedfiles ・ attachments ・ autoxmp ・ destination ・ destname ・ labels ・
metadata ・ moddate ・ openmode ・ pagelayout ・ portfolio ・ search ・ uri ・
viewerpreferences
詳細
44
こ の関数は、 生成 さ れた PDF 文書を完了 し 、 文書に関連する リ ソ ース をすべて解放 し 、 そ
の PDF 文書が PDF_begin_document( ) で開かれていた と き には出力フ ァ イ ルを閉 じ ます。
こ の関数は、 PDF 文書を開いた と き の手段が何であ ろ う と 、 ク ラ イ ア ン ト がすべてのペー
ジ を生成 し おわっ た時点で呼び出す必要があ り ます。
文書を メ モ リ 内に生成 し た と き は (フ ァ イ ル上でな く )、 その文書のバ ッ フ ァ は こ の関
数を呼び出 し た後 も 保持 さ れ (PDF_get_buffer( ) で取 り 出せ る よ う に)、 次に PDF_begin_
document( ) を呼び出 し た と き か、 ま たは PDFlib オブジ ェ ク ト が ス コ ープ外に出た と き に
解放 さ れます。
第 3 章 : 文書 ・ ページ関数
スコープ 文書。 こ の関数は文書ス コ ープ を終了 さ せます。 照応す る PDF_begin_document( ) 関数か
PDF_begin_document_callback( ) 関数のいずれか と 必ずペアに し て呼び出す必要があ り ま
す。
表 3.1 PDF_begin_document( ) ・ PDF_end_document( ) の文書オプ シ ョ ン
オプ シ ョ ン
説明
action1
(ア ク シ ョ ン リ ス ト 。 PDF/A では不可) 以下の 1 個ない し 複数のイ ベン ト に対する文書ア ク シ ョ ン
の リ ス ト (デ フ ォル ト : 空 リ ス ト ) :
open
文書が開かれた時に実行 さ せたいア ク シ ョ ン。 Acrobat 内の実行順序の関係上、 文書レ
ベルの JavaScript は open ア ク シ ョ ン と し て使え ません。
didprint/didsave/willclose/willprint/willsave
文書の印刷後 / 文書の保存後 / 文書を閉 じ る前 / 文書の印刷前 / 文書の保存前に実行 さ
せたい JavaScript ア ク シ ョ ン。
associatedfiles1
(アセ ッ ト ハン ド ルの リ ス ト 。 PDF 2.0 ・ PDF/A-3 でのみ可) PDF/A-3 に従っ た連携 フ ァ イル群の
ためのア セ ッ ト ハン ド ル群。 こ の フ ァ イル群は、 PDF_load_asset( ) と type=attachment を用いて読
み込まれている必要があ り ます。
attachments (オプ シ ョ ン リ ス ト の リ ス ト ま たはアセ ッ ト ハン ド ルの リ ス ト 。 PDF/X-1a/3 ・ PDF/A-1 では不可。
PDF/A-2 : PDF/A-1 ・ PDF/A-2 文書のみ添付可。 PDF/A-3 : 許容 さ れませんので、 かわ り に
associatedfiles を使用 し て く だ さ い) PDF_load_asset( ) と type=attachment で読み込まれている文
書レ ベル フ ァ イル添付を指定 し ます。 PDF_begin_document( ) と PDF_end_document( ) の両方で フ ァ
イル添付を与え るのは OK です。 ただ し 、 アセ ッ ト ハン ド ルは PDF_end_document( ) でのみ与え る
こ と がで き ます。 使え るサブオブオプ シ ョ ン群 : 表 13.6 参照
autoxmp
(論理値。 PDF/X-3/4/5 ・ PDF/A では true を強制 さ れます) true にする と 、 PDFlib は文書情報
フ ィ ール ド から XMP 文書 メ タ デー タ を作成 し ます (281 ページ 「14.2 XMP メ タ デー タ 」 参照)。 デ
フ ォ ル ト : false
destination
(オプ シ ョ ン リ ス ト 。 文書を開 く ア ク シ ョ ン を指定 し ている と きは無視 さ れます) 文書を開 く ア ク
シ ョ ン を表 12.10 に従っ て指定 し たオプ シ ョ ン リ ス ト 。
destname1
(ハイパーテキス ト 文字列。 destination オプ シ ョ ン を指定 し ている と きは無視 さ れます) 文書を
開 く ア ク シ ョ ン と し て使わせたい、 PDF_add_nameddest( ) で定義 し てある移動先の名前。
groups2
(文字列の リ ス ト 。 PDF/VT モー ド の場合、 ま たは文書部分 ヒ エ ラ ルキーが作成 さ れている場合に
は不可) 文書で使いたいページグループの名前 と 順序を定義 し ます。 ページグループは複数の
ページ を ま と めます (ページ ラ ベルをつける と き な どに有用です)。 文書で定義 し たページグルー
プの 1 つにページ を割 り 当てて、 そのグループの中で指 し 示す こ と がで き ます。 文書でページグ
ループ を定義 し た と きは、 すべてのページ をページグループに割 り 当て る必要があ り ます。
labels
(オプ シ ョ ン リ ス ト の リ ス ト ) シ ンボ リ ッ ク なページ名を表 3.6 に従 っ て指定 し た 1 個ない し 複数
のオプ シ ョ ン リ ス ト を内容 と し て持つ リ ス ト 。 こ のページ名は Acrobat のス テー タ スバーにページ
ラ ベル と し て表示 さ れます (ページ番号のかわ り に)。 style ・ prefix ・ start 値の組み合わせが文
書内で一意であ る必要があ り ます。 デ フ ォ ル ト : ページ ラ ベルな し
linearize
(論理値。 PDF_begin_document( ) のみ。 objectstreams=none を強制 し ます) true にする と 出力文書
は線形化 さ れます。 z/OS では、 こ のオプ シ ョ ンはイ ン コ ア生成 (すなわち filename を空に) と
は併用で き ません。 デ フ ォル ト : false
metadata
(オプ シ ョ ン リ ス ト 。 PDF 1.4) 文書の XMP メ タ デー タ を与え ます (281 ページ 「14.2 XMP メ タ
デー タ 」 参照)。 XMP プ ロパテ ィ はそれぞれ、 PDF_set_info( ) で与え られた文書情報フ ィ ール ド に
よ っ てオーバラ イ ド さ れる こ と があ り ます。 PDF/A モー ド では、 与え る XMP メ タ デー タ が準拠す
るべき要請が追加 さ れます (PDFlib チ ュ ー ト リ アル参照)。
moddate
(論理値) true にする と 、 い く つかのプ リ フ ラ イ ト ツールに準拠する ために ModDate (更新日時)
文書情報キーが作成 さ れます。 デ フ ォル ト : false
3.1 文書関数
45
表 3.1 PDF_begin_document( ) ・ PDF_end_document( ) の文書オプ シ ョ ン
オプ シ ョ ン
説明
objectstreams2 (キーワー ド の リ ス ト 。 PDF 1.5。 optimize または linearize が true の と きは none が強制 さ れま
す) 出力フ ァ イルサイ ズを劇的に縮小する、 圧縮 さ れたオブ ジ ェ ク ト ス ト リ ーム群を生成 し ます
(デ フ ォル ト : {other nodocinfo}) :
bookmarks し お り オブ ジ ェ ク ト 群を圧縮 し ます。
docinfo
文書情報 フ ィ ール ド 群を圧縮 し ます。
dpartarrays 文書部分 ヒ エ ラ ルキーに関連する辞書群を圧縮 し ます。
dpartdicts 文書部分 ヒ エ ラ ルキーに関連する配列群を圧縮 し ます。
fields
フ ォ ーム フ ィ ール ド 群を圧縮 し ます。
names
名前付き参照先を持つオブ ジ ェ ク ト 群を圧縮 し ます。
none
圧縮 さ れたオブ ジ ェ ク ト ス ト リ ームを一切生成 し ません ( こ のオプ シ ョ ンの後で明示的
に有効に さ れた カ テ ゴ リ 群を除いて)。
other
こ のキーワー ド の後で明示的に無効に さ れなか っ たすべてのカ テ ゴ リ 、 およびその他の
自身のキーワー ド を持たないオブ ジ ェ ク ト 種別群。
pages
ページ ツ リ ーを構成する オブ ジ ェ ク ト 群を圧縮 し ます。
poca
POCA イ ン タ フ ェ ースで作成 さ れたすべての単純オブ ジ ェ ク ト を圧縮 し ます。
tags
マー ク さ れた内容 タ グ群を圧縮 し ます。
xref
圧縮 さ れた xref ス ト リ ームを生成 し ます。 このカ テ ゴ リ は、 他のカ テ ゴ リ を 1 つで も
有効にする と 自動的に有効にな り ます。
none ・ other 以外のすべてのキーワー ド は、 頭に no をつけて (例 : nodocinfo) そのカ テ ゴ リ の圧
縮を無効にする こ と がで き ます。 こ のよ う な否定キーワー ド を 1 つで も与え る と 、 キーワー ド
other は リ ス ト の先頭に付加 さ れます。
openmode
2
optimize
pagelayout
46
(キーワー ド ) 文書を開いた時の表示方式を設定 し ます。 デ フ ォ ル ト : 文書に し お り があ る な ら
bookmarks、 なければ none。
none
パネルを追加表示せずに開き ます。
bookmarks
し お り パネルを表示 し て開き ます。
thumbnails
ページパネルを表示 し て開き ます。
fullscreen
全画面表示で開き ます (ブ ラ ウザでは効果な し )。
layers
(PDF 1.5) レ イ ヤーパネルを表示 し て開き ます。
attachments
(PDF 1.6) フ ァ イル添付パネルを表示 し て開き ます。
(論理値。 objectstreams=none を強制 し ます) true にする と 、 出力文書が生成 さ れた後、 別途の
パスで最適化 さ れます。 最適化は、 冗長な重複オブ ジ ェ ク ト を除いて フ ァ イルサイ ズを小 さ く し
ます。 通常、 ク ラ イ ア ン ト コ ー ド に非効率があ る場合 (同一画像や同一 ICC プ ロ フ ァ イルを、 ハ
ン ド ルの再利用をせずに、 何度も 読込んだ場合な ど) を除き、 最適化は目立っ た効果を も た ら し
ません。 z/OS では、 こ のオプ シ ョ ンはイ ン コ ア生成 (すなわち filename を空に) と は併用で き
ません。 デ フ ォ ル ト : false
(キーワー ド ) 文書を開いた時に使わせたいページ レ イ アウ ト (デ フ ォ ル ト : default) :
default
Acrobat ビ ュ ーアのデ フ ォ ル ト 設定。
singlepage
1 ページずつ表示。
onecolumn
ページ を縦一列に並べて表示。
twocolumnleft
ページ を見開き で、 奇数ページ を左に表示。
twocolumnright
ページ を見開き で、 奇数ページ を右に表示。
twopageleft
(PDF 1.5) 2 ページずつ、 奇数番号ページ を左に表示。
twopageright
(PDF 1.5) 2 ページずつ、 奇数番号 ページ を右に表示。
第 3 章 : 文書 ・ ページ関数
表 3.1 PDF_begin_document( ) ・ PDF_end_document( ) の文書オプ シ ョ ン
オプ シ ョ ン
説明
portfolio1
(オプ シ ョ ン リ ス ト 。 PDF 1.7) 表 12.13 に従 っ た、 PDF ポー ト フ ォ リ オ を生成する ためのサブオプ
シ ョ ン群
search
(オプ シ ョ ン リ ス ト 。 ISO 32000-1 では不可) 文書を開 く 時に検索イ ンデ ッ ク ス を読み込むよ う
Acrobat に命令 し ます。 使え るサブオプ シ ョ ン :
filename (ハイパーテキス ト 文字列。 必須) 検索イ ンデ ッ ク スの入っ た フ ァ イルの名前。
indextype (名前文字列) イ ンデ ッ ク スの種類。 Acrobat に対 し ては PDX と する必要があ り ます。 デ
フ ォ ル ト : PDX
uri
(文字列) 文書にベース URL を設定 し ます。 これは、 他の文書への相対 Web リ ン ク を持っ た文書
を他の所へ移す と き に便利です。 ベース URL を 「元の」 場所に設定 し ておけば、 相対 リ ン クは確
実に有効であ り つづけます。 デ フ ォ ル ト : ベース URI な し
viewerpreferences
(オプ シ ョ ン リ ス ト ) さ ま ざ ま な表示設定を表 3.7 に従 っ て指定 し たオプ シ ョ ン リ ス ト 。 デ フ ォ ル
ト :空
1. PDF_end_document( ) でのみ可
2. PDF_begin_document( ) ・ PDF_begin_document_callback( ) でのみ可
表 3.2 PDF_begin_document( ) の PDF 互換性 ・ 規格のためのオプ シ ョ ン
オプ シ ョ ン
説明
compatibility
(キーワー ド 。 pdfa か pdfua か pdfvt か pdfx オプ シ ョ ンが none 以外の値で用い ら れている と きは
無視 さ れます) 文書の PDF バージ ョ ン を、 以下に挙げるキーワー ド のいずれかに設定 し ます。 こ
のオプ シ ョ ンは、 どの PDF 生成機能が利用可能か と 、 どの PDF 文書を PDFlib+PDI で取 り 込めるか
に影響を与え ます (デ フ ォル ト : 1.7) :
limitcheck
1.4
PDF 1.4。 Acrobat 5 以上が必要です。
1.5
PDF 1.5。 Acrobat 6 以上が必要です。
1.6
PDF 1.6。 Acrobat 7 以上が必要です。
1.7
PDF 1.7。 ISO 32000-1 で定義 さ れてお り 、 Acrobat 8 以上が必要です。
1.7ext3
PDF 1.7 拡張レ ベル 3。 Acrobat 9 以上が必要です。
1.7ext8
PDF 1.7 拡張レ ベル 8。 Acrobat X 以上が必要です。
2.0
PDF 2.0。 ISO 32000-2 で定義 さ れています。
true の場合、 PDF/A-1/2/3 ・ PDF/X-4/5 モー ド において間接 PDF オブ ジ ェ ク ト の数の制限
(8,388,607) が強制 さ れます。 デ フ ォ ル ト : true
nodenamelist (名前文字列のリスト。pdfvt=PDF/VT-1 と pdfvt=PDF/VT-2 では必須)文書部分ヒエラルキーのす
べてのレベル群に対する名前群。すべての名前は、ASCII キャラクタ群で構成されている必要があ
り、かつ XML NMTOKEN の規則群に準拠している必要があります。最初の文字列が、その文書部
分ヒエラルキー内のレベルに対する名前を指定します。
3.1 文書関数
47
表 3.2 PDF_begin_document( ) の PDF 互換性 ・ 規格のためのオプ シ ョ ン
オプ シ ョ ン
説明
pdfa
(キーワー ド ) PDF/A 準拠レ ベルを、 以下のいずれか一つに設定 し ます (デ フ ォル ト : none) :
PDF/A-1a:2005・PDF/A-1b:2005 (compatibility=1.4 を暗黙に前提 し ます)
PDF/A-2a・PDF/A-2b・PDF/A-2u (compatibility=1.7 を暗黙に前提 し ます)
PDF/A-3a・PDF/A-3b・PDF/A-3u (compatibility=1.7 を暗黙に前提 し ます)
none
PDF/A1-a:2005 ・ PDF/A-2a ・ PDF/A-3a は tagged=true. を暗黙に前提 し ます。 PDF/A は、 以下の他の
規格に同時に準拠する こ と も で き ます :
pdfx=PDF/X-1a:2003・PDF/X-3:2003・PDF/X-4
pdfvt=PDF/VT-1
pdfua=PDF/UA-1
PDF 規格に対 し て複数のオプ シ ョ ンが指定 さ れた場合には、 最 も低い互換性値が用い ら れます。
pdfua
(キーワー ド ) PDF/UA 準拠レ ベルを、 以下のいずれか一つに設定 し ます (デ フ ォ ル ト : none) :
PDF/UA-1 compatibility=1.7 と tagged=true を暗黙に前提 し ます。
none
pdfvt
PDF/UA 出力な し
(Keyword) Set the PDF/VT conformance level to one of the following (default: none):
(キーワー ド ) PDF/VT 準拠レ ベルを、 以下のいずれか一つに設定 し ます (デ フ ォル ト : none) :
PDF/VT-1
pdfx=PDF/X-4 を暗黙に前提 し ます。 pdfx オプ シ ョ ンに対する こ れ以外の値はエ ラ ーで
す。
PDF/VT-2 pdfx オプ シ ョ ンは、 PDF/X-4p ・ PDF/X-5g ・ PDF/X-5pg のいずれか一つを指定する必要が
あ り ます。 pdfx オプ シ ョ ンに対する これ以外の値はエ ラ ーです。
none
pdfx
PDF/VT 出力な し
(キーワー ド ) PDF/X 準拠レ ベルを、 以下のいずれか一つに設定 し ます (デ フ ォル ト : none) :
PDF/X-1a:2003
PDF/X-3:2003
PDF/X-4 ・ PDF/X-4p1
PDF/X-5g ・ PDF/X-5pg1
none
recordlevel
(compatibility=1.4
(compatibility=1.4
(compatibility=1.6
(compatibility=1.6
を暗黙に前提 し ます)
を暗黙に前提 し ます)
を暗黙に前提 し ます)
を暗黙に前提 し ます)
(非負整数。 文書部分 ヒ エ ラルキーが作成 さ れている場合にのみ意味を持ち ます) 受領者レ コ ー ド
群に照応する、 文書部分 ヒ エ ラルキーのゼロベースのレ ベル。
uses(論理値。 PDF/VT でのみ可) false の場合、 生成 さ れる文書の中のページはいずれも透過オブ
transparency ジ ェ ク ト を一切含みません。 PDFlib は、 こ の表明が違反 さ れた場合には例外を発生 さ せます。 こ
のオプ シ ョ ン を false に設定する こ と は、 透過を持たない文書に対 し てのみ許容 さ れ、 また、 す
べての XObject が無条件に カ プ セル化 と 標識 さ れますので、 PDF/VT のためのカ プ セル化 XObject
の生成を容易に し ます。 デ フ ォル ト : true
1. PDFlib チ ュ ー ト リ アルに、 参照 さ れた ICC プ ロ フ ァ イルでの Acrobat の諸問題に関する重要な注記があ り ます。
48
第 3 章 : 文書 ・ ページ関数
表 3.3 PDF_begin_document( ) の タ グ付き PDF のためのオプ シ ョ ン
オプ シ ョ ン
説明
checktags
(キーワー ド 。 PDF/UA-1 モー ド では strict と する必要があ り ます) PDF_begin_item( ) ま たは さ ま
ざ ま な関数の tag オプ シ ョ ン を用いて作成 さ れる エ レ メ ン ト 群に対 し て構造エ レ メ ン ト ネス ト 化
規則群 (PDFlib チ ュ ー ト リ アル参照) がチ ェ ッ ク さ れるかど う かを指定 し ます。 こ のオプ シ ョ ン
は移植支援のためだけに提供 さ れています。 こ れは、 取 り 込まれるページ群の中の タ グ群には影
響を与え ません (PDF_open_pdi_document( ) のオプ シ ョ ン checktags を参照)。 使え るキーワー ド
(デ フ ォル ト : strict) :
lang
none
タ グネス ト 化規則群は強制 さ れません。 こ の設定は、 無効な構造 ヒ エ ラ ルキーを生み出
すおそれがあ り ますので、 推奨 さ れません。
relaxed
strict と 同様ですが、 ただ し い く つかの規則が強制 さ れません (PDFlib チ ュ ー ト リ アル
参照)。
strict
タ グがネス ト 化規則群に違反 し ている と き には、 例外が発生 し ます。
(文字列。 tagged=true に し ている と きは推奨) 文書の主要言語を、 2 字の ISO 639 言語 コ ー ド で設
定 し ます (例 : DE ・ EN ・ FR ・ JA)。 その後に、 ハイ フ ン と 2 字の ISO 3166 国 コ ー ド をつける こ と
も 可能です (例 : EN-US ・ EN-GB ・ ES-MX)。 大文字 ・ 小文字は区別 さ れません。
こ の言語指定は、 構造ツ リ ーのあ ら ゆる レ ベルで個々の構造ア イ テムについてオーバラ イ ド で き
ますが、 は じ めに文書の全体について設定 し てお く べき です。
PDF/UA-1 : 自然言語を、 こ のオプ シ ョ ン を用いて、 あ るいは個々の構造エ レ メ ン ト の lang サブ
オプ シ ョ ン を用いて指定する必要があ り ます。
rolemap
(文字列 リ ス ト の リ ス ト 。 各文字列 リ ス ト の 1 番目の要素は名前文字列、 2 番目の要素は文字列。
タ グ付き PDF でのみ可。 カ ス タ ムエ レ メ ン ト 種別が用い られている場合には必須) カ ス タ ムエ レ
メ ン ト 種別から 標準エ レ メ ン ト 種別へのマ ッ ピ ング。 各サブ リ ス ト は、 標準またはカ ス タ ムのエ
レ メ ン ト 種別の名前 と 、 この 1 番目の種別を マ ッ プ さ せたい標準エ レ メ ン ト 種別の名前を内容 と
し て持ち ます。 イ ン ラ イ ン ・ 擬似エ レ メ ン ト 種別は、 サブ リ ス ト 内の 2 番目の項目 と し て許容 さ
れません。 既存のエ レ メ ン ト 種別に対 し て別の意味付け を割 り 当て る ために、 標準エ レ メ ン ト 種
別を別の標準エ レ メ ン ト 種別へマ ッ プする こ と も で き ます。 間接マ ッ ピ ン グ、 すなわち、 カ ス タ
ム種別を別のカ ス タ ム種別へマ ッ プ し 、 それを標準種別へマ ッ プする こ と は許容 さ れます。
等価なエ レ メ ン ト のペアは警告な し で無視 さ れます。 タ グ付き PDF における カ ス タ ムエ レ メ ン ト
種別の使用については 282 ページ 「14.3 タ グ付き PDF」 を参照 し て く だ さ い。 カ ス タ ムエ レ メ ン
ト 種別名は、 予約接頭辞 PLib で始ま っ てはいけません。
PDF/UA-1 では、 標準エ レ メ ン ト 種別を再マ ッ プする こ と は許容 さ れません。
structuretype
(キーワー ド 。 PDF/UA-1 でのみ可) 文書構造の種別。 使え るキーワー ド (デ フ ォ ル ト : weak) :
strong
文書は強 く 構造化 さ れています。 すなわち、 その構造ツ リ ーはその文書の論理的構成を
反映 し ています。 見出 し に対する唯一許容 さ れる構造種別は H であ り 、 H1 ・ H2 な どは
許容 さ れません。 構造ツ リ ー内の各 ノ ー ド は、 高々 1 個の H タ グ と 、 1 個ない し 複数の
段落 タ グ P を内容 と し ます。
weak
文書は弱 く 構造化 さ れています。すなわち、その構造ツ リ ーは 2 ~ 3 レ ベルであ り 、すべ
ての見出 し ・ 段落な どが直接子 と な っ ています。 論理構造は見出 し タ グ H1 ・ H2 な ど で
表現 さ れる こ と がで き、 H は許容 さ れません。 見出 し は子孫を持つ こ と がで き ません。
tag
(オプ シ ョ ン リ ス ト ) 表 14.4 に従 っ た タ グ付けオプ シ ョ ン群。 指定 さ れあ る構造エ レ メ ン ト は、 文
書構造ルー ト を構成 し 、 PDF_end_document( ) で自動的に閉 じ られます。 tagname サブオプ シ ョ ン
では、 グループ化エ レ メ ン ト 群のみが許容 さ れます。
tagged
(論理値) true にする と タ グ付き PDF 出力が生成 さ れます。 タ グ付き PDF モー ド では、 ク ラ イ ア
ン ト は適切な構造情報を与え る必要があ り ます (282 ページ 「14.3 タ グ付き PDF」 参照)。 PDF/A1a:2005 か PDF/A-2a か PDF/A-3a か PDF/UA-1 モー ド が有効な と きは、 このオプ シ ョ ンは自動的に
true に設定 さ れます。 デ フ ォ ル ト : false
3.1 文書関数
49
表 3.4 PDF_begin_document( ) のセキ ュ リ テ ィ オプ シ ョ ン。 PDF/A ・ PDF/X では不可
オプ シ ョ ン
説明
attachmentpassword1
( 文字列2。 PDF 1.6。 userpassword か masterpassword が設定 さ れている場合には無視 さ れます。
linearize ・ optimize オプ シ ョ ン と 組み合わせる こ と はで き ません。 PDF/A ・ PDF/X では不可)
フ ァ イル添付が、 こ の与えた文字列をパスワー ド と し て暗号化 さ れます。 文書の残 り の部分は暗
号化 さ れません。 EBCDIC プ ラ ッ ト フ ォ ームでは、 こ のパスワー ド は ebcdic エ ン コ ーデ ィ ングか
EBCDIC-UTF-8 と 見な さ れます。
masterpassword1
(文字列。 permissions が指定 さ れている場合には必須。 PDF/A ・ PDF/X では不可) 文書に対する
マ ス タ ーパスワー ド 。 これが空の場合には、 マス タ ーパスワー ド は適用 さ れません。 EBCDIC プ
ラ ッ ト フ ォ ームでは、 このパスワー ド は ebcdic エ ン コ ーデ ィ ン グか EBCDIC-UTF-8 と 見な さ れま
す。 デ フ ォル ト : 空
permissions
(キーワー ド の リ ス ト 。 PDF/A ・ PDF/X では不可) 出力文書に対する利用権限の リ ス ト 。 以下の
キーワー ド を任意の数入れ られます (デ フ ォル ト : 空)。
noprint
Acrobat で フ ァ イルを印刷で き ないよ う に し ます。
nohiresprint
Acrobat で高解像度印刷がで き ないよ う に し ます。 noprint を設定 し ていない と きは、
「画像 と し て印刷」 機能でページ を低解像度で レ ン ダ リ ン グ し た もの し か印刷で き な く
な り ます。
nomodify Acrobat でページの編集 ・ 切 り 抜き と フ ォ ーム フ ィ ール ド の追加 ・ 変更を で き ないよ う
に し ます。
noassemble (nomodify を暗黙に前提) Acrobat でページの追加 ・ 削除 ・ 回転 と し お り ・ サムネール
の作成がで き ないよ う に し ます。
noannots Acrobat で し お り ・ フ ォ ーム フ ィ ール ド の追加 ・ 変更を で き ないよ う に し ます。
noforms
(nomodify ・ noannots を暗黙に前提) Acrobat で フ ォ ーム フ ィ ール ド への記入を で き な
いよ う に し ます。
nocopy
Acrobat で テキス ト ・ グ ラ フ ィ ッ ク のコ ピー ・ 抽出を で き ないよ う に し ます。 ア ク セ シ
ビ リ テ ィ イ ン タ フ ェ ースは noaccessible で制御 し ます。
noaccessible
(PDF 2.0 では非推奨。 PDF/UA-1 では不可) Acrobat でア ク セシ ビ リ テ ィ (読み上げ機
能な ど) でのテキス ト やグ ラ フ ィ ッ クの抽出がで き ないよ う に し ます。
plainmetadata
(PDF 1.5) 暗号化 し た文書で も、 XMP 文書 メ タ デー タ を暗号化 し ないま まに し ます。
userpassword1
(文字列。 PDF/A ・ PDF/X では不可) 文書のユーザーパスワー ド 。 空にする と ユーザーパスワー ド
は適用 さ れません。 EBCDIC プ ラ ッ ト フ ォ ームでは、 こ のパスワー ド は ebcdic エ ン コ ーデ ィ ング
か EBCDIC-UTF-8 と 見な さ れます。 デ フ ォル ト : 空
1. こ のオ プ シ ョ ン を用いて任意の文字列を渡すためには、 10 ページ 「オ プ シ ョ ン リ ス ト 内の括弧で囲ま ない文字列」 に記述
し たオ プ シ ョ ン リ ス ト 文法が有用で し ょ う 。
2. Winansi エ ン コ ーデ ィ ン グ外のキ ャ ラ ク タ は、 compatibility=1.7ext3 以上に対するパスワー ド でのみ許容 さ れます。
表 3.5 PDF_begin_document( ) の出力処理オプ シ ョ ン
オプ シ ョ ン
説明
createoutput (論理値) false の場合、 filename 引数は無視 さ れ、 出力フ ァ イルまたは メ モ リ 領域は作成 さ れま
せん。 こ のオプ シ ョ ンは、 compress=0 と linearize=false と optimize=false を暗黙に前提 し ま
す。 デ フ ォル ト : true
50
第 3 章 : 文書 ・ ページ関数
表 3.5 PDF_begin_document( ) の出力処理オプ シ ョ ン
オプ シ ョ ン
説明
createpvf
(論理値) true にする と 、 PDF フ ァ イルを フ ァ イル上で な く メ モ リ 内に生成 し ます。 与え る フ ァ イ
ル名は、 PDF_end_document( ) の呼び出 し に よ っ て生成 さ れる仮想フ ァ イルの名前です。 こ の場合、
PDF 出力デー タ を取 り 出すために PDF_get_buffer( ) を呼び出す こ と はで き ません。 かわ り に、 生成
さ れた PVF フ ァ イルの名前を、 他の PDFlib 関数に与え る こ と がで き ます。 こ れは、 PDF ポー ト
フ ォ リ オに含める文書を生成する と き に有用で し ょ う 。 デ フ ォ ル ト : false
filemode
(文字列。 z/OS ・ USS のみ) 文書 フ ァ イル と 任意の一時フ ァ イル (例 : linearize オプ シ ョ ンに よ
る) のフ ァ イルモー ド を設定するパラ メ ー タ 文字列。 与えた文字列は、 デ フ ォル ト のフ ァ イル
モー ド 「wb,」 に追加 さ れます。 recordsize オプ シ ョ ンは、 こ のオプ シ ョ ン で指定するパラ メ ー タ
群 と 整合 さ せる必要があ り ます。 デ フ ォ ル ト : 空、 ま たは非ブ ロ ッ ク出力の場合 ( こ れがデ フ ォ
ル ト です。 オプ シ ョ ン recordsize を参照) は recfm=v。
文字列の例 :
recfm=fb,lrecl=80,space=(cyl,(1,5)
デー タ セ ッ ト の属性群がすでに割 り 当て られている場合にはそれに従 う : recfm=*
flush
(キーワー ド 。 PDF_begin_document_callback( ) のみ) 放出の方式を設定 し ます (デ フ ォ ル ト :
page) :
none
文書が終わる時に 1 回だけ 放出
page
各ページが終わる ご と に 放出
content
あ ら ゆる フ ォ ン ト ・ 画像 ・ フ ァ イル添付 ・ ページが終わる ご と に 放出
heavy
内部の 64 KB の文書バ ッ フ ァ がい っ ぱいにな る たびに 放出
inmemory
(論理値。 PDF_begin_document_callback( ) では不可) true にする と 、 linearize か optimize オプ
シ ョ ン も true に し た と きは、 PDFlib は線形化のための一時フ ァ イルを一切作成せず、 フ ァ イルを
メ モ リ 内で処理 し ます。 これはシ ス テムに よ っ ては (特に z/OS)、 驚異的な速度向上につなが り
ますが、 文書のサイ ズの 2 倍の メ モ リ が必要にな り ます。 false にする と 、 線形化 ・ 最適化のため
に一時フ ァ イルが作成 さ れます。 デ フ ォ ル ト : false
recordsize
(整数。 z/OS ・ USS のみ) 出力フ ァ イル、 および linearize ・ optimize オプ シ ョ ン で作成が必要 と
な る可能性のあ るすべての一時フ ァ イルのレ コ ー ド サイ ズ。 デ フ ォ ル ト : 0 (非ブ ロ ッ ク出力)
removefragments
true の場合、例外の後に存在する部分的な PDF 出力文書が PDF_delete( ) で除去 さ れます。このよ う
な PDF 断片は文書 と し ては決 し て使え ません。 こ のオプ シ ョ ンは、 メ モ リ 内 PDF 生成のために空
フ ァ イル名が指定 さ れている場合には効果を持ち ません。 デ フ ォル ト : false
tempdirname
(文字列。 PDF_begin_document_callback( ) では不可) linearize ・ optimize オプ シ ョ ン で必要な一時
フ ァ イルを作成 し たいデ ィ レ ク ト リ の名前。 こ のオプ シ ョ ンが見つから ない と きは、 PDFlib はカ
レ ン ト デ ィ レ ク ト リ に一時フ ァ イルを生成 し ます。 tempfilenames オプ シ ョ ン を与えている と きは
こ のオプ シ ョ ンは無視 さ れます。 デ フ ォ ル ト : 存在 し ない
tempfilenames
(文字列 2 個の リ ス ト 。 z/OS ・ USS でのみ可) linearize ・ optimize オプ シ ョ ン で必要な一時 フ ァ
イル 2 個のフル フ ァ イル名。 空にする と 、 PDFlib は一意な一時 フ ァ イル名を生成 し ます。 PDF_
end_document( ) の後に こ の一時 フ ァ イルを削除するのはユーザー側の役割です。 このオプ シ ョ ン
を与え る と きは、 引数 filename は空に し てはいけません。 デ フ ォ ル ト : 存在 し ない
3.1 文書関数
51
表 3.6 PDF_begin/end_document( ) の labels オプ シ ョ ン と PDF_begin/end_page_ext( ) の label オプ シ ョ ンのサブオプ
ション
オプ シ ョ ン
説明
group
(文字列。 PDF_begin_document( ) のみ。 文書がページグループ を使っ ている と きは必須、 そ う でな
い と きは禁止) 指定するグループの全ページに ラ ベルが適用 さ れます。 後続するグループについ
て も、 新たな ラ ベルを適用する ま では こ のラ ベルが全ページに適用 さ れつづけます。 グループ名
は、 PDF_begin_document( ) の groups オプ シ ョ ン で定義 し てあ る必要があ り ます。
hypertextencoding
(キーワー ド ) prefix オプ シ ョ ンのエ ン コ ーデ ィ ング を指定 し ます。 空文字列にする と unicode を
意味 し ます。 デ フ ォ ル ト : グローバル hypertextencoding オプ シ ョ ンの値。
pagenumber (整数。 PDF_end_document( ) のみ。 文書がページグループ を使っ ていない と きは必須、 そ う で ない
と きは禁止) 指定するページに ラ ベルが適用 さ れます。 後続するページについて も、 新たな ラ ベ
ルを適用する ま では こ のラ ベルが適用 さ れつづけます。
prefix
(ハイパーテキス ト 文字列) 範囲内のすべてのラ ベルにつけたい ラ ベル接頭辞。 デ フ ォル ト : な し
start
(整数≧ 1) 範囲内の最初のラ ベルに与えたい数値。 範囲内の後続するページに も、 こ の値に続け
て番号が振ら れてい き ます。 デ フ ォ ル ト : 1
style
(キーワー ド ) 使いたい番号ス タ イル。 デ フ ォ ル ト : none。
none
ページ番号な し 。 すなわち ラ ベルの中身は接頭辞だけにな り ます。
D
10 進ア ラ ビ ア数字 (1, 2, 3, ...)
R
大文字ローマ数字 (I, II, III, ...)
r
小文字ローマ数字 (i, ii, iii, ...)
A
大文字アルフ ァ ベ ッ ト (A, B, C, ..., AA, BB, CC, ...)
a
小文字アルフ ァ ベ ッ ト (a, b, c, ..., aa, bb, cc, ...)
表 3.7 PDF_begin_document( ) ・ PDF_end_document( ) の viewerpreferences オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
centerwindow (論理値) true の場合、 文書のウ ィ ン ド ウ を画面の中央に置き ます。 デ フ ォ ル ト : false
direction
(キーワー ド ) 文書の閲覧方向。 見開き表示でのス ク ロール順序に対 し て効力を持ち ます (デ フ ォ
ル ト : l2r)。
l2r
左から右へ
r2l
右から左へ (縦書き な ど)
displaydoctitle (論理値。 PDF/UA-1 モー ド では true のみ可) Acrobat の タ イ ト ルバーに Title 文書情報フ ィ ール ド
を表示 (true)、 あ るいはフ ァ イル名を表示 (false) し ます。 デ フ ォ ル ト : PDF/UA-1 では true、
それ以外では false
duplex
(キーワー ド 。 PDF 1.7) 印刷ダ イ ア ロ グの用紙の扱いのオプ シ ョ ン (デ フ ォル ト : none)。
DuplexFlipShortEdge
両面印刷 し て短辺を綴 じ る。
DuplexFlipLongEdge
両面印刷 し て長辺を綴 じ る。
none
用紙の扱い を設定 し ない。
Simplex
片面印刷。
fitwindow
(論理値) 文書のウ ィ ン ド ウ を先頭ページの大き さ に合わせるかど う かを指定 し ます。 デ フ ォル
ト : false
hidemenubar1
(論理値) Acrobat の メ ニ ュ ーバーを隠すかど う かを指定 し ます。 デ フ ォ ル ト : false
52
第 3 章 : 文書 ・ ページ関数
表 3.7 PDF_begin_document( ) ・ PDF_end_document( ) の viewerpreferences オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
hidetoolbar
説明
1
(論理値) Acrobat のツールバーを隠すかど う かを指定 し ます。 デ フ ォル ト : false
hidewindow- (論理値) Acrobat のウ ィ ン ド ウ コ ン ト ロールを隠すかど う かを指定 し ます。 デ フ ォル ト : false
ui1
nonfullscreenpagemode
(キーワー ド 。 openmode オプ シ ョ ン を fullscreen に設定 し ている と きのみ意味を持ち ます) 全画
面表示か ら抜けた時の文書の表示方式を指定 し ます (デ フ ォ ル ト : none) :
bookmarks
ページ と し お り パネルを表示
thumbnails
ページ と ページパネルを表示
layers
ページ と レ イ ヤーパネルを表示
none
ページだけを表示
numcopies
(整数で範囲 1 ~ 5、 PDF 1.7) 印刷ダ イ ア ログの部数。 デ フ ォ ル ト : ビ ュ ーア依存
picktraybypdfsize
(論理値。 PDF 1.7。 Mac OS では効果な し ) 印刷ダ イ ア ロ グで PDF のページサイ ズに合わせて給紙
ト レ イ を選択するかど う かを指定 し ます。 デ フ ォ ル ト : ビ ュ ーア依存
printscaling
(キーワー ド 。 PDF 1.6) 文書で印刷ダ イ ア ログ を出 し た と き に選択 さ せてお き たい、 ページの拡縮
の選択肢。 使え るキーワー ド (デ フ ォル ト : appdefault) :
none
ページの拡縮な し 。 ページの内容を正確な大き さ で印刷 さ せたい と き に有用です。
appdefault Acrobat で指定 さ れている カ レ ン ト の印刷の拡縮を使用 し ます。
printpagerange
(整数ペアの リ ス ト 。 PDF 1.7) 印刷ダ イ ア ログのページ番号。 各ペアは、 印刷 し たいページ範囲の
開始ページ と 終了ページの番号を表 し ます (先頭ページが 1)。 デ フ ォル ト : ビ ュ ーア依存
printarea
printclip
viewarea
viewclip
(キーワー ド 。 PDF/X では media ・ bleed のみ可) 文書を画面表示 ・ 印刷する時に表示 ・ 断ち切 り
し たいページ領域を表すページ境界枠の種類。 Acrobat はこ の設定を無視 し ますが、 他のア プ リ
ケーシ ョ ン では有用か も し れません。 使え るキーワー ド (デ フ ォル ト : crop) :
art
ArtBox を使用
bleed
BleedBox を使用
crop
CropBox を使用
media
MediaBox を使用
trim
TrimBox を使用
1. Acrobat X 以上では、 hidemenubar ・ hidetoolbar ・ hidewindowui の組み合わせ (すなわち、 すべてのユーザー イ ン タ フ ェ ー
ス を隠す) には対応 し ていません。 この 3 個の要素すべて を hidden に設定 し て も 、 メ ニ ュ ーバーは表示 さ れます。
3.1 文書関数
53
3.2 PDF 文書を メ モ リ か ら 取得
空でない filename 引数が PDF_begin_document( ) に与え ら れてい る と き 、PDFlib は名前付
き デ ィ ス ク フ ァ イ ルに PDF 文書を書 き 込みます。 あ る いは、 filename 引数が空であれば、
PDF 文書は メ モ リ 内に生成 さ れます。 こ の場合、 PDF 文書デー タ は メ モ リ か ら PDF_get_
buffer( ) で取得す る 必要があ り ます。 こ れは と り わけ、 PDF を Web サーバか ら 頒布す る と
き に有用です。
C++ const char *get_buffer(long *size)
Java byte[] get_buffer( )
Perl PHP string get_buffer( )
C const char * PDF_get_buffer(PDF *p, long *size)
PDF 出力バ ッ フ ァ の内容を得ます。
size (C ・ C++ 言語バ イ ンデ ィ ン グのみ) 返 さ れたデー タ の長 さ をバ イ ト 単位で表 し た も
のを格納 さ せたい メ モ リ 位置への C ス タ イ ルのポ イ ン タ 。
戻り値
ク ラ イ ア ン ト 側で消費す る ためのバ イ ナ リ PDF デー タ で満た さ れたバ ッ フ ァ 。 こ の関数
は、 バ イ ナ リ デー タ のための言語独自のデー タ 型を返 し ます。 返 さ れたバ ッ フ ァ は、 ク ラ
イ ア ン ト で他の何 ら かの PDFlib 関数を呼び出す前に使 う 必要があ り ます。
詳細 生成 さ れた PDF デー タ の入っ たバ ッ フ ァ 全体ない し 一部分を取 り 出 し ます。 こ の関数が
ページ記述の合間に呼び出 さ れた と き は、 それま でに生成 さ れた PDF デー タ を返 し ます。
PDF を メ モ リ 内に生成 し てい る 場合は、 こ の関数は PDF_end_document( ) の後には少な く
と も 呼び出す必要があ り 、 その と き に PDF 文書の残 り を返 し ます。 も っ と 前に呼び出 し
て文書デー タ を 部分的に取 り 出 し て も よ い で し ょ う 。 こ の関数 を 1 回だ け PDF_end_
document( ) の後に呼び出す場合は、 返 さ れ る バ ッ フ ァ にはその PDF 文書が ま る ご と ま と
めて入っ てい る こ と が保証 さ れます。
PDF 出力にはバ イ ナ リ キ ャ ラ ク タ が含まれてい ますので、 ク ラ イ ア ン ト ソ フ ト ウ ェ ア
側では、 null 値を含む印刷不可能キ ャ ラ ク タ を受け入れ る 態勢が必要です。
スコープ オブ ジ ェ ク ト ・ 文書 (言い換えれば、 PDF_end_page_ext( ) か ら PDF_begin_page_ext( ) ま
での間か、 ま たは PDF_end_document( ) か ら PDF_delete( ) ま での間)。 こ の関数は、 PDF_
begin_document( ) に空の filename を与えてい る と き だけ使え ます。
PDF_begin_document( ) で linearize オプシ ョ ン を true に設定 し てい る と き は、ス コ ープ
は object に限 ら れますので、 すなわち こ の関数は PDF_end_document( ) の後で し か呼び出
せません。
バインディング C ・ C++ : size 引数は C ・ C++ ク ラ イ ア ン ト でだけ使え ます。
COM : 多 く の COM ク ラ イ ア ン ト は、 バ ッ フ ァ 内容を保持す る ためにバ リ ア ン ト 型を
使用 し ます。 COM での JavaScript は、 返 さ れ る バ リ ア ン ト 配列の長 さ を取得す る こ と を
許容 し ません ( し か し こ れは他の言語 と COM では動作 し ます)。
それ以外のバ イ ンデ ィ ン グ : 適切な長 さ のオブジ ェ ク ト が返 さ れ ますので、 size 引数
は与え てはいけ ません。
54
第 3 章 : 文書 ・ ページ関数
3.3 ページ関数
C++ Java C# void begin_page_ext(double width, double height, String optlist)
Perl PHP begin_page_ext(float width, float height, string optlist)
C void PDF_begin_page_ext(PDF *p, double width, double height, const char *optlist)
文書に新規ページ を追加 し て、 さ ま ざ ま なオプシ ョ ン を指定 し ます。
width・height
引数 width と height は、 新規ページの寸法を ポ イ ン ト 単位 (userunit オ
プシ ョ ン を指定 し て あ る と き はユーザー単位) で指定 し ます。 こ れ ら は同名のオプシ ョ ン
でオーバ ラ イ ド で き ます (その場合、 引数にはダ ミ ーの値 0 を使えば よ いで し ょ う )。 広
く 利用 さ れ る ページ判型の一覧を表 3.8 に示 し ます。 詳 し く は表 3.9 も 参照 し て く だ さ い
(width ・ height オプシ ョ ン)。
表 3.8 代表的な ISO 標準ページサイ ズの寸法をポ イ ン ト 単位で表 し た もの1
判型
幅
高さ
判型
幅
高さ
判型
幅
高さ
a0
2380
3368
a4
595
842
letter
612
792
a1
1684
2380
a5
421
595
legal
612
1008
a2
1190
1684
a6
297
421
ledger
1224
792
a3
842
1190
b5
501
709
11x17
792
1224
1. ISO B5 は JIS B5 と 異な る こ と に留意 し て く だ さ い。 ISO ・ 日本 ・ 米国の標準形式に関する詳 し い情報は次の
URL を参照 し て く だ さ い。
www.cl.cam.ac.uk/~mgk25/iso-paper.html
optlist
表 3.9 に従っ たページオプシ ョ ン群を持っ たオプシ ョ ン リ ス ト 。 こ れ ら のオプ
シ ョ ンは、 PDF_end_page_ext( ) で指定す る 同等のオプシ ョ ン よ り も 優先順位が低いです :
action ・ artbox ・ associatedfiles ・ bleedbox ・ blocks ・ cropbox ・ defaultcmyk ・ defaultgray ・
defaultrgb ・ duration ・ group ・ height ・ label ・ mediabox ・ metadata ・ pagenumber ・ rotate ・
separationinfo ・ taborder ・ topdown ・ transition ・ transparencygroup ・ trimbox ・ userunit ・
viewports ・ width
詳細
こ の関数は、 すべてのテ キ ス ト ・ グ ラ フ ィ ッ ク ・ 色ス テー タ スパ ラ メ ー タ を そのデフ ォ ル
ト 値に リ セ ッ ト し 、 topdown オプシ ョ ンに従っ て座標系を確立 し ます。
スコープ 文書。 こ の関数はページ ス コ ープ を開始 さ せます。 照応す る PDF_end_page_ext( ) と 必ず
ペアに し て呼び出す必要があ り ます。
C++ Java C# void end_page_ext(String optlist)
Perl PHP end_page_ext(string optlist)
C void PDF_end_page_ext(PDF *p, const char *optlist)
ページ を終了 さ せて、 さ ま ざ ま なオプシ ョ ン を適用 し ます。
optlist
表 3.9 に従っ たオプシ ョ ン リ ス ト 。 PDF_end_page_ext( ) で指定す る オプシ ョ ン
は、 PDF_begin_page_ext( ) で指定 し た同等のオプシ ョ ン よ り も 優先 さ れます。 以下のオ
プシ ョ ンが使え ます :
3.3 ページ関数
55
associatedfiles ・ action ・ artbox ・ bleedbox ・ cropbox ・ defaultcmyk ・ defaultgray ・ defaultrgb ・
duration ・ group ・ height ・ label ・ mediabox ・ metadata ・ rotate ・ taborder ・ transition ・
transparencygroup ・ trimbox ・ userunit ・ viewports ・ width
スコープ ページ。 こ の関数はページ ス コ ープを終了 さ せます。 照応する PDF_begin_page_ext( ) と
必ずペアに し て呼び出す必要があ り ます。 タ グ付き PDF モー ド では、 すべての イ ン ラ イ
ン ・ 擬似ア イ テ ムは、 こ の関数を呼び出す前に閉 じ る 必要があ り ます。
表 3.9 PDF_begin_page_ext( ) ・ PDF_end_page_ext( ) のオプ シ ョ ン
オプ シ ョ ン
説明
action
(ア ク シ ョ ン リ ス ト 。 PDF/A では不可) 以下の 1 個ない し 複数のイ ベン ト に対するページ ア ク シ ョ
ンの リ ス ト (デ フ ォ ル ト : 空 リ ス ト ) :
open
ページ を開 く 時に実行 さ せたいア ク シ ョ ン。
close
ページ を閉 じ る時に実行 さ せたいア ク シ ョ ン。
associatedfiles (アセ ッ ト ハン ド ルの リ ス ト 。 PDF 2.0 ・ PDF/A-3 でのみ可) PDF/A-3 に従っ た連携フ ァ イル群の
ア セ ッ ト ハン ド ル群。 この フ ァ イル群は、 PDF_load_asset( ) と type=attachment を用いて読み込ま
れている必要があ り ます。
artbox
bleedbox
cropbox
(長方形) カ レ ン ト ページのページ枠のパラ メ ー タ を変更 し ます。 座標はデ フ ォル ト 座標系で指定
し ます。 デ フ ォ ル ト : 枠項目な し
blocks
(POCA コ ン テナハン ド ル。 PDF_begin_page_ext( ) か PDF_end_page_ext( ) に与え る こ と がで き ます
が、 同一ページ上で両方の関数に与え る こ と はで き ません。 PPS でのみ利用可能) PDF_poca_
new( ) で作成 さ れた、 PDFlib Personalization Server (PPS) のための PDFlib ブ ロ ッ ク定義群を内容
と する辞書 コ ン テナに対するハン ド ル。 こ の指定 さ れた ブ ロ ッ ク群がページに添付 さ れます。 こ
の辞書は、 オプ シ ョ ン usage=blocks を用いて作成 さ れている必要があ り ます。 デ フ ォ ル ト : ブ
ロ ッ クなし
defaultgray1 (ICC ハン ド ルかキーワー ド ) 与え る ICC プ ロ フ ァ イルハン ド ルに従 っ て、 ページにデ フ ォ ル ト の
defaultrgb1
グ レー ・ RGB ・ CMYK 色空間を設定 し ます。
defaultcmyk1 オプ シ ョ ン defaultrgb ではキーワー ド srgb も使え ます。 こ の指定 さ れた色空間が、 ページ上の
デバイ ス依存グ レーか RGB か CMYK カ ラ ーを マ ッ プする ために使用 さ れます (そのページ上のテ
ン プ レー ト 群の中のカ ラ ーに対 し ては使用 さ れません)。
duration
(float) openmode=fullscreen に し ている と き (表 3.1 参照)、 カ レ ン ト ページにページ表示時間を
秒単位で設定 し ます。 デ フ ォ ル ト : 1
group1
(文字列。 文書がページグループ を使 っ ている と きは必須、 そ う で ない と きは不可。 PDF/VT モー
ド の場合、 または文書部分 ヒ エ ラ ルキーが作成 さ れている場合には不可) ページ を属 さ せたい
ページグループの名前。 こ の名前を使 う と 、 複数のページ を 1 つのページグループにま と めて、
ページ を PDF_resume_page( ) で指定で き る よ う にな り ます。 こ のグループ名は、 PDF_begin_
document( ) で groups オプ シ ョ ン を使っ て定義 し てあ る必要があ り ます。
height
(float または キーワー ド 。 topdown オプ シ ョ ンが true な ら禁止) 新規ページの寸法をポ イ ン ト 単
位 (userunit オプ シ ョ ン を指定 し てあ る と きはユーザー単位) で指定 し ます。 横置きのページ を
作るには、 width > height と するか、 または rotate オプ シ ョ ン を使います。 PDFlib は width と
height を使っ てページの MediaBox を作 り ますが、 MediaBox は明示的に mediabox オプ シ ョ ン を
使っ て設定する こ と も で き ます。 width ・ height オプ シ ョ ンは、 同名の引数を オーバ ラ イ ド し ま
す。
以下のシ ンボ リ ッ ク な ISO ページサイ ズ名の後に .width か .height を付けてキーワー ド と し て使
う こ と も で き ます (例 : a4.width ・ a4.height)。
a0 ・ a1 ・ a2 ・ a3 ・ a4 ・ a5 ・ a6 ・ b5 ・ letter ・ legal ・ ledger ・ 11x17
56
第 3 章 : 文書 ・ ページ関数
表 3.9 PDF_begin_page_ext( ) ・ PDF_end_page_ext( ) のオプ シ ョ ン
オプ シ ョ ン
説明
label
(オプ シ ョ ン リ ス ト ) シ ンボ リ ッ ク なページ名を表 3.6 に従っ て指定 し たオプ シ ョ ン リ ス ト 。 こ の
ページ名は、 Acrobat のス テー タ スバーにページ ラ ベル と し て (ページ番号のかわ り に) 表示 さ れ
ます。 指定する付番方式はカ レ ン ト ページに使われるほか、 後続するページについて も 、 ま た変
更する ま では こ の方式が使われつづけます。 style ・ prefix ・ start 値の組み合わせが文書内で一
意であ る必要があ り ます。
mediabox
(長方形。 topdown オプ シ ョ ンが true な ら禁止) カ レ ン ト ページの MediaBox を変更 し ます。 座標
はデ フ ォ ル ト 座標系で指定 し ます。 デ フ ォ ル ト では、 MediaBox は引数 width ・ height を使っ て作
成 さ れます。 こ の mediabox オプ シ ョ ンは、 width ・ height オプ シ ョ ンおよび引数を オーバラ イ ド
し ます。
metadata
pagenumber
(オプ シ ョ ン リ ス ト ) そのページに対する メ タ デー タ (281 ページ 「14.2 XMP メ タ デー タ 」 参照)
1
(整数。 PDF/VT モー ド の場合、 または文書部分 ヒ エ ラ ルキーが作成 さ れている場合には不可) こ
のオプ シ ョ ン で値 n を指定 し た と する と 、 ページは、 group オプ シ ョ ン で指定 し ているページグ
ループ (文書がページグループ を使っ ていないな ら文書) の既存の n 番目のページの前に挿入 さ
れます。 こ のオプ シ ョ ン を指定 し ない と 、 ページはグループの末尾に挿入 さ れます。
rotate
(整数) ページの回転値。 こ の回転は、 ページ表示に対 し て効力を持ち ますが、 座標系は変更 し ま
せん。 と り う る値は 0 ・ 90 ・ 180 ・ 270。 デ フ ォ ル ト : 0
separationinfo1
(オプ シ ョ ン リ ス ト ) カ レ ン ト ページに対する色分版の詳細を入れたオプ シ ョ ン リ ス ト 。 こ れは
Acrobat では無視 さ れますが、 サー ド パーテ ィ ソ フ ト ウ ェ ア では、 分版ページ を分版前工程におい
て見分けて正 し く プ レ ビ ュ ーするのに役立つか も し れません。
pages
(整数。 各色版ページ セ ッ ト の先頭ページには必須、 同 じ セ ッ ト 内のそれ以降のページ
では不可) 多色ページ一枚の色デー タ を成す各色版ページ群のセ ッ ト 1 つに属するペー
ジの数。 セ ッ ト のページはすべて フ ァ イル内で連続 さ せてお く 必要があ り ます。
spotname (文字列。 spotcolor を与えていないな ら必須) カ レ ン ト ページのためのイ ンキの名前。
spotcolor (スポ ッ ト カ ラ ーハン ド ル) カ レ ン ト ページのためのイ ンキを記述 し た カ ラ ーハン ド ル。
taborder
(キーワー ド 。 PDF 1.5。 PDF/UA-1 では structure のみ可) ページ上の フ ォ ーム フ ィ ール ド と 注釈
に タ ブ順序を指定するキーワー ド (デ フ ォ ル ト : PDF 1.5 以上に対する タ グ付き PDF モー ド では
structure、 それ以外では none)。
column
topdown1
段組みご と に上から下へ。 段組みの順序は、 PDF_begin/end_document( ) で
viewerpreferences オプ シ ョ ンの direction サブオプ シ ョ ン で指定 し た通 り にな り ま
す。
none
タ ブ順序を指定 し ません。
structure
フ ォ ーム フ ィ ール ド と 注釈が、 構造ツ リ ー内での出現順に選ばれてい き ます。
row
上の行か ら下の行へ。 行内での方向は、 PDF_begin/end_document( ) で
viewerpreferences オプ シ ョ ンの direction サブオプ シ ョ ン で指定 し た通 り にな り ま
す。
(論理値) true にする と 、 ページが始ま る時の座標系は、 ページの左上隅が原点で、 y 座標が下向
き に増加 し ます。 そ う で なければデ フ ォ ル ト 座標系が使われます。 デ フ ォ ル ト : false
3.3 ページ関数
57
表 3.9 PDF_begin_page_ext( ) ・ PDF_end_page_ext( ) のオプ シ ョ ン
オプ シ ョ ン
説明
transition
(キーワー ド ) openmode=fullscreen に し ている と き (表 3.1 参照)、 カ レ ン ト ページにページ効果
を設定 し て特殊な表示遷移を さ せます。 こ れは、 PDF を Acrobat で全画面表示 し て プ レゼン テー
シ ョ ン を行 う 時に有用で し ょ う 。 デ フ ォ ル ト : replace
split
画面上に線が 2 本走っ てページが見え て く る
blinds
画面上に線が多数走 っ てページが見え て く る
box
長方形か ら ページが見え て く る
wipe
画面上に線が 1 本走っ てページが見え て く る
dissolve
元ページが溶けてページが見え て く る
glitter
溶け効果が画面の一辺から 他辺へ動いてい く
replace
単純に元ページから 新ページに切 り 替わる
fly
(PDF 1.5) 元ページの中へ新ページが飛んで く る
push
(PDF 1.5) 元ページ を新ページが画面外へ押 し 出 し てい く
cover
(PDF 1.5) 元ページの上に新ページがすべ り 込んで く る
uncover
(PDF 1.5) 元ページが画面外へすべ り 出て新ページが見えて く る
fade
(PDF 1.5) 元ページから新ページが透けて く る
transparency (オプ シ ョ ン リ ス ト ま たはキーワー ド 。 PDF/A-1 ・ PDF/X-1/3 では不可。 PDF/A-2/3 ・ PDF/X-4/5
group
には制約が適用 さ れます) そのページに対する透過グループ を作成 し ます。 以下のキーワー ド を
使え ます (デ フ ォル ト : auto) :
auto
透過オブ ジ ェ ク ト が、 そのページ自体に、 または取 り 込まれた PDF ページかグ ラ
フ ィ ッ ク かテ ン プ レー ト に存在 し ている と き には、 transparencygroup オプ シ ョ ンが、
然るべき色空間を用いて自動的に作成 さ れます。 そ う でないな ら透過グループは全 く 作
成 さ れません。
none
(出力イ ン テ ン ト を持たない PDF/A-2/3 に対 し ては、 透過がそのページ上で用い ら れて
いる な ら ば不可) そのページに対 し て透過グループ を一切作成 し ません。
以下のサブオプ シ ョ ン を用いて明示的に透過グループ を作成する こ と も で き ます :
colorspace (キーワー ド または ICC プ ロ フ ァ イルハン ド ル。出力イ ン テ ン ト を持たない PDF/A-2/3 に
対 し ては、 透過がそのページ上で用い ら れている な ら ば必須) 透過グループに対する ブ
レ ンデ ィ ング色空間 (デ フ ォ ル ト : none) :
DeviceCMYK
PDF/A-2/3 ・ PDF/X-4/5 : CMYK 出力イ ン テ ン ト を用いるか、 defaultcmyk
オプ シ ョ ンが与え られている場合のみ可。
DeviceGray
PDF/A-2/3 ・ PDF/X-4/5 : グ レーか CMYK 出力イ ン テ ン ト を用いるか、
defaultgray オプ シ ョ ンが与え ら れている場合のみ可。
DeviceRGB PDF/A-2/3 ・ PDF/X-4/5 : RGB 出力イ ン テ ン ト を用いるか、 defaultrgb オプ
シ ョ ンが与え ら れている場合のみ可。
none
(出力イ ン テ ン ト を持たない PDF/A-2/3 に対 し ては、 透過がそのページ上で
用い られている な らば不可) 透過グループに対 し て色空間が出力 さ れませ
ん。
srgb
sRGB 色空間を選択する ためのキーワー ド
isolated
(論理値) 透過グループが分離 さ れているかを指定 し ます。 デ フ ォ ル ト : false
knockout (論理値) 透過グループが抜き グループかど う かを指定 し ます。 デ フ ォ ル ト : false
trimbox
58
(長方形) カ レ ン ト ページの TrimBox を指定 し ます。 座標はデ フ ォル ト 座標系で指定 し ます。 デ
フ ォル ト : TrimBox 項目な し
第 3 章 : 文書 ・ ページ関数
表 3.9 PDF_begin_page_ext( ) ・ PDF_end_page_ext( ) のオプ シ ョ ン
オプ シ ョ ン
説明
userunit
(float またはキーワー ド 。 PDF 1.6) ユーザー単位の大き さ をポ イ ン ト 単位で表 し た、 範囲 1 ~
75 000 の数。 またはキーワー ド mm ・ cm ・ m のいずれかを指定する と 、 その単位に拡大 さ れます。
ユーザー単位は、 実際のページ内容を変え ません。 それは Acrobat に対する ヒ ン ト で し かな く 、
ページ を印刷 し た り 、 計測ツールを使っ た り する と き に利用 さ れる だけです。 デ フ ォル ト : 1 (す
なわち 1 単位は 1 ポ イ ン ト )
viewports
(オプ シ ョ ン リ ス ト の リ ス ト 。 PDF 1.7ext3) ページ上の 1 個ない し 複数の地理参照付き領域
(ビ ュ ーポー ト ) を指定 し ます。 詳 し く は 262 ページ 「12.7 地理空間機能」 を参照。
ビ ュ ーポー ト は、 ページ上の複数の領域 (複数の地図な ど) ご と に、 異な る地理空間参照
(georeference オプ シ ョ ン で指定 さ れる) を用いる こ と を可能に し ます。 ビ ュ ーポー ト リ ス ト 内の
オプ シ ョ ン リ ス ト 群の順序は、 重な り 合 う ビ ュ ーポー ト 群に対応 し ます。 すなわち、 あ る点を含
む最後のビ ュ ーポー ト が、 その点に対 し て用い られます。
width
(float または キーワー ド 。 topdown オプ シ ョ ンが true な ら 禁止) height オプ シ ョ ン を参照 し て く
だ さ い。
1. PDF_begin_page_ext( ) でのみ可
C++ Java C# void suspend_page(String optlist)
Perl PHP suspend_page(string optlist)
C void PDF_suspend_page(PDF *p, const char *optlist)
カ レ ン ト ページ を一時停止 し て、 後で再開で き る よ う に し ます。
optlist
詳細
将来使用す る ためのオプシ ョ ン リ ス ト 。
カ レ ン ト ページのグ ラ フ ィ ッ ク ・ 色 ・ テ キ ス ト ・ レ イ ヤース テー ト が ま る ご と 、 内部的に
保存 さ れます。 こ のページは、 後で PDF_resume_page( ) で再開 し て ま た内容を追加す る こ
と がで き ます。 一時停止 し たページは、 再開 し なければ閉 じ る こ と がで き ません。
スコープ ページ。 こ の関数は文書ス コ ープ を開始 さ せます。 照応す る PDF_resume_page( ) と 必ずペ
アに し て呼び出す必要があ り ます。 タ グ付 き PDF モー ド では、 すべての イ ン ラ イ ン ・ 擬
似ア イ テ ム を、 こ の関数を呼び出す前に閉 じ る 必要があ り ます。
C++ Java C# void resume_page(String optlist)
Perl PHP resume_page(string optlist)
C void PDF_resume_page(PDF *p, const char *optlist)
ページ を再開 し て、 ま たそれに内容を追加で き る よ う に し ます。
optlist 表 3.10 に従っ たオプシ ョ ン リ ス ト 。 以下のオプシ ョ ンが使え ます :
group ・ pagenumber
詳細 ページは、 PDF_suspend_page( ) で一時停止 し て あ る 必要があ り ます。 こ れが再び開かれ
て、 ま た内容を追加で き る よ う にな り ます。 一時停止 し たページはすべて、 た と え も う 内
容を追加 し ていな く て も 、 再開 し なければ閉 じ る こ と がで き ません。
タ グ付 き PDF モー ド では、 ページ を再開 し て も 、 構造ア イ テ ムは再開 さ れない こ と に
留意す る 必要があ り ます。 そ う ではな く 、 PDF_resume_page( ) が呼び出 さ れた時点でア ク
テ ィ ブな ア イ テ ムは、 それ以後のページ コ ン テ ン ツ に対す る カ レ ン ト ア イ テ ム にな り ま
す。以後に生成 さ れ る コ ン テ ン ツに対す る 親 と し てページ上の特定の構造エ レ メ ン ト を再
3.3 ページ関数
59
開 さ せ る には、 PDF_activate_item( ) を使用す る こ と を推奨 し ます。
スコープ 文書。 こ の関数はページ ス コ ープを開始 さ せます。 照応する PDF_suspend_page( ) と 必ず
ペアに し て呼び出す必要があ り ます。
表 3.10 PDF_resume_page( ) のオプ シ ョ ン
オプ シ ョ ン
説明
group
(文字列。 文書がページグループ を使 っ ている と きは必須、 そ う で ない と きは禁止) 再開 さ れる
ページのページグループの名前。 こ のグループ名は、 PDF_begin_document( ) で groups オプ シ ョ ン
を使っ て定義 し てあ る必要があ り ます。
pagenumber (整数) こ のオプ シ ョ ン を与え る と 、 group オプ シ ョ ン で選んでいるページグループ (文書がペー
ジグループ を使っ ていないな ら文書) の、 指定 し た番号のページが再開 さ れます。 こ のオプ シ ョ
ン を与え ない と 、 グループの最終ページが再開 さ れます。
60
第 3 章 : 文書 ・ ページ関数
3.4 レ イ ヤー
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルが ク ッ ク ブ ッ クの graphics/starter_layer ト ピ ッ ク にあ り ます。
C++ Java C# int define_layer(String name, String optlist)
Perl PHP int define_layer(string name, string optlist)
C int PDF_define_layer(PDF *p, const char *name, int len, const char *optlist)
新規レ イ ヤー定義を作成 し ます (要 PDF 1.5)。
name
(ハ イ パーテ キ ス ト 文字列) レ イ ヤーの名前。
len (C 言語バ イ ンデ ィ ン グのみ) name の長 さ (バ イ ト 単位)。 len=0 にする と null 終了
文字列を与え る 必要があ り ます。
optlist レ イ ヤー設定群を持っ たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン群 : hypertextencoding ・ hypertextformat (表 2.3 参照)
> 表 3.11 に従っ た レ イ ヤー制御オプシ ョ ン群 :
creatorinfo ・ defaultstate ・ initialexportstate ・ initialprintstate ・ initialviewstate ・
intent ・ language ・ onpanel ・ pageelement ・ printsubtype ・ removeunused ・ zoom
戻り値
レ イ ヤーハン ド ル。 PDF_begin_layer( ) ・ PDF_set_layer_dependency( ) への呼び出 し で、 カ
レ ン ト の文書ス コ ープ を終え る ま で使え ます。
詳細
レ イ ヤーを定義 し たに も かかわ ら ず、 文書で使っ ていない と き は、 PDFlib は警告を発 し ま
す。 複数のページで使 う レ イ ヤーであ っ て も 、 その定義は 1 回だけ行 う べき です (た と え
ば最初のページ を作成す る 前に)。 PDF_define_layer( ) を複数のページで繰 り 返 し 呼び出す
と 、 レ イ ヤーの定義は蓄積 さ れて し ま い (た と え名前が同 じ で も ) 、 それは通常望む と こ
ろではないで し ょ う 。
PDF/A PDF/A-1 : こ の関数を呼び出 し てはいけ ません。
PDF/A-2/3 : い く つかのオプシ ョ ンは制約 さ れます。
PDF/X PDF/X-1/2/3 : こ の関数を呼び出 し てはいけ ません。
PDF/X-4/5: い く つかのオプシ ョ ンは制約 さ れます。
PDF/UA い く つかのオプシ ョ ンは制約 さ れます。
スコープ オブ ジ ェ ク ト 以外任意
表 3.11 PDF_define_layer( ) のオプ シ ョ ン
オプ シ ョ ン
説明
creatorinfo
(オプ シ ョ ン リ ス ト 。 PDF/A-2/3 ・ PDF/X-4/5 ・ PDF/UA-1 では不可) 内容 と 作成ア プ リ ケーシ ョ
ン を記述 し たオプ シ ョ ン リ ス ト 。 こ のオプ シ ョ ン を使 う と きは、 以下の両方の項目が必須です :
creator
(ハイパーテキス ト 文字列) レ イ ヤーを作成 し たア プ リ ケーシ ョ ンの名前
subtype
(文字列) 内容の種類。 推奨値は Artwork ・ Technical。
defaultstate
(論理値) レ イヤーをデ フ ォル ト で表示するかど う かを指定 し ます。 デ フ ォル ト : true
initialexportstate
(論理値。 PDF/A-2/3 ・ PDF/X-4/5 ・ PDF/UA-1 では不可) レ イ ヤーの推奨書き出 し ス テー タ ス を
指定 し ます。 true にする と 、 Acrobat は、 以前の PDF バージ ョ ンや他の文書形式へ変換 ・ 書き出
し を行 う 際、 こ のレ イ ヤーを含めます。 デ フ ォ ル ト : true
3.4 レ イ ヤー
61
表 3.11 PDF_define_layer( ) のオプ シ ョ ン
オプ シ ョ ン
説明
initialprintstate
(論理値。 PDF/A-2/3 ・ PDF/X-4/5 ・ PDF/UA-1 では不可) レ イ ヤーの推奨印刷ス テー タ ス。 true
にする と 、 Acrobat は、 文書を印刷する際、 このレ イ ヤーを含めます。 デ フ ォル ト : true
initialviewstate
(論理値。 PDF/A-2/3 ・ PDF/X-4/5 ・ PDF/UA-1 では不可) レ イ ヤーの推奨表示ス テー タ ス。 true
にする と 、 Acrobat は、 文書を開いた際、 こ のレ イ ヤーを表示 し ます。 デ フ ォル ト : true
intent
(キーワー ド ) グ ラ フ ィ ッ クの想定用途。 View または Design。 デ フ ォ ル ト : View
language
(オプ シ ョ ン リ ス ト 。 PDF/A-2/3 ・ PDF/X-4/5 ・ PDF/UA-1 では不可) レ イ ヤーの言語を指定 し ま
す:
lang
(文字列。 必須) 言語を、 場合に よ っ てはロ ケール と あわせて、 表 3.1 の lang オプ シ ョ
ンについて説明 し た形式で指定 し ます
preferred (論理値) true にする と 、 レ イ ヤーは、 レ イ ヤー と シ ス テムの言語が部分的に一致する
だけで も 使われます。 デ フ ォ ル ト : false
onpanel
(論理値。 PDF/A-2/3 ・ PDF/X-4/5 ・ PDF/UA-1 では不可) false にする と 、 レ イ ヤーは Acrobat の
レ イ ヤーパネルに表示 さ れず、 し たがっ てユーザーが操作で き な く な り ます。 デ フ ォ ル ト : true
pageelement (キーワー ド 。 PDF/A-2/3 ・ PDF/X-4/5 ・ PDF/UA-1 では不可) レ イ ヤーがページネーシ ョ ンのた
めのページ装飾を含んでいる こ と を示 し ます。 HF (ヘ ッ ダ / フ ッ タ ) ・ FG (前面の画像ま たはグ ラ
フ ィ ッ ク) ・ BG (背景の画像またはグ ラ フ ィ ッ ク) ・ L (ロ ゴ) のいずれか 1 つ。
printsubtype (オプ シ ョ ン リ ス ト 。 PDF/A-2/3 ・ PDF/X-4/5 ・ PDF/UA-1 では不可) レ イ ヤーが印刷を想定 し て
いるかど う かを指定 し ます :
subtype
(キーワー ド ) レ イ ヤーの内容の種類を表す、 Trapping ・ PrintersMarks ・ Watermark の
いずれか 1 つ。
printstate (論理値) true にする と 、 Acrobat は印刷の際に このレ イ ヤーの内容を可視化 し ます。
removeunused (論理値) true にする と 、 レ イ ヤーがページ上で使われていない と きは、 こ のレ イ ヤーはそのペー
ジのレ イ ヤー一覧には表示 さ れな く な り ます。 レ イ ヤーがページ上で使われている と 見な さ れる
のは、 そのレ イ ヤーがそのページ上で少な く と も 1 回、 PDF_begin_layer( ) に与え られている と き で
す。 デ フ ォル ト : レ イ ヤーが、 listmode=visiblepages を用いて非デ フ ォ ル ト バ リ ア ン ト に含め ら
れていないかぎ り 、 false。
zoom
(float かパーセ ン ト 値の リ ス ト 。 PDF/A-2/3 ・ PDF/X-4/5 ・ PDF/UA-1 では不可) 表示倍率に よ る
レ イ ヤーの表示切 り 替え を指定する、 1 個か 2 個の値 (1.0 は表示倍率 100 パーセ ン ト を意味 し ま
す)。 値 1 個を与え る と 、 レ イ ヤーの表示 さ れる最大の表示倍率 と し て使われます。 値 2 個を与え
る と 、 最小 と 最大の表示倍率を指定 し ます。 キーワー ド maxzoom を使 う と 、 可能な限 り 最大の表
示倍率を指定する こ と がで き ます。
C++ Java C# void set_layer_dependency(String type, String optlist)
Perl PHP set_layer_dependency(string type, string optlist)
C void PDF_set_layer_dependency(PDF *p, const char *type, const char *optlist)
レ イ ヤー間の階層 ・ グループ ・ ロ ッ ク 条件を定義 し ます (要 PDF 1.5)。
type
表 3.12 に従っ た、 依存ま たは関係の種別。
表 3.12 レ イヤーの依存 と 関係の種別
種別
説明。 こ の種別に関連する オプ シ ョ ン
GroupAllOn
depend オプ シ ョ ン で指定する レ イ ヤーは、 group オプ シ ョ ン で指定する レ イ ヤーがすべて表示 さ
れている と き に表示 さ れます。 こ の種別に関連する オプ シ ョ ン : depend ・ group
62
第 3 章 : 文書 ・ ページ関数
表 3.12 レ イ ヤーの依存 と 関係の種別
種別
説明。 こ の種別に関連する オプ シ ョ ン
GroupAnyOn depend オプ シ ョ ン で指定する レ イ ヤーは、 group オプ シ ョ ン で指定する レ イ ヤーのいずれかが表
示 さ れている と き に表示 さ れます。 こ の種別に関連するオプ シ ョ ン : depend ・ group
GroupAllOff
depend オプ シ ョ ン で指定する レ イ ヤーは、 group オプ シ ョ ン で指定する レ イ ヤーがすべて隠 さ れ
ている と き に表示 さ れます。 こ の種別に関連するオプ シ ョ ン : depend ・ group
GroupAnyOff
depend オプ シ ョ ン で指定する レ イ ヤーは、 group オプ シ ョ ン で指定する レ イ ヤーのいずれかが隠
さ れている と き に表示 さ れます。 こ の種別に関連する オプ シ ョ ン : depend ・ group
Lock
(PDF 1.6) group オプ シ ョ ン で指定する レ イ ヤーはロ ッ ク さ れます。 すなわち、 レ イ ヤーのス テー
タ ス を Acrobat で対話的に変更で き ません。 こ の種別に関連する オプ シ ョ ン : group
Parent
parent オプ シ ョ ン で指定する レ イ ヤー と 、 children オプ シ ョ ン で指定する レ イ ヤー群 と の間に、
階層関係を指定 し ます。 親を不可視に設定する と その子群も 自動的に不可視に設定 さ れます。 1 つ
のレ イ ヤーを、 複数のレ イ ヤーに属 さ せる こ と はで き ません。 こ の種別に関連するオプ シ ョ ン :
children ・ parent
Radiobtn
group オプ シ ョ ン で指定する レ イ ヤーど う し の間に、 ラ ジオボ タ ン関係を指定 し ます。 すなわち、
そのグループのレ イ ヤーは、 同時に 1 つ し か表示 さ れな く な り ます。 こ れは と り わけ、 複数の言
語レ イ ヤーで有用です。 この種別に関連する オプ シ ョ ン : group
Title
parent オプ シ ョ ン で指定する レ イ ヤーは、 直接制御するページ内容を一切持たず、 children オプ
シ ョ ン で指定する レ イ ヤー群に対する階層区切 り と し ての役目を持ち ます。 こ の種別に関連する
オプ シ ョ ン : children ・ parent
Variant
(非サポー ト ) 文書バ リ ア ン ト 、 すなわち 1 個ない し 複数のレ イ ヤーの組み合わせを指定 し ます。
こ の後に PDF_set_layer_dependency( ) を呼び出せば、 こ の設定に対する依存規則を指定する ために
variantname オプ シ ョ ン を も う 一度与え る こ と がで き ます。 こ の種別に関連するオプ シ ョ ン :
basestate ・ defaultvariant ・ includelayers ・ invisiblelayers ・ visiblelayers
optlist レ イ ヤー依存群のためのオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン : hypertextencoding (表 2.3 参照)
> 表 3.13 に従っ た レ イ ヤー依存オプシ ョ ン群 :
children ・ depend ・ group ・ parent
> 表 3.14 に従っ た レ イ ヤーバ リ ア ン ト のための非サポー ト のオプシ ョ ン群 :
basestate ・ createorderlist ・ defaultvariant ・ includelayers ・ invisiblelayers ・ listmode ・
variantname ・ visiblelayers
詳細
レ イ ヤー関係は、Acrobat の レ イ ヤーペーン内での レ イ ヤー名の表示を指定す る と と も に、
ユーザーが対話的に レ イ ヤーの表示・非表示を切 り 替えた時の 1 個ない し 複数の レ イ ヤー
の表示 ・ 非表示を も 指定 し ます。
影響 を 受け る すべて の レ イ ヤーが同一のバ リ ア ン ト の一部で あ る わ け では な い レ イ
ヤーバ リ ア ン ト が存在す る 場合において依存を指定す る には、デフ ォ ル ト バ リ ア ン ト を設
定す る 前にその依存を設定す る 必要があ り ます。
PDF/A PDF/A-1 : こ の関数を呼び出 し てはいけ ません。
PDF/A-2/3 : い く つかのオプシ ョ ンは制約 さ れます。
PDF/X PDF/X-1/2/3 : こ の関数を呼び出 し てはいけ ません。
PDF/X-4/5 : い く つかのオプシ ョ ンは制約 さ れます。
レ イ ヤーバ リ ア ン ト は原規格 PDF/X-4:2008 では必須で し たが、 PDFlib が対応 し てい
る 継承規格 PDF/X-4:2010 では直接レ イ ヤー制御 (バ リ ア ン ト な し の) が許容 さ れてい ま
3.4 レ イ ヤー
63
す。 レ イ ヤーバ リ ア ン ト の使用は、 Acrobat X 以上はバ リ ア ン ト に対応 し てい ませんので、
推奨 さ れません。
PDF/UA い く つかのオプシ ョ ンは制約 さ れます。
スコープ オブ ジ ェ ク ト 以外任意。 レ イ ヤー関係は、 すべての レ イ ヤーが定義 さ れた後に指定す る 必
要があ り ます。
表 3.13 PDF_set_layer_dependency( ) のオプ シ ョ ン
オプ シ ョ ン
説明
children
(レ イ ヤーハン ド ルの リ ス ト 。 type=Parent ・ Title のみ) 与え ている親レ イ ヤーの子に し たい レ イ
ヤー群を指定する 1 個ない し 複数のレ イ ヤーハン ド ル。
depend
(レ イ ヤーハン ド ル。 type=GroupAllOn ・ GroupAnyOn ・ GroupAllOff ・ GroupAnyOff のみ) group オ
プ シ ョ ン で指定 し ている レ イ ヤー群に制御 さ せたいレ イヤー。
group
(レ イ ヤーハン ド ルの リ ス ト 。 type=GroupAllOn ・ GroupAnyOn ・ GroupAllOff ・ GroupAnyOff ・ Lock ・
Radiobtn のみ) グループ を構成 さ せたい 1 個ない し 複数のレ イヤーハン ド ル。 type=Lock に し て
いる と きは、 グループのレ イ ヤーはすべて ロ ッ ク さ れます。
parent
(レ イ ヤーハン ド ル。 type=Parent ・ Title のみ) children オプ シ ョ ン で指定 し ている レ イ ヤー群
の親に し たい レ イ ヤー。
表 3.14 PDF_set_layer_dependency( ) の非サポー ト のオプ シ ョ ン
オプ シ ョ ン
説明
basestate
(キーワー ド 。 type=Variant のみ。 PDF/A-2/3 ・ PDF/X-4/5 ・ PDF/UA-1 では不可。 非サポー ト )
visiblelayers ・ invisiblelayers オプ シ ョ ン で明示的に設定 さ れていないすべてのレ イヤーの表
示 ・ 非表示を指定 し ます。 使え るキーワー ド (デ フ ォ ル ト : on) :
on
選択 さ れたバ リ ア ン ト に対 し てすべてのレ イ ヤーが表示 さ れます。
off
選択 さ れたバ リ ア ン ト に対 し てすべてのレ イ ヤーが非表示にな り ます。
unchanged 選択 さ れたバ リ ア ン ト に対 し てすべてのレ イ ヤーのス テー タ スが変更 さ れず保持 さ れま
す。
createorderlist
(論理値。 type=Variant かつ defaultvariant=true の場合のみ。 非サポー ト ) true の場合、
Acrobat はすべてのレ イ ヤーの名前を表示 し ます。 値 true には以下の効果があ り ます (デ フ ォ ル
ト : true) :
> Acrobat 9 は、 レ イ ヤーバ リ ア ン ト 群 (存在すれば) を レ イ ヤー名群の中ではな く 「レイヤー」
パネル内に表示 し 、 また、 createorderlist=true によ る文書では PDF/X-4 検証エ ラ ーを出 し ま
す。 なぜな ら こ れは PDF/X-4:2008 では許 さ れていないか ら です。
> Acrobat X 以上は、 レ イ ヤー名群を レ イ ヤーバ リ ア ン ト 群の中ではな く 「レイヤー」パネル内に
表示 し 、 ま た、 createorderlist=true に よ る文書の検証を成功 さ せます。 なぜな ら こ れは PDF/
X-4:2010 では許 さ れているから です。
defaultvariant
(論理値。 type=Variant のみ。 非サポー ト ) true にする と 、 指定 さ れたバ リ ア ン ト はデ フ ォ ル ト
バ リ ア ン ト にな り ます。 すなわち、 文書が開かれた時に表示 さ れます。 ち ょ う と 1 個のバ リ ア ン
ト をデ フ ォル ト バ リ ア ン ト に指定する必要があ り ます。 デ フ ォル ト : false
includelayers (レ イ ヤーハン ド ルの リ ス ト 。 type=Variant のみ。 非サポー ト ) バ リ ア ン ト に属する レ イ ヤー群を
指定 し ます。 デ フ ォ ル ト : 文書ないでそれま でに定義 さ れたすべてのレ イ ヤー
64
第 3 章 : 文書 ・ ページ関数
表 3.14 PDF_set_layer_dependency( ) の非サポー ト のオプ シ ョ ン
オプ シ ョ ン
説明
invisiblelayers
(レ イ ヤーハン ド ルの リ ス ト 。 type=Variant のみ。 非サポー ト ) 選択 さ れたバ リ ア ン ト に対 し て初
期状態で非表示にな る レ イ ヤー群の リ ス ト を指定 し ます。 1 つのレ イ ヤーをバ リ ア ン ト の
visiblelayers リ ス ト と invisiblelayers リ ス ト に同時に リ ス ト し てはいけません。
defaultvariant=true の と き、 このオプ シ ョ ンは PDF_define_layer( ) の defaultstate オプ シ ョ ン を
オーバラ イ ド し ます。 デ フ ォ ル ト (basestate オプ シ ョ ン に依存) : basestate=off な ら ば
includelayers リ ス ト 内のすべてのレ イ ヤー、 basestate=on な らば空 リ ス ト
listmode
(キーワー ド 。 type=Variant のみ。 非サポー ト ) どのレ イ ヤー名群が Acrobat のレ イ ヤーペーンに
表示 さ れるかを指定 し ます。 使え るキーワー ド (デ フ ォ ル ト : visiblepages) :
allpages
すべてのページのすべてのレ イ ヤーの名前が表示 さ れます。
visiblepages その時表示 さ れているページのすべてのレ イ ヤーの名前が表示 さ れます。 こ れは、 その
バ リ ア ン ト に属するすべてのレ イ ヤーに対 し て removeunused=true を暗黙に前提 し ま
す。
Acrobat では これは、 defaultvariant=true の と き にのみ効果を持ち ます。
variantname (ハイパーテキス ト 文字列。 type=Variant では必須。 非サポー ト ) 選択 さ れたバ リ ア ン ト の名前。
type=Variant の と きは、 各バ リ ア ン ト の名前を 1 回だけ指定する必要があ り ます。 type が
Variant 以外の場合のデ フ ォル ト : デ フ ォル ト のバ リ ア ン ト
visiblelayers
(レ イ ヤーハン ド ルの リ ス ト 。 type=Variant のみ。 非サポー ト ) 選択 さ れたバ リ ア ン ト で初期状態
で表示 さ れる レ イヤー群の リ ス ト を指定 し ます。 1 つのレ イ ヤーをバ リ ア ン ト の visiblelayers リ
ス ト と invisiblelayers リ ス ト に同時に リ ス ト し てはいけません。 defaultvariant=true の と き、
こ のオプ シ ョ ンは PDF_define_layer( ) の defaultstate オプ シ ョ ン を オーバラ イ ド し ます。 デ フ ォル
ト (basestate オプ シ ョ ンに依存) : basestate=on な らば includelayers リ ス ト 内のすべてのレ イ
ヤー、 basestate=off な ら ば空 リ ス ト 。
C++ Java C# void begin_layer(int layer)
Perl PHP begin_layer(int layer)
C void PDF_begin_layer(PDF *p, int layer)
ページ上の以後の出力に対 し て、 レ イ ヤーを開始 し ます (要 PDF 1.5)。
layer
詳細
レ イ ヤーのハン ド ル。 PDF_define_layer( ) で取得 し てお く 必要があ り ます。
こ の呼び出 し の後、次に PDF_begin_layer( ) か PDF_end_layer( ) を呼び出すま でにページ上
に配置す る 内容はすべて、 指定す る レ イ ヤーの一部分にな り ます。 内容が表示 さ れ る か ど
う かは、 レ イ ヤーの設定に依存 し ます。
こ の関数は、 指定 さ れた レ イ ヤーを活性化 し 、 その時点で活性な レ イ ヤーが も し あれ
ばそれを不活性化 し ます。
注釈 ・ 画像 ・ グ ラ フ ィ ッ ク ・ テ ン プ レー ト ・ フ ォ ーム フ ィ ール ド の レ イ ヤーは、 それ
ぞれの関数で layer オプシ ョ ン を使っ て制御す る こ と がで き ます。
スコープ ページ
3.4 レ イ ヤー
65
C++ Java C# void end_layer( )
Perl PHP end_layer( )
C void PDF_end_layer(PDF *p)
すべての活性な レ イ ヤーを不活性化 し ます (要 PDF 1.5)。
詳細
こ の呼び出 し の後、 ページ上に配置す る 内容は、 ど の レ イ ヤーに も 属 し ません。 レ イ ヤー
はすべて、 ページの終わ り には閉 じ る 必要があ り ます。
レ イ ヤー A か ら レ イ ヤー B へ切 り 換え る には、 PDF_begin_layer( ) を 1 回呼び出せば充
分です。 明示的に PDF_end_layer( ) を呼び出 し て レ イ ヤー A を閉 じ る 必要はあ り ません。
PDF_end_layer( ) が必要なのは、 無条件内容 (つねに表示 さ れ る ) を作成す る と き と 、 ペー
ジの終わ り に全レ イ ヤーを閉 じ る と き だけです。
スコープ ページ
66
第 3 章 : 文書 ・ ページ関数
4 フ ォ ン ト ・ テキス ト 関数
4.1 フ ォ ン ト 処理
C++ Java C# int load_font(String fontname, String encoding, String optlist)
Perl PHP int load_font(string fontname, string encoding, string optlist)
C int PDF_load_font(PDF *p, const char *fontname, int len, const char *encoding, const char *optlist)
フ ォ ン ト を検索 し て、 以後の利用に備え ます。
fontname (名前文字列) フ ォ ン ト の名前。 こ れはあ る いは、 こ の引数を オーバ ラ イ ド す
る fontname オプシ ョ ンで与え る こ と も で き ます。 詳 し く は表 4.2 の fontname オプシ ョ
ン を参照。
len (C 言語バ イ ンデ ィ ン グのみ) filename の長 さ をバ イ ト 単位で指定 し ます。 len=0 に
す る と null 終了文字列を与え る 必要があ り ます。
encoding エ ン コ ーデ ィ ン グ の名前。 こ れは あ る い は、 こ の引数 を オーバ ラ イ ド す る
encoding オプシ ョ ンで与え る こ と も で き ます。 詳 し く は表 4.2 の encoding オプシ ョ ン を
参照。エン コ ーデ ィ ン グ関連では以下の よ う な問題が よ く 起 こ り ますので留意 し て く だ さ
い:
> 8 ビ ッ ト エン コ ーデ ィ ン グ を与えたが、フ ォ ン ト が こ のエン コ ーデ ィ ン グに対す る グ リ
フ を一切持っ ていない、 ま たはフ ォ ン ト が標準日中韓フ ォ ン ト であ る 。
> builtin エン コ ーデ ィ ン グ を与えたが、 フ ォ ン ト が内蔵エン コ ーデ ィ ン グ を一切持っ て
いない。 こ れは TrueType フ ォ ン ト についてのみ起 こ り え ます。
> CMap を与え たが、 フ ォ ン ト に一致 し ない。
optlist 以下のオプシ ョ ン群に よ る オプシ ョ ン リ ス ト :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> 表 4.2 に従っ た フ ォ ン ト 読み込みオプシ ョ ン群 :
ascender ・ autosubsetting ・ capheight ・ descender ・ dropcorewidths ・ embedding ・
encoding ・ fallbackfonts ・ fontname ・ initialsubset ・ keepfont ・ keepnative ・ linegap ・
metadata ・ optimizeinvisible ・ preservepua ・ readfeatures ・ readkerning ・ readselectors ・
readshaping ・ readverticalmetrics ・ replacementchar ・ simplefont ・ skipembedding ・
skipposttable ・ subsetlimit ・ subsetminsize ・ subsetting ・ unicodemap ・ vertical ・ xheight
戻り値
フ ォ ン ト ハン ド ル。以後の PDF_info_font( ) と テ キ ス ト 出力関数 と 、テ キ ス ト 書式オプシ ョ
ン font で使え ます。 要求 さ れた フ ォ ン ト と エン コ ーデ ィ ン グの組み合わせが、 設定の問
題 (た と えばフ ォ ン ト ・ メ ト リ ッ ク ・ エン コ ーデ ィ ン グ フ ァ イ ルが見つか ら ないか、 あ る
いは組み合わせの誤 り が検知 さ れた)が原因で読み込めない と き は、エ ラ ー コ ー ド -1(PHP
では 0) が返 さ れ る か例外が発生 し ます。 エ ラ ー動作は、 errorpolicy オプシ ョ ンで変え る
こ と がで き ます。
関数がエ ラ ーを返 し た と き は、 その失敗の原因を PDF_get_errmsg( ) で取得す る こ と が
で き ます。 そ う でない と き は、 こ の関数に よ っ て返 さ れた値を、 他の フ ォ ン ト 関連の関数
を 呼び出す時に フ ォ ン ト ハ ン ド ル と し て用い る こ と がで き ま す。 返 さ れ る ハ ン ド ルは、
フ ォ ン ト ハン ド ル と し て使え る 以外に、 ユーザーに と っ て何の意味 も 持ち ません。
4.1 フ ォ ン ト 処理
67
返 さ れた フ ォ ン ト ハン ド ルは、 その フ ォ ン ト を PDF_close_font( ) で閉 じ る ま で有効で
す。 文書を PDF_end_document( ) で閉 じ る と 、 それぞれの開かれてい る フ ォ ン ト ハン ド ル
は閉 じ ら れますが、 ただ し 照応す る PDF_load_font( ) への呼び出 し で keepfont オプシ ョ ン
を与え ていた場合、 ま たはフ ォ ン ト をオブ ジ ェ ク ト ス コ ープで (すなわち あ ら ゆ る 文書の
外で) 読み込んでいた場合はその限 り ではあ り ません。
詳細
こ の関数はフ ォ ン ト を用意 し 、 以後使え る よ う に し ます。
繰 り 返 し 呼び出 し : こ の関数を、 同 じ フ ォ ン ト 名 ・ 同 じ エ ン コ ーデ ィ ン グ ・ 同 じ オプ
シ ョ ン群で再度呼び出す と 、 最初の呼び出 し と 同 じ フ ォ ン ト ハン ド ルが返 さ れ ま す。 例
外 : 以下のオプシ ョ ンのいずれか を最初の呼び出 し で指定 し 、 その後の呼び出 し では指定
し なかっ た場合 も 、 2 度目の フ ォ ン ト ハン ド ルは最初の フ ォ ン ト ハン ド ル と 同一にな り ま
す:embedding・readkerning・replacementchar・fallbackfonts・metadata。同様に、initialsubset
オ プ シ ョ ン は フ ォ ン ト の 比 較 に あ た っ て は 無 視 さ れ ま す。 た と え ば、 フ ォ ン ト を
initialsubset な し で読み込んだ後、 initialsubset をつけて再度読み込んだ場合、 最初の フ ォ
ン ト へのハン ド ルが返 さ れ、 initialsubset は何 ら 効力を持ち ません。
最初の呼び出 し で embedding=false と し 、 2 度目の呼び出 し で embedding= true と す る
と 、 フ ォ ン ト の再度読み込みの試みは失敗 し ます。 こ の状況はたいてい、 アプ リ ケーシ ョ
ン内の問題を指 し 示 し ます。
暗黙的フ ォ ン ト 読み込み:明示的に PDF_load_font( ) で フ ォ ン ト を読み込むほかに、API
関数のなかには、オプシ ョ ン リ ス ト で フ ォ ン ト 名 と エン コ ーデ ィ ン グ を指定す る こ と で暗
黙 的 に フ ォ ン ト を 読 み 込 め る も の が あ り ま す (PDF_add/create_textflow( ) ・ PDF_fill_
textblock( ) 等)。その時点ま でにその フ ォ ン ト がすでに読み込まれていなければ、新規フ ォ
ン ト ハン ド ルが作成 さ れます。
テ キ ス ト 出力機能のなかには、 特定のエ ン コ ーデ ィ ン グでは利用で き ない も のがあ り
ます (表 4.1 参照)。
Unicode 非対応言語バ イ ンデ ィ ン グでは、 オプシ ョ ン textformat=auto は以下の よ う に
動作 し ます (なお、 ど ち ら の場合 も すべての UTF 形式が許容 さ れます) :
> ワ イ ド キ ャ ラ ク タ エ ン コ ーデ ィ ン グ群 : 読み込ま れ る フ ォ ン ト のテ キ ス ト はテ キ ス ト
形式 utf16 と 見な さ れます (encoding=glyphid ではサ ロ ゲー ト は解釈 さ れません)。
> バ イ ト ・ マルチバ イ ト エ ン コ ーデ ィ ン グ群 : 読み込ま れ る フ ォ ン ト のテ キ ス ト はテ キ
ス ト 形式 bytes と 見な さ れます。
PDF/A すべての フ ォ ン ト を埋め込む必要があ り ます。
PDF/UA すべての フ ォ ン ト を埋め込む必要があ り ます。
PDF/X すべての フ ォ ン ト を埋め込む必要があ り ます。
表 4.1 各種エ ン コ ーデ ィ ングでの PDFlib 諸機能の利用可能性
機能
unicode ・
Unicode
CMap
8 ビッ ト
エン コー
デ ィ ング
レ ガシ
CMap ・
cp936 等
glyphid
テキス ト フ ロー
可
可
可1
可
グ リ フ置き換え
可2
可
可1
―
予備フ ォ ン ト
可2
可
可1
―
シ ェ ーピ ング
可2
―
可1
可
OpenType レ イ アウ ト 機能
可
―
可1
可
68
第 4 章 : フ ォ ン ト ・ テキス ト 関数
1. こ の機能は、 日中韓 フ ォ ン ト に対 し ては、 keepnative=true では利用で き ません。
2. こ の機能は、 Unicode CMap または keepnative=true に よ る標準日中韓 フ ォ ン ト に対 し ては利用で き ません。
スコープ 任意
表 4.2 PDF_load_font( ) と 暗黙的フ ォ ン ト 読み込みのフ ォ ン ト 読み込みオプ シ ョ ン
オプ シ ョ ン
説明
ascender
(-2048 から 2048 ま での整数) ア セ ン ダ。 同名の タ イ ポグ ラ フ ィ 特性が強制的に指定値にな り ま
す。 これは、 フ ォ ン ト 内に値が見つかっ た と きはオーバラ イ ド さ れますが、 フ ォ ン ト にそのよ う
な情報が入っ ていない と き に特に有用です (Type 3 フ ォ ン ト 等)。 デ フ ォル ト : あ る な ら フ ォ ン ト
内の値、 ないな ら推算値 (PDF_info_font( ) で取得で き ます)
autocidfont
(論理値) 非推奨、 かつ フ ォ ン ト エ ン ジ ンの内部変更のため機能 し な く な り ま し た。
autosubsetting
(論理値) フ ォ ン ト をサブ セ ッ ト 化するかど う かを、 subsetlimit ・ subsetminsize オプ シ ョ ン と 、
グ リ フの実際の使われ方に従 っ て動的に決定 し ます。 subsetting オプ シ ョ ン を与えている と きは
こ のオプ シ ョ ンは無視 さ れます。 デ フ ォ ル ト : true
capheight
(-2048 から 2048 ま での整数) キ ャ ッ プハイ ト 。 上記 ascender 参照。
descender
(-2048 から 2048 ま での整数) デ ィ セ ン ダ。 上記 ascender 参照。
dropcorewidths
(論理値。 非サポー ト 。 PDF/A ・ PDF/UA ・ PDF/X モー ド では false を強制 さ れます) 埋め込んで
いない コ ア フ ォ ン ト の幅を、 生成する PDF に埋め込みません。 出力 フ ァ イルサイ ズが少 し 小 さ く
な り ますが、 キ ャ ラ ク タ に よ っ ては不正確な テキス ト 印字が生成 さ れるおそれがあ り ます。 こ の
オプ シ ョ ンはデ フ ォル ト 値のま まに し てお く こ と を強 く 推奨 し ます。 デ フ ォ ル ト : false
embedding
(論理値。 PDF/A ・ PDF/UA ・ PDF/X では true にする必要があ り ます。 つねに埋め込まれる SING
フ ォ ン ト ・ Type 3 フ ォ ン ト では無視 さ れます) フ ォ ン ト を埋め込むかど う かを制御 し ます。 フ ォ
ン ト を埋め込むためには、 そのフ ォ ン ト のアウ ト ラ イ ン フ ァ イルが得られる必要があ り 、 さ ら に
その メ ト リ ッ ク 情報も 必要で (TrueType ・ OpenType フ ォ ン ト を除き)、 それ らが得 られれば、 実
際のフ ォ ン ト アウ ト ラ イ ン定義が PDF 出力内へ書き込まれます。 フ ォ ン ト が埋め込まれない と き
は、 その フ ォ ン ト の一般的情報だけが PDF 出力へ書き込まれます。
デ フ ォル ト : 通常は false ですが、 CID フ ォ ン ト への変換を引き起 こ すエ ン コ ーデ ィ ング を持つ
TrueType ・ OpenType フ ォ ン ト の関与する特定の状況においては true。PDFlib はそのよ う な フ ォ ン
ト を自動的に埋め込みますが、 embedding を false に設定する と 、 フ ォ ン ト を埋め込ませない こ と
がで き ます。 こ の場合は、 PDF 文書を表示 ・ 印刷する シ ス テムに、 そのフ ォ ン ト がイ ン ス ト ール
さ れている必要があ り ます。
オプ シ ョ ン embedding=false は、 それ以前に同 じ フ ォ ン ト をすでに embedding=true で読み込んい
る と きは無視 さ れます。 不可視テキス ト でのフ ォ ン ト に対する埋め込み動作は、 embedding=true
の場合であ っ て も、 optimizeinvisible オプ シ ョ ン で変更する こ と が可能です。
フ ォ ン ト 埋め込みを、 skipembedding オプ シ ョ ン を用いて制御する こ と も で き ます。
4.1 フ ォ ン ト 処理
69
表 4.2 PDF_load_font( ) と 暗黙的フ ォ ン ト 読み込みのフ ォ ン ト 読み込みオプ シ ョ ン
オプ シ ョ ン
説明
encoding
(文字列。 暗黙的 フ ォ ン ト 読み込みの場合、 テキス ト 書式オプ シ ョ ン font が指定 さ れていない と
き には必須) こ のフ ォ ン ト に対 し て、 入 っ て く る テキス ト が解釈 さ れる エ ン コ ーデ ィ ング :
ワ イ ド キ ャ ラ ク タ エ ン コ ーデ ィ ング :
> unicode または Unicode CMap の名前
> CID 指定の Identity-H か Identity-V
> glyphid : フ ォ ン ト 内のすべてのグ リ フ を、 そのフ ォ ン ト 独自の ID で指定で き ます
バイ ト ・ マルチバイ ト エ ン コ ーデ ィ ング :
> 定義済み 8 ビ ッ ト エ ン コ ーデ ィ ング winansi ・ macroman ・ macroman_apple ・ ebcdic ・ ebcdic_37 ・
pdfdoc ・ iso8859-X ・ cpXXXX の う ちの 1 つ、 および非 Unicode (レ ガシ) CMap
> (Unicode 対応言語バイ ンデ ィ ングでは不可) 日中韓 コ ー ド ページの cp932 ・ cp936 ・ cp949 ・ cp950
のいずれか
> 自動的に選択 さ れる エ ン コ ーデ ィ ングの host か auto、 またはユーザー定義エ ン コ ーデ ィ ングか、
オペレーテ ィ ングシ ス テムに知ら れている エ ン コ ーデ ィ ングの名前
> フ ォ ン ト の内部エ ン コ ーデ ィ ング を選択する ための builtin (主に記号フ ォ ン ト で使用)
PDF_load_font( ) : こ のオプ シ ョ ン を、 関数引数 と し て与え る こ と も で き ます。
PDF_fill_textblock( ) : このオプ シ ョ ンは、 text 引数のテキス ト が空で defaulttext プ ロパテ ィ が用
い られている場合 と 、 font オプ シ ョ ン を与えている場合を除き、 必須です。
fallbackfonts (表 4.3 に従っ たオプ シ ョ ン リ ス ト 群の リ ス ト ) 読み込む フ ォ ン ト に対する 1 個ない し 複数の予備
フ ォ ン ト を指定 し ます。 各予備フ ォ ン ト は、 font サブオプ シ ョ ンのフ ォ ン ト ハン ド ルによ っ て、
または暗黙的 フ ォ ン ト 読み込みのための適切なサブオプ シ ョ ンに よ っ て、 定義する必要があ り ま
す。 予備フ ォ ン ト は、 フ ォ ン ト の種別 と エ ン コ ーデ ィ ングの組み合わせに よ っ ては対応 し ていま
せん (表 4.1 参照)。
glyphcheck=replace かつベース フ ォ ン ト の 8 ビ ッ ト エ ン コ ーデ ィ ングに含まれないキ ャ ラ ク タ が
テキス ト 内にある と き、 またはベース フ ォ ン ト がキ ャ ラ ク タ に対するグ リ フ を含んでいない と き、
またはグ リ フ 置き換えが forcechars サブオプ シ ョ ン で強制 さ れている と き、 PDFlib は、 すべての
指定 さ れた予備フ ォ ン ト の中で、 リ ス ト さ れた順番に、 このキ ャ ラ ク タ に対するグ リ フ を検索 し
ます。 適合するグ リ フがいずれかの予備 フ ォ ン ト の中に見つかっ た と きは、 そのキ ャ ラ ク タ はこ
のグ リ フ で印字 さ れ、 見つから なかっ た と きは、 通常のグ リ フ置き換えの し く みが適用 さ れます。
fontname
(名前文字列。 PDF_fill_textblock( ) 以外の暗黙的 フ ォ ン ト 読み込みの場合、 テキス ト 書式オプ シ ョ ン
font が指定 さ れていない と きは必須) フ ォ ン ト の実際の名前ま たはエ イ リ ア ス名 (大文字 ・ 小文
字は区別 さ れます)。 こ の名前を用いて フ ォ ン ト デー タ が検索 さ れます。 Windows では、 カ ン マの
後に フ ォ ン ト ス タ イル名を フ ォ ン ト 名に付加する こ と がで き ます (詳 し く は PDFlib チ ュ ー ト リ ア
ル参照)。 fontname の先頭が 「@」 キ ャ ラ ク タ の場合、 そのフ ォ ン ト には縦書きが適用 さ れます。
PDF_load_font( ) : フ ォ ン ト 名を関数の引数 と し て与え る こ と も で き ます。
fontstyle
(キーワー ド ・ 非推奨) 擬似フ ォ ン ト ス タ イルの作成を制御 し ます。 使え るキーワー ド は normal ・
bold ・ italic ・ bolditalic です。 こ のフ ォ ン ト を用いて作成 さ れるすべてのテキス ト は、 適切に
fakebold および / または italicangle テキス ト 書式オプ シ ョ ン を用いて ス タ イル さ れます。
italicangle に別の値が設定 さ れていない限 り 、 -12 が用い られます。
こ のオプ シ ョ ン を コ ア フ ォ ン ト のいずれかに適用する と 、 フ ォ ン ト ス タ イルはフ ェ イ ク さ れず、
適切なボール ド ・ イ タ リ ッ ク ・ ボール ド イ タ リ ッ クの フ ォ ン ト バ リ エーシ ョ ンが選ばれます。 そ
のよ う な フ ォ ン ト が得られない と きは (Times-Bold に bold を適用 し た等)、 こ のオプ シ ョ ンは無
視 さ れます。 デ フ ォ ル ト : normal
70
第 4 章 : フ ォ ン ト ・ テキス ト 関数
表 4.2 PDF_load_font( ) と 暗黙的フ ォ ン ト 読み込みのフ ォ ン ト 読み込みオプ シ ョ ン
オプ シ ョ ン
説明
initialsubset
(Unichar か Unicode 範囲の リ ス ト 、 またはキーワー ド の リ ス ト 。 embedding=true かつ
subsetting=true の と きのみ意味を持ち ます) 初期フ ォ ン ト サブ セ ッ ト にグ リ フ を含めたい
Unicode 値群を指定 し ます。 これを活用する と 、 同等のサブ セ ッ ト を生成 さ せる こ と に よ っ て PDF
出力フ ォ ン ト 容量を削減 さ せる こ と がで き、 複数の文書を連結する際の最適化が容易にな り ます。
Unicode 値群は、 Unichar 群か Unicode 範囲群によ っ て明示的に指定する こ と も で き ます し 、 8 ビ ッ
ト エ ン コ ーデ ィ ングの名前に よ っ て暗黙的に指定する こ と も 可能です。 Unichar ・ Unicode 範囲はエ
ン コ ーデ ィ ング名に優先 し ます。 使え るキーワー ド (デ フ ォ ル ト : empty) :
empty
初期フ ォ ン ト サブ セ ッ ト は空にな り ます。 サブ セ ッ ト の内容は文書内のテキス ト に よ っ
て決定 さ れます。
任意の 8 ビ ッ ト エ ン コ ーデ ィ ング名
そのエ ン コ ーデ ィ ング内で見つかっ たすべての Unicode 値が初期サブ セ ッ ト へ含まれま
す。 追加のキ ャ ラ ク タ に対するグ リ フ も、 文書内のテキス ト に よ っ て、 ま たは
features ・ shaping テキス ト オプ シ ョ ンに よ っ て必要 と なれば、 自動的にサブ セ ッ ト へ
追加 さ れます。
keepfont
(論理値。 Type 3 フ ォ ン ト では不可) false にする と 、 フ ォ ン ト は PDF_end_document( ) で自動的に
削除 さ れます。 true にする と 、 フ ォ ン ト は後続する文書群で も、 PDF_close_font( ) を呼び出すま で
使 う こ と がで き ます。 デ フ ォ ル ト : PDF_load_font( ) がオブジェクトス コ ープ内で呼び出 さ れたな
ら true、 そ う で ないな ら false
keepnative
(論理値。 非 Unicode CMap に よ る日中韓フ ォ ン ト でのみ意味を持ち、 それ以外の フ ォ ン ト または
カ ス タ ム CMap では無視 さ れます。 embedding=true に し ている と きは false を強制 さ れます)
false にする と 、 こ のフ ォ ン ト のテキス ト は、 PDF 出力作成時に CID 値へ変換 さ れます (glyphid
指定 と Identity-H エ ン コ ーデ ィ ング を使 っ て)。 API 関数に与え る テキス ト は、 選んだ CMap
(Shift-JIS 等) に依然一致 し ていなければな り ません。 し か し そのフ ォ ン ト は、 テキス ト フ ロー
と 、 あ ら ゆる単純テキス ト 出力関数に使 う こ と がで き ます (ですが フ ォ ーム フ ィ ール ド には使え
ません)。 Unicode CMap によ る フ ォ ン ト は、 グ リ フ の置き換え と 予備フ ォ ン ト が利用で き ない点以
外は、 encoding=unicode と 同様に動作 し ます。
true にする と 、 この フ ォ ン ト のテキス ト は、 選んだ CMap に従 っ てそのネ イ テ ィ ブ な形式のま ま
PDF 出力へ書き込まれます。 そのフ ォ ン ト は、 フ ォ ーム フ ィ ール ド と 、 あ ら ゆる単純テキス ト 出
力関数に使 う こ と がで き ますが、 テキス ト フ ローには使え ません。 デ フ ォ ル ト : TrueType フ ォ ン
ト または embedding=true の場合は false、 それ以外の場合は true。
linegap
(-2048 から 2048 ま での整数) 行間。 上記 ascender 参照。
metadata
(オプ シ ョ ン リ ス ト ) フ ォ ン ト のための メ タ デー タ を与え ます (281 ページ 「14.2 XMP メ タ デー
タ 」 参照)
monospace
(1 から 2048 ま での整数。 PDF/A ・ PDF/UA では不可。 非推奨) フ ォ ン ト 内のすべてのグ リ フ を強
制的に指定幅 ( フ ォ ン ト 座標系で表 し た もの。 1000 単位が文字サイ ズに等 し い) に し ます。 Type
3 フ ォ ン ト の場合は、 0 でないグ リ フ幅がすべて変更 さ れます。 こ のオプ シ ョ ンは、 標準日中韓
フ ォ ン ト に対 し てのみ使用するべき であ り 、 ま た、 コ ア フ ォ ン ト では使え ません。 フ ォ ン ト を埋
め込む と 、 このオプ シ ョ ンは無視 さ れます。 デ フ ォル ト : 値な し ( フ ォ ン ト 内の メ ト リ ッ クが使
われます)
optimizeinvisible
(論理値。 PDF/X-1/2/3 では不可) true にする と 、 不可視テキス ト (すなわち textrendering=3)
に対 し てのみ用い られている フ ォ ン ト は、 embedding=true であ っ て も 埋め込まれません。 こ れは、
OCR 出力を不可視テキス ト と し て持つ PDF/A 出力へのフ ォ ン ト 埋め込みを抑制する ために有用で
し ょ う 。 フ ォ ン ト が埋め込まれな く て も、 フ ォ ン ト フ ァ イルは通常どお り 設定する必要があ り ま
す。 なぜな ら PDFlib が埋め込み省略を決定するのは文書の最後にな っ てか ら だか ら です。 デ フ ォ
ル ト : false
4.1 フ ォ ン ト 処理
71
表 4.2 PDF_load_font( ) と 暗黙的フ ォ ン ト 読み込みのフ ォ ン ト 読み込みオプ シ ョ ン
オプ シ ョ ン
説明
preservepua
(論理値) true の場合、 フ ォ ン ト 内で私用領域 (PUA) 内の Unicode 値へマ ッ プ さ れているキ ャ ラ
ク タ は、 PDF 出力内でその PUA 値を保ち ます。 こ れは、 その PUA キ ャ ラ ク タ 群が日本語の外字 /
EUDC キ ャ ラ ク タ のよ う に ロー カルに定義 さ れた意味付けを伴っ ている場合に有用で し ょ う 。
false の場合、 PUA キ ャ ラ ク タ は、 PDF 出力内の ToUnicode CMap 内で U+FFFD (Unicode 置換キ ャ
ラ ク タ ) へマ ッ プ さ れます。 デ フ ォ ル ト : false
readfeatures (論理値。 TrueType ・ OpenType フ ォ ン ト に対 し て、 かつ encoding=unicode ・ glyphid ・ Unicode
CMap のいずれかの と きのみ意味を持ち ます) TrueType または OpenType フ ォ ン ト の機能テーブル
を フ ォ ン ト か ら読み込むかど う かを指定 し ます。 OpenType 機能のテキス ト への実際の適用は
features オプ シ ョ ンによ っ て制御 さ れます (表 5.4 参照)。 OpenType 機能が必要でない と きは、
こ のオプ シ ョ ン を false に設定する と 、 フ ォ ン ト の読み込みが速 く な る可能性があ り ます。 デ
フ ォル ト : true
readkerning
(論理値) カ ーニ ング値を フ ォ ン ト か ら読み込むかど う かを制御 し ます。 カ ーニ ング値のテキス ト
への実際の適用はテキス ト オプ シ ョ ン kerning に よ っ て制御 さ れます (表 4.7 参照)。 カ ーニ ン グ
が必要で ない と きは、 このオプ シ ョ ン を false に設定する と 、 フ ォ ン ト の読み込みが速 く な る可
能性があ り ます。 デ フ ォル ト : 横書きの場合には true、 縦書きの場合には false
readselectors (論理値。 TrueType ・ OpenType フ ォ ン ト に対 し てのみ意味を持ち ます) true の場合、 異体字セ レ
ク タ が フ ォ ン ト 内にあれば読み込まれます。 こ れは、 Unicode テキス ト 内の表意文字異体字シーケ
ン ス (IVS) を自動的に置き換え る ために必要です。
readshaping
(論理値。 TrueType ・ OpenType フ ォ ン ト に対 し て、 かつ unicode ・ glyphid エ ン コ ーデ ィ ングに対
し てのみ意味を持ち ます) TrueType または OpenType フ ォ ン ト の、 複雑用字系のシ ェ ーピ ングに
必要なシ ェ ーピ ングテーブルを読み込むかど う かを指定 し ます。 テキス ト の実際のシ ェ ーピ ング
は shaping オプ シ ョ ンによ っ て制御 さ れます (表 5.4 参照)。 シ ェ ーピ ングが必要でない と きは、
readfeatures を false に設定する と 、 メ モ リ を節約する こ と がで き ます。 デ フ ォ ル ト : true
readvertical
metrics
(論理値) true の場合、 かつオプ シ ョ ン vertical も true の場合には、 TrueType ま たは OpenType
フ ォ ン ト の縦書き メ ト リ ッ ク を (存在すれば) 使用 し て テキス ト 出力を整形 し ます。 デ フ ォ ル ト :
false
replacementchar
(Unichar かキーワー ド 。 glyphcheck=replace の場合にのみ意味を持ち ます。 非 Unicode CMap また
は glyphid エ ン コ ーデ ィ ングで読み込む フ ォ ン ト では無視 さ れます) 選択 し ている フ ォ ン ト で利
用で き ない、 かつ予備フ ォ ン ト または タ イ ポグ ラ フ ィ 的に類似のキ ャ ラ ク タ で置き換えで き ない
グ リ フ を、 指定 し た Unicode 値で置き換え ます。 そのフ ォ ン ト が、 指定 さ れた Unicode キ ャ ラ ク タ
に対するグ リ フ を含んでいない場合には、 auto の動作が適用 さ れます。 U+0000 を使 う と フ ォ ン ト
の 「グ リ フ な し 」 記号を指定で き ますが、 encoding=builtin で読み込んだ記号フ ォ ン ト に対 し て
は、 Unicode 値でな く バイ ト コ ー ド を与え る必要があ り ます。
Unicode キ ャ ラ ク タ のかわ り に以下のキーワー ド を用いる こ と も で き ます (デ フ ォル ト : auto) :
simplefont
72
auto
以下の一覧の中で、 そのフ ォ ン ト 内でグ リ フが得られる最初のキ ャ ラ ク タ が、 置き換え
キ ャ ラ ク タ と し て使用 さ れます :
U+00A0 (NO-BREAK SPACE)、 U+0020 (SPACE)、 U+0000 (グ リ フが見つから ない記
号)。
drop
そのキ ャ ラ ク タ に対 し て出力が作成 さ れません。
error
タ イ ポグ ラ フ ィ 的に類似にキ ャ ラ ク タ が得られない場合に例外が発生 し ます。 こ れは、
読めないテキス ト 出力を回避する ために使え ます。
(論理値。 8 ビ ッ ト エ ン コ ーデ ィ ングの TrueType フ ォ ン ト に対 し てのみ意味を持ち ます) こ のオプ
シ ョ ンが true かつ embedding=false の場合、 そのフ ォ ン ト は CID フ ォ ン ト と し てではな く シ ン プ
ルな フ ォ ン ト と し て出力 さ れます。 PDF ビ ュ ーアによ っ ては (特に Acrobat)。 表示する マ シ ンに
そのフ ォ ン ト がイ ン ス ト ール さ れていない と き フ ォ ン ト 置き換え を成功 さ せる ために こ れが必要
です。 ただ し 、 その フ ォ ン ト はフ ォ ーム フ ィ ール ド では使用で き な く な る こ と があ り ます。 デ
フ ォル ト : false
第 4 章 : フ ォ ン ト ・ テキス ト 関数
表 4.2 PDF_load_font( ) と 暗黙的フ ォ ン ト 読み込みのフ ォ ン ト 読み込みオプ シ ョ ン
オプ シ ョ ン
説明
skipembedding
(キーワー ド の リ ス ト 。 embedding=true の場合にのみ意味を持ち ます) こ の リ ス ト 内で指定 さ れた
1 個ない し 複数の条件を そのフ ォ ン ト が満たす場合には、 フ ォ ン ト 埋め込みを警告な く 無視 し ま
す。 これは、 全般 と し てはフ ォ ン ト 埋め込みを望むけれど も 、 ある特定の フ ォ ン ト 群またはエ
ラ ー状況に対 し てはフ ォ ン ト が埋め込まれないほ う が望ま し い と い う 場合に有用で し ょ う 。 使え
るキーワー ド :
fstype
フ ォ ン ト が、 TrueType か OpenType フ ォ ン ト であ り 、 かつ、 そのフ ォ ン ト の OS/2 テーブ
ル内の fsType フ ラ グに従っ て埋め込みを許可 し ていない。
hostfont
フ ォ ン ト がホス ト フ ォ ン ト し て読み込まれた。
フ ォ ン ト が、14 種の Latin コ ア フ ォ ン ト の集合に含まれている (全一覧については PDFlib
チ ュ ー ト リ アルを参照) が、 フ ォ ン ト アウ ト ラ イ ン フ ァ イルが得られないので埋め込め
ない。
metricsonly
フ ォ ン ト の PFM か AFM メ ト リ ク ス フ ァ イルだけが利用可能であ り 、 そのフ ォ ン ト アウ
ト ラ イ ン (PFA ・ PFB) が見つか ら ない。
standardcjk
フ ォ ン ト が、 標準日中韓フ ォ ン ト の集合に含まれている (全一覧については PDFlib
チ ュ ー ト リ アルを参照) が、 フ ォ ン ト アウ ト ラ イ ン フ ァ イルが得られないので埋め込め
ない。
latincore
デ フ ォル ト : 空 リ ス ト
PDF/A ・ PDF/X ・ PDF/UA では空 リ ス ト のみ可です。
skipposttable
(論理値。 非サポー ト 。 TrueType ・ OpenType フ ォ ン ト に対 し てのみ意味を持ち ます) TrueType ・
OpenType フ ォ ン ト の post テーブルを解析 し てグ リ フ名を決定するかど う かを指定 し ます。 この
オプ シ ョ ン を true に設定する と フ ォ ン ト の読み込みが速 く な る可能性があ り ますが、 非標準的な
名前を持つグ リ フへのグ リ フ 名参照はそのフ ォ ン ト では働かな く な り ます ( こ れは主に記号フ ォ
ン ト について起 こ り う る こ と で、 テキス ト フ ォ ン ト では通常起こ り ません)。 デ フ ォ ル ト : false
subsetlimit
(float またはパーセ ン ト 値。 Type 3 フ ォ ン ト では無視 さ れます) フ ォ ン ト のグ リ フの総数に対す
る、 文書で使っ ているグ リ フ の比率が、 指定パーセ ン ト 値を超え る と きは、 自動 フ ォ ン ト サブ
セ ッ ト 化を無効に し ます。 デ フ ォ ル ト : 100%
subsetminsize
(float。 Type 3 フ ォ ン ト では無視 さ れます) 元のフ ォ ン ト フ ァ イルのサイ ズが、 KB 単位の指定値
よ り 小 さ い と きは、 自動フ ォ ン ト サブ セ ッ ト 化を無効に し ます。 デ フ ォル ト : 50
subsetting
(論理値) フ ォ ン ト をサブ セ ッ ト 化するかど う かを制御 し ます。 Type 3 フ ォ ン ト をサブ セ ッ ト 化す
るには、 フ ォ ン ト 定義を 2 回に分けて行 う 必要があ り (PDFlib チ ュ ー ト リ アル参照)、 PDF_load_
font( ) への 1 回目の呼び出 し で subsetting オプ シ ョ ン を与え る必要があ り ます。 デ フ ォ ル ト :
サブ セ ッ ト 化は、 subsetlimit/subsetminsize 設定に基づいて自動的に有効に さ れます。
unicodemap
(論理値。 PDF/A-1a/2a/2u/3a/3u ・ PDF/UA-1 では false に設定 し てはいけません) ToUnicode
CMap の生成を制御 し ます。 こ のオプ シ ョ ンは タ グ付き PDF モー ド では無視 さ れます。 デ フ ォ ル
ト : true
vertical
(論理値。 TrueType ・ OpenType フ ォ ン ト のみ。 定義済み CMap を指定 し ている と きは無視 さ れま
す。 フ ォ ン ト 名が @ で始ま る と きは true を強制 さ れます) true な ら 、 縦書き用に フ ォ ン ト を用
意 し ます。
xheight
(-2048 から 2048 ま での整数) x ハイ ト 。 上記 ascender 参照。
4.1 フ ォ ン ト 処理
73
表 4.3 PDF_load_font( ) の fallbackfonts オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
フォン ト読
み込みオプ
シ ョ ン群
フ ォ ン ト を暗黙的に (すなわち font オプ シ ョ ン でな く fontname ・ encoding オプ シ ョ ン で) 指定
し た と きは、 表 4.2 に従 っ た fallbackfonts 以外のすべての フ ォ ン ト 読み込みオプ シ ョ ン をサブオ
プ シ ョ ン と し て与え る こ と がで き ます。 非 Unicode CMap で読み込んだ フ ォ ン ト は、 予備フ ォ ン ト
と し て用いる こ と はで き ません。
font
(フ ォ ン ト ハン ド ル) PDF_load_font( ) を fallbackfonts オプ シ ョ ン な し で呼び出 し て返 さ れた フ ォ
ン ト ハン ド ル。 このオプ シ ョ ン を与え る と 、 すべての フ ォ ン ト 読み込みオプ シ ョ ンが無視 さ れま
す (fontname ・ encoding も)。 フ ォ ン ト は、 embedding=false かつ keepnative=true に よ る標準日
中韓フ ォ ン ト であ っ てはいけません。
fontsize
(float またはパーセ ン ト 値) 予備 フ ォ ン ト の文字サイ ズを、 ユーザー座標で、 またはカ レ ン ト 文字
サイ ズに対するパーセ ン ト 値 と し て表 し た もの。 このオプ シ ョ ン を利用する と 、 予備 フ ォ ン ト の
デザイ ン さ れた文字サイ ズがベース フ ォ ン ト と 合わない と き に、 予備フ ォ ン ト の文字サイ ズを調
節する こ と がで き ます。 デ フ ォル ト : 100%
forcechars
(Unichar か Unicode 範囲の リ ス ト 、 またはキーワー ド 1 個) つねに予備フ ォ ン ト 内のグ リ フ で印字
さ せたい (glyphcheck 設定によ ら ず) キ ャ ラ ク タ 群を指定 し ます。 予備フ ォ ン ト は、 指定 し た
キ ャ ラ ク タ に対する グ リ フ を含んでいるか (個々のキ ャ ラ ク タ を指定 し た場合)、 あ るいは少な く
と も指定 し た Unicode 範囲の最初 と 最後のキ ャ ラ ク タ に対する グ リ フ を含んでいる必要があ り ま
す。 ベース フ ォ ン ト に対 し て 8 ビ ッ ト エ ン コ ーデ ィ ング を指定 し ている場合で も 、 このオプ シ ョ
ンには Unicode 値を指定する こ と が可能です。
以下のキーワー ド のいずれか一つを与え る こ と も で き ます :
textrise
gaiji
予備フ ォ ン ト は SING フ ォ ン ト を参照する必要があ り 、 そ し て こ のキーワー ド は、 SING
フ ォ ン ト の メ イ ング リ フの Unicode 値へのシ ョ ー ト カ ッ ト と し て利用する こ と がで き ま
す。
all
キ ャ ラ ク タ がベース フ ォ ン ト 内で得られる場合であ っ て も、 予備フ ォ ン ト 内のすべての
グ リ フが、 ベース フ ォ ン ト 内の照応するキ ャ ラ ク タ を置換する ために使われます。
(float またはパーセ ン ト 値) テキス ト ラ イ ズ値 (表 4.7 参照)。 パーセ ン ト 値は、 予備フ ォ ン ト に対
し て指定 し た (すなわち、 fontsize サブオプ シ ョ ンがある な ら それを適用 し た後の) 文字サイ ズ
に対する比です。 こ のオプ シ ョ ン を利用する と 、 予備 フ ォ ン ト のデザイ ン さ れたテキス ト ラ イ ズ
がベース フ ォ ン ト と 合わない と き に、 予備フ ォ ン ト のテキス ト の位置を調節する こ と がで き ます。
デフ ォル ト : 0
C++ Java C# void close_font(int font)
Perl PHP close_font(int font)
C void PDF_close_font(PDF *p, int font)
文書内で ま だ使われていない、 開かれてい る フ ォ ン ト ハン ド ルを閉 じ ます。
font 文書内で ま だ使われていない、 かつ閉 じ ら れていない、 PDF_load_font( ) に よ っ て
返 さ れた フ ォ ン ト ハン ド ル。
詳細
74
こ の関数はフ ォ ン ト ハン ド ルを閉 じ 、その フ ォ ン ト に関連づけ ら れていたすべての リ ソ ー
ス を解放 し ます。 こ の呼び出 し の後に、 その フ ォ ン ト ハン ド ルを使っ てはいけ ません。 通
常、 フ ォ ン ト は文書の終わ り に自動的に閉 じ ら れます。 し か し 、 フ ォ ン ト を閉 じ る こ と は
以下の よ う な場合に有用です :
> フ ォ ン ト のプ ロ パテ ィ をPDF_info_font( )で取得 し た後、その フ ォ ン ト を カ レ ン ト のPDF
文書内では使わない こ と が決定 さ れた。
> フ ォ ン ト が文書の境界を越え て保持 さ れていたが (PDF_load_font( ) の keepfont オプ
シ ョ ン で)、 も う 必要ないので捨て る べ き であ る 。
第 4 章 : フ ォ ン ト ・ テキス ト 関数
フ ォ ン ト がカ レ ン ト 文書内ですでに使われてい る と き は、 閉 じ てはいけ ません。
スコープ 任意
C++ Java C# double info_font(int font, String keyword, String optlist)
Perl PHP float info_font(int font, string keyword, string optlist)
C double PDF_info_font(PDF *p, int font, const char *keyword, const char *optlist)
読み込んだ フ ォ ン ト に関す る 詳 し い情報を取得 し ます。
font PDF_load_font( ) に よ っ て返 さ れた フ ォ ン ト ハン ド ル、 あ る いはキー ワ ー ド に よ っ
ては -1 (PHP では 0)。
keyword ほ し い情報を表 4.5 に従っ て指定 し た キーワー ド 。 使え る キーワー ド :
> グ リ フ マ ッ ピ ン グのためのキー ワー ド : cid ・ code ・ glyphid ・ glyphname ・ unicode
> フ ォ ン ト メ ト リ ッ ク : ascender ・ capheight ・ descender ・ italicangle ・ linegap ・ xheight
> フ ォ ン ト の フ ァ イ ル ・ 名前 ・ 種別 : cidfont ・ familyname ・ fontfile ・ fontname ・
fonttype ・ metricsfile ・ outlineformat ・ singfont ・ standardfont ・ supplement
> フ ォ ン ト の技術的情報 : feature ・ featurelist ・ hostfont ・ kerningpairs ・ numglyphs ・
shapingsupport ・ vertical
> 表意文字異体字セ レ ク タ のためのキー ワー ド 群 :
maxuvsunicode ・ minuvsunicode ・ selector ・ selectorlist
> フ ォ ン ト と エン コ ーデ ィ ン グの関係 : codepage ・ codepagelist ・ encoding ・
fallbackfont ・ keepnative ・ maxcode ・ numcids ・ numusableglyphs ・ predefcmap ・
replacementchar ・ symbolfont ・ unicodefont ・ unmappedglyphs
> カ レ ン ト 文書に対する フ ォ ン ト 処理の結果 : numusedglyphs ・ usedglyph ・ willembed ・
willsubset
> Type 3 フ ォ ン ト と PDF/A か PDF/X のための色互換性チ ェ ッ ク : checkcolorspace
optlist 選択 し た キーワ ー ド を さ ら に修飾す る オプシ ョ ン リ ス ト 。 以下のオプシ ョ ンが使
え ます :
> 表 4.5 の各キー ワー ド の欄で解説す る 、 キー ワー ド 独自のオプシ ョ ン群。
> グ リ フ を指定す る ための、 表 4.4 に従っ たマ ッ ピ ン グオプシ ョ ン :
cid ・ code ・ glyphid ・ glyphname ・ selector ・ unicode
こ れ ら のオプシ ョ ンは、マ ッ ピ ン グオプシ ョ ン cid ・ code ・ glyphid ・ glyphname ・ unicode
の ソ ース値を定義 し ます。 こ れ ら のマ ッ ピ ン グオプシ ョ ンは相互に排他的です。 code ・
glyphname・unicode オプシ ョ ンはencoding オプシ ョ ン と 組み合わせ る こ と が可能です。
表 4.4 PDF_info_font( ) でグ リ フ を指定する オプ シ ョ ン
オプ シ ョ ン
説明
cid
(数値) グ リ フの CID 値。 cidfont=1 の と きのみ意味を持ち ます
code
(範囲 0 ~ 255 の数値。 8 ビ ッ ト エ ン コ ーデ ィ ン グのフ ォ ン ト のみ) エ ン コ ーデ ィ ングス ロ ッ ト
glyphid
(範囲 0 ~ 65535 の数値) 内部グ リ フ ID
glyphname
(文字列) グ リ フの名前。 cidfont=1 の と き には意味を持ち ません
selector
(Unichar) 範囲 U+0xFE00 ~ U+FE0F ま たは U+E0100 ~ U+E01EF 内の異体字セ レ ク タ の Unicode 値。
selector キーワー ド に よ っ て返 さ れたすべての値を こ こ で与え る こ と がで き ます。
4.1 フ ォ ン ト 処理
75
表 4.4 PDF_info_font( ) でグ リ フ を指定する オプ シ ョ ン
オプ シ ョ ン
説明
unicode
(Unichar) Unicode キ ャ ラ ク タ
戻り値 keyword に よ っ て、 お よ び場合に よ っ てはオプシ ョ ンで補足 し て要求 し た、 フ ォ ン ト ま た
はエン コ ーデ ィ ン グの特性の値。キー ワー ド と オプシ ョ ンの組み合わせが仕様外の と き は
-1 (PHP では 0) が返 さ れます。 要求 さ れた テ キ ス ト がテ キ ス ト を生み出す場合には、
文字列番号が返 さ れ、 その照応す る 文字列を、 PDF_get_string( ) を用いて取得す る 必要が
あ り ます。
詳細
こ の関数は、 以下の異な る ソ ース か ら の情報を提供 し ます :
> 有効な フ ォ ン ト ハン ド ルを与え た と き は、 その フ ォ ン ト か ら 集めた情報 を返 し ま す。
例 : フ ォ ン ト の メ ト リ ッ ク ・ 名前 ・ 種別、 特定の glyphid に対す る unicode 値。
> font = -1(PHP では 0)かつ encoding オプシ ョ ン を与え た と き は、こ のエン コ ーデ ィ ン グ
に関す る 情報を返 し ます。例 : エン コ ーデ ィ ン グ内の 1 つの code に対す る unicode 値。
> font = -1 (PHP では 0) かつ encoding オプシ ョ ン を与え ていない と き は、 PDFlib の内部
テーブル群か ら 集めた情報を返 し ます。 例 : 特定の glyphname に対す る unicode 値。
スコープ 任意
表 4.5 PDF_info_font( ) のキーワー ド ・ オプ シ ョ ン
キーワー ド
説明 ・ オプ シ ョ ン
ascender
ア セ ン ダの メ ト リ ッ ク値。 使え るオプ シ ョ ン (デ フ ォ ル ト : fontsize=1000) :
faked
(論理値) 値を フ ォ ン ト または メ ト リ ッ ク フ ァ イルから得 られなかっ たため推算する必
要があ る と きは 1。 そ う で ない と きは 0
fontsize
(文字サイ ズ) 値を指定文字サイ ズにあわせて比例計算 し ます
capheight
キ ャ ッ プハイ ト の メ ト リ ッ ク値。 ascender 参照。
cid
指定 し たグ リ フの CID、 あるいは得ら れなか っ た と きは -1。 使え る オプ シ ョ ン : cid ・ glyphid ・
unicode ・ selector
cidfont
フ ォ ン ト が CID フ ォ ン ト と し て埋め込まれる な ら 1、 そ う で ないな ら 0
code
エ ン コ ーデ ィ ングス ロ ッ ト を表す範囲 0 ~ 255 の数値か、 またはそのよ う な ス ロ ッ ト が フ ォ ン ト
内ま たはエ ン コ ーデ ィ ング内 (encoding オプ シ ョ ン を与え、 かつ font=-1 (PHP では 0) の場合)
に見つから なかっ た と きは -1。 使え る オプ シ ョ ンはマ ッ ピ ングオプ シ ョ ン code ・ glyphid ・
glyphname ・ unicode と 以下のオプ シ ョ ン です :
encoding (文字列) 8 ビ ッ ト エ ン コ ーデ ィ ングの名前
codepage
指定 し た コ ー ド ページに フ ォ ン ト が対応 し ているかど う かを調べます。 こ の情報は、 TrueType/
OpenType フ ォ ン ト の OS/2 テーブルから 、 も し 入手可能であれば採 られます。 使え る オプ シ ョ
ン:
name
(文字列。 必須) コ ー ド ページの名前を cpXXXX の形で。 こ こ で XXXX は、 コ ー ド ページ
の 10 進数値を表 し ます (例 : cp437 ・ cp1252)
以下の戻 り 値で、 指定 さ れた コ ー ド ページに フ ォ ン ト が対応 し ているかど う かを示 し ます。
76
-1
フ ォ ン ト が TrueType ・ OpenType フ ォ ン ト でないので不明です。
0
指定 さ れた コ ー ド ページに フ ォ ン ト は対応 し ていません。
1
指定 さ れた コ ー ド ページに フ ォ ン ト は対応 し ています。
第 4 章 : フ ォ ン ト ・ テキス ト 関数
表 4.5 PDF_info_font( ) のキーワー ド ・ オプ シ ョ ン
キーワー ド
説明 ・ オプ シ ョ ン
codepagelist
フ ォ ン ト が対応 し ているすべての コ ー ド ページ (cpXXXX の形で) のスペース区切 り の リ ス ト の文
字列番号、 あ るいはフ ォ ン ト が TrueType ・ OpenType フ ォ ン ト でないので コ ー ド ページ リ ス ト が不
明の と き (codepage 参照) は -1。
checkcolorspace
(Type 3 フ ォ ン ト で colorized=true の場合にのみ意味を持ち ます) そのフ ォ ン ト がカ レ ン ト ペー
ジ上で、 PDF/A か PDF/X の色関連の違反の リ ス ク を冒 さ ず安全に使用で き る な ら 1、 そ う でない
なら 0
descender
デ ィ セ ン ダの メ ト リ ッ ク値。 ascender 参照。
encoding
フ ォ ン ト のエ ン コ ーデ ィ ングまたは CMap の名前の文字列番号。 使え るオプ シ ョ ン (デ フ ォ ル ト :
actual) :
api
(論理値) true にする と 、 API で指定 さ れるの と 同 じ エ ン コ ーデ ィ ング名
actual
(論理値) true にする と 、 フ ォ ン ト に対 し て使われる実際のエ ン コ ーデ ィ ング名
fallbackfont
unicode オプ シ ョ ン で指定 し たキ ャ ラ ク タ を印字する ために用い られるベース フ ォ ン ト か予備フ ォ
ン ト のハン ド ル。 これを利用する と 、 指定 し たキ ャ ラ ク タ に対 し て用い ら れるグ リ フ を予備フ ォ
ン ト 群の連な り の中のどのフ ォ ン ト が実際に提供するかを調べる こ と がで き ます。 そのキ ャ ラ ク
タ がいずれのベース フ ォ ン ト ・ 予備フ ォ ン ト で も印字で き ない と きは、 -1 が返 さ れます。 使え る
オプ シ ョ ン : unicode
familyname
フ ォ ン ト フ ァ ミ リ の名前の文字列番号、 または得られないな ら -1
feature
PDFlib が対応 し ている OpenType 機能テーブルを フ ォ ン ト が含んでいるかど う かを調べます。 使え
るオプ シ ョ ン :
language (キーワー ド 。 script を与え ている と きのみ) 言語の名前を指定 し ます。 デ フ ォ ル ト :
_none
name
(キーワー ド 。 必須) OpenType 機能テーブルの 4 文字の名前を指定 し ます。 例 : liga
(標準合字) ・ ital (日中韓フ ォ ン ト の斜体) ・ vert (縦書き)。 機能 kern については取
得で き ません。
script
(キーワー ド ) 用字系の名前を指定 し ます。 デ フ ォル ト : _none
language ・ name ・ script のいずれかに対 し て、 未知のキーワー ド が与え られた場合には、 例外が
発生 し ます。 既知のキーワー ド の一覧については PDFlib チ ュ ー ト リ アルを参照 し て く だ さ い。 以
下の戻 り 値で、 指定 さ れた OpenType 機能テーブルがフ ォ ン ト 内に存在 し ていて PDFlib がそれに
対応 し ているかど う かを示 し ます :
-1
フ ォ ン ト 内に機能テーブルが一切見つから ない。
0
その機能は、 そのフ ォ ン ト 内で、 指定 さ れた用字系 と 言語に対 し ては利用可能でない、
または、 PDFlib に と っ て未知である。
1
その機能は、 指定 さ れた用字系 と 言語に対 し て利用可能であ る。
featurelist
フ ォ ン ト 内で得 られて PDFlib が対応 し ているすべての機能のスペース区切 り の リ ス ト の文字列番
号、 あ るいは機能テーブルが全 く 得られない と きは -1。
fontfile
フ ォ ン ト のアウ ト ラ イ ン フ ァ イルのパス名の文字列番号か、 または得られない と きは -1
fontname
フ ォ ン ト 名の文字列番号か、 または得ら れない と きは -1。 使え る オプ シ ョ ン (デ フ ォ ル ト :
acrobat) :
fontstyle
acrobat
(論理値) true にする と 、 Acrobat で表示 さ れるの と 同 じ フ ォ ン ト 名
api
(論理値) true にする と 、 API で指定 さ れるの と 同 じ フ ォ ン ト 名
full
(論理値) true にする と 、 PDF の フ ォ ン ト 記述子の /FontName 項目
fontstyle オプ シ ョ ンの値 (normal ・ bold ・ italic ・ bolditalic) の文字列番号。
4.1 フ ォ ン ト 処理
77
表 4.5 PDF_info_font( ) のキーワー ド ・ オプ シ ョ ン
キーワー ド
説明 ・ オプ シ ョ ン
fonttype
フ ォ ン ト 種別の文字列番号、 ま たは得ら れない と きは -1。 知られている フ ォ ン ト 種別は
Multiple Master ・ OpenType ・ TrueType ・ TrueType (CID) ・ Type 1 ・ Type 1 (CID) ・ Type 1 CFF ・
Type 1 CFF (CID) ・ Type 3
glyphid
(8 ビ ッ ト エ ン コ ーデ ィ ン グによ る フ ォ ン ト と 、 encoding=builtin に よ る記号フ ォ ン ト と 、
encoding= unicode によ る フ ォ ン ト のみ) 以下のオプ シ ョ ン で同定 さ れる、 フ ォ ン ト 内部のグ リ フ
ID (GID) を表す範囲 0 ~ 65535 の数か、 またはそのよ う なグ リ フが見つか ら なかっ た と きは -1。
使え る オプ シ ョ ンは、 マ ッ ピ ングオプ シ ョ ン群 cid ・ code ・ glyphid ・ glyphname ・ unicode ・
selector。
glyphname
指定 し たグ リ フの名前の文字列番号、 またはそのよ う なグ リ フがフ ォ ン ト 内ま たは指定 し た エ ン
コ ーデ ィ ング内 (encoding オプ シ ョ ン を与えていてかつ font=-1 (PHP では 0) の場合) に見つか
ら ない と きは -1。 使え る オプ シ ョ ンはマ ッ ピ ングオプ シ ョ ン code ・ glyphid ・ glyphname ・
unicode と 以下の フ ォ ン ト です :
encoding (文字列) 8 ビ ッ ト エ ン コ ーデ ィ ングの名前
hostfont
フ ォ ン ト がホス ト フ ォ ン ト な ら 1、 そ う でないな ら 0
italicangle
フ ォ ン ト のイ タ リ ッ ク角度 (PDF の フ ォ ン ト 記述子の中の ItalicAngle)
keepnative
keepnative オプ シ ョ ンの出力値。
kerningpairs
フ ォ ン ト 内のカ ーニ ングペアの数
linegap
行間の メ ト リ ッ ク値。 ascender 参照。
maingid
メ イ ン グ リ フ のグ リ フ ID (SING テーブルの メ ンバ mainGID)。
maxcode
フ ォ ン ト のエ ン コ ーデ ィ ン グの最大の コ ー ド 値。 具体的には、 シ ングルバイ ト エ ン コ ーデ ィ ング
に対 し ては 0xFF、 encoding=glyphid では numglyphs-1、 それ以外の場合はエ ン コ ーデ ィ ング内の
最大の Unicode 値。
metricsfile
フ ォ ン ト の メ ト リ ッ ク フ ァ イル (AFM または PFM) のパス名の文字列番号か、 ま たは得ら れない
と きは -1
maxuvsunicode
有効な表意文字異体字シーケ ン ス (IVS) に含まれ う る最大 Unicode 値。
minuvsunicode
有効な表意文字異体字シーケ ン ス (IVS) に含まれ う る最小 Unicode 値。
monospace
(非推奨) monospace オプ シ ョ ンの値、 またはそれが与え られていない と きは 0。
numcids
フ ォ ン ト が標準 CMap を使っ ている場合は CID の数、 そ う で ないな ら -1
numglyphs
フ ォ ン ト 内のグ リ フ の数 (.notdef グ リ フ を含む)。 GID は 0 か ら始ま り ますので、 GID の と り う る
最大値は numglyphs よ り 1 小 さ く な り ます。
numusableglyphs
PDF_load_font( ) で与えたエ ン コ ーデ ィ ングによ っ て到達可能な フ ォ ン ト 内のグ リ フ の数
numusedglyphs
その時点ま でに生成 さ れたテキス ト の中で使われているグ リ フの数。
outlineformat
フ ォ ン ト 形式 : PFA ・ PFB ・ LWFN ・ TTF ・ OTF ・ TTC のいずれか一つ。 TTC ・ WOFF フ ォ ン ト の場合に
は、 その基礎を なすベース フ ォ ン ト 形式に対するキーワー ド が返 さ れます。 例 : TTF。 CEF フ ォ ン
ト の場合には、 返 さ れる文字列は OTF です。
predefcmap
フ ォ ン ト に対する エ ン コ ーデ ィ ング と し て指定 さ れた定義済み CMap の名前の文字列番号、 ま たは
得られないな ら -1。
78
第 4 章 : フ ォ ン ト ・ テキス ト 関数
表 4.5 PDF_info_font( ) のキーワー ド ・ オプ シ ョ ン
キーワー ド
説明 ・ オプ シ ョ ン
replacement
char
replacementchar オプ シ ョ ン で指定 さ れたキ ャ ラ ク タ の Unicode 値。 encoding=builtin で読み込ま
れた記号 フ ォ ン ト については、 Unicode 値でな く コ ー ド が返 さ れます。
selector
index オプ シ ョ ン で指定 さ れた番号を持つ異体字セ レ ク タ の Unicode 値。index オプ シ ョ ンが指定 さ
れていない場合、 ま たは指定 さ れたセ レ ク タ がそのフ ォ ン ト 内で得 られない場合には、 -1 が返 さ
れます。 使え るオプ シ ョ ン :
index
(非負整数) セ レ ク タ の番号。
selectorlist
そのフ ォ ン ト 内のすべての異体字セ レ ク タ の Unicode 値の空白区切 り リ ス ト を内容 と する文字列の
文字列番号。 16 進数字を h と する と 、 各値は hhhhh 形式で与え られます。
shapingsupport
フ ォ ン ト がシ ェ ーピ ングに対応 し ていて、 かつ フ ォ ン ト を読み込む際に readshaping オプ シ ョ ン
が与え ら れていたな ら 1、 そ う で ないな ら 0
singfont
フ ォ ン ト が SING (外字) フ ォ ン ト な ら 1、 そ う で ないな ら 0
standardfont フ ォ ン ト が PDF コ ア フ ォ ン ト か標準日中韓フ ォ ン ト の と きは 1、 そ う でない と きは 0
supplement
標準日中韓 CMap によ る フ ォ ン ト の と きはキ ャ ラ ク タ 集合の補足数、 そ う でない と きは 0
symbolfont
フ ォ ン ト が記号 フ ォ ン ト な ら 1、 そ う で ないな ら 0 (PDF のフ ォ ン ト 記述子の中の symbol フ ラ グ)
unicode
指定 し たグ リ フ に対する Unicode UTF-32 値、 または Unicode 値がフ ォ ン ト またはエ ン コ ーデ ィ ン
グ (encoding オプ シ ョ ン を与え ていてかつ font=-1 (PHP では 0) の場合) の中に見つか ら なか っ
た と きは -1。 使え るオプ シ ョ ンはマ ッ ピ ングオプ シ ョ ン群 cid ・ code ・ glyphid ・ glyphname ・
unicode ・ selector と 以下のオプ シ ョ ン です :
encoding (文字列) 8 ビ ッ ト エ ン コ ーデ ィ ン グの名前
unicodefont
フ ォ ン ト と エ ン コ ーデ ィ ングの組み合わせがグ リ フ群に対する マ ッ ピ ング を与え る な ら 1、 そ う で
ないな ら 0。 非 Unicode CMap を持つ日中韓フ ォ ン ト で keepnative=true の と きは 0 を返 し ます。
unmappedglyphs
Unicode PUA 値へマ ッ プ さ れた フ ォ ン ト 内のグ リ フの数。 PUA 値がフ ォ ン ト 内にすでに存在する
か、 それ と も PDFlib に よ っ て割 り 当て ら れているかに よ り ません。
usedglyph
指定 し たグ リ フ ID がテキス ト 内で使われている な ら 1、 そ う で ないな ら 0。 使え る オプ シ ョ ン :
glyphid
vertical
フ ォ ン ト が縦書き用な ら 1、 そ う でないな ら 0
weight
フ ォ ン ト の太 さ を 100 ~ 900 の範囲で表 し た もの。 400 =標準、 700 =ボール ド
willembed
フ ォ ン ト が埋め込まれる (embedding オプ シ ョ ンか、 または強制 フ ォ ン ト 埋め込みで) な ら 1、 そ
う で ないな ら 0
willsubset
フ ォ ン ト のサブ セ ッ ト が作成 さ れる (autosubsetting=true な ら、 サブ セ ッ ト 化が有効にな る ため
には、 subsetlimit を超えない こ と が必要です) な ら 1、 そ う で ないな ら 0
xheight
行間の x ハイ ト 値。 ascender 参照。
4.1 フ ォ ン ト 処理
79
4.2 テ キス ト フ ィ ル タ ・ 書式オ プ シ ョ ン
こ の項では、 「テキス ト 」 と い う 言葉は内容文字列を、 すなわち、 指定 さ れた書式 (フ ォ
ン ト ・ 色な ど) を持つテ キ ス ト を意味 し ます。 こ れに対 し 、 名前文字列 と ハ イ パーテ キ ス
ト 文字列 (フ ァ イ ル名な ど) は書式を持ち ません。 詳 し く は PDFlib チ ュ ー ト リ アルを参
照 し て く だ さ い。
テ キ ス ト オ プ シ ョ ン は、 PDF_set_text_option( ) ・ PDF_fit/info_textline( ) ・ PDF_fill_
textblock( ) ・ PDF_add/create_textflow( ) で使え ます。 テ キ ス ト オプシ ョ ンは、 表セル と テ
キ ス ト ブ ロ ッ ク に も 適用 さ れ ま す。 以下のテ キ ス ト オプシ ョ ン の グループが利用可能で
す:
> 表 4.6 に従っ たテ キ ス ト フ ィ ル タ オプシ ョ ン群。
> 表 4.7 に従っ たテ キ ス ト 書式オプシ ョ ン群。
> 表 5.4 に従っ たシ ェ ーピ ン グ ・ タ イ ポグ ラ フ ィ オプシ ョ ン群 (PDF_set_text_option( ) で
は不可)。
表 4.6 PDF_set_text_option( ) ・ PDF_fit/info_textline( ) ・ PDF_fill_textblock( ) ・ PDF_add/create_textflow( ) のテキス ト
フ ィ ル タ オプ シ ョ ン
オプ シ ョ ン
説明
actualtext
(Boolean; only for PDF_set_text_option( ), PDF_fit_textline( ), and PDF_fill_textblock( )) If true, PDFlib
creates a marked content Span with suitable ActualText if the Unicode value(s) derived from the
ToUnicode CMap wouldn’t be correct and no user-provided Alt or ActualText was provided. This ensures
correct text extraction for glyphs which are used to represent multiple similar looking Unicode values in a
font, e.g. Ohm and Omega. Default: true
(論理値。 PDF_set_text_option( ) ・ PDF_fit_textline( ) ・ PDF_fill_textblock( ) に対 し てのみ有効) true な
らば、 ToUnicode CMap か ら Unicode 値 (群) を導出 さ れる と 正 し く ないであ ろ う と き、 かつ、
ユーザー指定の Alt か ActualText が与え られていない と き、 PDFlib は、 然るべき ActualText を
持っ たマー ク 付き コ ン テ ン ツ Span を生成 し ます。 こ れに よ り 、 オーム と オ メ ガ等、 同一フ ォ ン ト
内で見た目が類似の複数の Unicode 値を表現する ために用い ら れているグ リ フ に対する テキス ト 抽
出が確実に正 し く 行え る よ う にな り ます。 デ フ ォ ル ト : true
charref
(論理値) true にする と 、 内容文字列内の数値 ・ 文字実体参照 と グ リ フ名参照の置き換えが有効に
な り ます。1 デ フ ォル ト : グ ローバル charref オプ シ ョ ン
escapesequence
(論理値) true にする と 、 内容文字列内のエスケープ シーケ ン スの置き換えが有効にな り ます。 1
デ フ ォ ル ト : グローバル escapesequence オプ シ ョ ン
glyphcheck
(キーワー ド ) グ リ フ検査ポ リ シ : テキス ト 内の コ ー ド が、 選択 し た フ ォ ン ト 内のグ リ フ へマ ッ プ
で き ない と き にどのよ う に動作するか (デ フ ォ ル ト : グローバル glyphcheck オプ シ ョ ン) :
error
none
80
グ リ フが得られない と き に例外を発生 さ せます。 具体的な エ ラ ー メ ッ セージは PDF_get_
errmsg( ) で取得で き ます。
検査な し 。 notdef グ リ フは、 PDF/A か PDF/UA-1 か PDF/X-4/5 モー ド では例外を引き
起 こ し 、 それ以外の場合には notdef グ リ フが出力内に現れる こ と がで き ます。
replace
得 られないグ リ フ を、 ベース フ ォ ン ト ・ 予備フ ォ ン ト 内の適切なグ リ フが得られる な ら
ば、 それに置き換え よ う と 試みます。 合字は分解 さ れます。 適切な置き換えがで き ない
と きは、 そのグ リ フ は replacementchar で 置き換え ら れます。
replace
得 られないグ リ フ を、 ベース ・ 予備フ ォ ン ト 内の タ イ ポグ ラ フ ィ 的に類似のキ ャ ラ ク タ
で置き換え、 合字を分解 し よ う と 試みます。 然るべき グ リ フ が見つから なかっ た場合に
は、 そのキ ャ ラ ク タ は replacementchar オプ シ ョ ン に従っ て処理 さ れます。
第 4 章 : フ ォ ン ト ・ テキス ト 関数
表 4.6 PDF_set_text_option( ) ・ PDF_fit/info_textline( ) ・ PDF_fill_textblock( ) ・ PDF_add/create_textflow( ) のテキス ト
フ ィ ル タ オプ シ ョ ン
オプ シ ョ ン
説明
normalize
(キーワー ド 。 encoding=glyphid と 非 Unicode CMap では無視 さ れます) 入っ て く る テキス ト を、
Unicode 正規形の う ちの一つへ正規化 し ます (デ フ ォ ル ト : none) :
none
正規化を適用 し ません。 これがデ フ ォ ル ト 動作であ り 、 選択 し た フ ォ ン ト 内のグ リ フ群
で表せる テキス ト を与え るのはク ラ イ ア ン ト 側の役割です。
nfc
正規形 C (NFC) : 正準分解の後に正準合成を行います。 NFC は、 結合シーケ ン ス を、 結
合済キ ャ ラ ク タ へ置換 し ます。 これは、 結合シーケ ン スのあ るワー ク フ ローのために有
用です。 なぜな ら、 フ ォ ン ト は通常、 結合済キ ャ ラ ク タ に対するグ リ フのみを含んでい
るから です。 NFC 正規化がない場合、 PDFlib は、 結合済キ ャ ラ ク タ ではな く 、 複数キ ャ
ラ ク タ のシーケ ン ス を出力 し ます。
nfkc
正規形 KC (NFKC) : 互換分解の後に正準合成を行います。 こ れは、 キ ャ ラ ク タ の意味
付けにのみ関心があ り 、 組版差異には関心のないワー ク フ ローのために有用です。 た と
えば、 表示形のア ラ ビ ア文字キ ャ ラ ク タ を その原形へ変換 し た り 、 合字や分数を解決 し
た り 、 縦書き形を横書き形へ置換 し た り 、 全角キ ャ ラ ク タ を通常キ ャ ラ ク タ へ置換 し た
り し ます。
nfd
正規形 D (NFD) : 正準分解
nfkd
正規形 KD (NFKD) : 互換分解
NFD と NFKD は、 結合シーケ ン ス を作成する こ と があ り ますので、 これ らは PDFlib ワー ク フ ロー
では有用ではな さ そ う です。
textformat
(キーワー ド 。 Unicode 非互換の言語バイ ンデ ィ ングのみ) 内容文字列を解釈する ために用い ら れ
る形式。 使え るキーワー ド : bytes ・ utf8 ・ ebcdicutf8 (i5/iSeries ・ zSeries のみ) ・ utf16 ・
utf16le ・ utf16be ・ auto。 デ フ ォ ル ト : グローバル textformat オプ シ ョ ン
1. こ の値は、 以後、 同 じ オ プ シ ョ ン を持 っ た PDF_set_option( ) への呼び出 し に よ っ てオーバラ イ ド さ れる可能性があ り ます。
表 4.7 PDF_set_text_option( ) ・ PDF_fit/info_textline( ) ・ PDF_fill_textblock( ) ・ PDF_add/create_textflow( ) テキス ト 書式
オプ シ ョ ン
オプ シ ョ ン
説明
charspacing
(float またはパーセ ン ト 値) 字間。 すなわち、 文字列内の個々のキ ャ ラ ク タ を配置 し た後のカ レ ン
ト 点の変位。 float 値はユーザー座標系の単位を指定 し ます。 パーセ ン ト 値は fontsize に対する比
です。 文字ど う し の間隔を拡げるには、 横書き では正の値を、 縦書き では負の値を用います。 デ
フ ォル ト : 0
dasharray
(非負 float 2 個の リ ス ト かキーワー ド ) 描線 (袋文字) テキス ト と 文字飾 り に対する線 と 線間の長
さ 。 キーワー ド none を用いて実線を生成 さ せる こ と も で き ます。 デ フ ォ ル ト : none
decorationabove
(論理値) true にする と 、 underline ・ strikeout ・ overline オプ シ ョ ン で有効に さ れた文字飾 り
はテキス ト の上に、 そ う でなければテキス ト の下に描かれます。 描画順を変え る こ と で、 飾 り 線
は見えた り 隠れた り し ます。 すなわち、 テキス ト が線にオーバプ リ ン ト するか、 あるいはその逆
かを制御する こ と が可能です。 デ フ ォル ト : false
fakebold
(論理値) の場合、 グ リ フ 輪郭を描線するか複数回の重ね書き に よ っ て太字テキス ト に見せかけま
す。 デ フ ォル ト : false
fillcolor
(色) テキス ト の塗 り 色。1
単純テキス ト 出力関数群 と PDF_fit_textline( ) で inittextstate=false の場合のデ フ ォ ル ト : カ レ ン
ト グ ラ フ ィ ッ ク ス テー ト の中の照応する オプ シ ョ ン。
テキス ト フ ロー と PDF_fit_textline( ) で inittextstate=true の場合のデ フ ォ ル ト : {gray 0} (PDF/
A モー ド では {lab 0 0 0})
4.2 テキス ト フ ィ ル タ ・ 書式オプ シ ョ ン
81
表 4.7 PDF_set_text_option( ) ・ PDF_fit/info_textline( ) ・ PDF_fill_textblock( ) ・ PDF_add/create_textflow( ) テキス ト 書式
オプ シ ョ ン
オプ シ ョ ン
説明
font
(フ ォ ン ト ハン ド ル) 使いたい フ ォ ン ト のハン ド ル。 このオプ シ ョ ン を与え る と 、 すべてのフ ォ ン
ト 読み込みオプ シ ョ ンは無視 さ れます (fontname ・ encoding も)。 こ の font オプ シ ョ ン を使 う と 、
fontname/encoding オプ シ ョ ンに よ る暗黙的な フ ォ ン ト 読み込みよ り も パフ ォ ーマ ン スが向上 し ま
す。
デ フ ォ ル ト : 暗黙的に読み込まれた フ ォ ン ト が得られる な ら それ、 そ う でないな ら、 単純テキス
ト 出力 と PDF_fit_textline( ) で inittextstate=false では PDF_setfont( ) を用いて選択 さ れた フ ォ ン
ト 。 それ以外の場合はフ ォ ン ト は得られず、 エ ラ ーが発生 し ます。
fontsize
(文字サイ ズ) 文字サイ ズを、 カ レ ン ト ユーザー座標系の単位で表 し た もの。 PDF_fit_textline( ) の
場合、 パーセ ン ト 値は、 枠の幅 (orientate=north ・ south の場合) または高 さ
(orientate=east ・ west の場合) に対する比です。 PDF_set_text_option( ) と テキス ト フ ローでは、
パーセ ン ト 値は、 直前のテキス ト のサイ ズに対する比です。
デ フ ォ ル ト : PDF_setfont( ) は、 単純テキス ト 出力関数群 と 、 PDF_fit_textline( ) で
inittextstate=false の場合に対するデ フ ォル ト のみを設定 し ます。 それ以外の場合は フ ォ ン ト は
得られず、 エ ラ ーが発生 し ます。
gstate
(グ ラ フ ィ ッ ク ス テー タ スハン ド ル) PDF_create_gstate( ) で取得 さ れたグ ラ フ ィ ッ ク ス テー タ スの
ハン ド ル。 そのグ ラ フ ィ ッ ク ス テー タ スが、 こ の関数で生成するすべてのテキス ト に対 し て効力
を持ち ます。 デ フ ォ ル ト : グ ラ フ ィ ッ ク ス テー タ スな し (すなわち、 カ レ ン ト の設定が使われま
す)。
horizscaling
(float またはパーセ ン ト 値。 0 以外にする必要があ り ます) テキス ト を、 与えたパーセ ン ト 値に横
へ伸縮。 テキス ト の伸縮は、 テキス ト を、 与えたパーセ ン ト 値に縮めた り 伸ば し た り し ます。 テ
キス ト の伸縮はつねに横座標での値 と な り ます。 デ フ ォル ト : 100
inittextstate
(論理値。 PDF_fit_textline( ) でのみ可) true の場合、 すべてのテキス ト 書式オプ シ ョ ンがデ フ ォ ル
ト 値で初期化 さ れます。 false の場合、 カ レ ン ト テキス ト ス テー ト 値群が用い られます。 デ フ ォ ル
ト : false
italicangle
(float。 縦書き では使え ません) テキス ト のイ タ リ ッ ク (斜体) 角度を度単位で (-90° と 90° の
間で) 表 し た もの。 負の値を利用すれば、 特に日中韓 フ ォ ン ト な ど、 正立 フ ォ ン ト し か得ら れな
い と き に、 斜体に見せる こ と がで き ます。 デ フ ォ ル ト : 0
kerning
(論理値) true にする と 、 readkerning オプ シ ョ ン を付けて開いてある フ ォ ン ト に対 し て カ ーニ ン
グ を有効に し ます。 そ う でないな ら カ ーニ ング を無効に し ます。2 デ フ ォル ト : グ ローバルオプ
シ ョ ン kerning
leading
(float またはパーセ ン ト 値) 複数行テキス ト に対する行送 り 、 すなわち、 テキス ト の隣 り 合 う 行の
ベース ラ イ ンの間隔を、 ユーザー座標における絶対値か、 fontsize に対するパーセ ン ト 値 と し て
指定 し ます。 こ の行送 り を文字サイ ズに等 し く 設定する と 、 詰ま っ た行間にな り ます。 ただ し 、
隣 り 合 う 行のア セ ン ダ と デ ィ セ ン ダは、 通常は重な り 合いません (leading=0 と する と 行が重な り
合います)。 デ フ ォ ル ト : 100%
PDF_add/create_textflow( ) に対する行送 り は次のよ う に決定 さ れます : 行の先頭にオプ シ ョ ン リ ス
ト 群がある場合には、 行送 り は、 最後の関連するオプ シ ョ ン (font ・ fontsize ・ leading な ど) に
よ っ て決定 さ れます。 同一行上に さ ら にオプ シ ョ ン リ ス ト 群があ る場合には、 行送 り に関連する
オプ シ ョ ン群はいずれも、 fixedleading=false の場合にのみ考慮 さ れます。 その行にオプ シ ョ ン
リ ス ト が全 く ない場合には、 直前の行送 り 値が用い ら れます。
overline
82
(論理値) true の場合、 テキス ト の上方に線が引かれます。 デ フ ォル ト : false
第 4 章 : フ ォ ン ト ・ テキス ト 関数
表 4.7 PDF_set_text_option( ) ・ PDF_fit/info_textline( ) ・ PDF_fill_textblock( ) ・ PDF_add/create_textflow( ) テキス ト 書式
オプ シ ョ ン
オプ シ ョ ン
説明
shadow
(オプ シ ョ ン リ ス ト 。 PDF_fit_textline( ) ・ PDF_fill_textblock( ) ・ PDF_add/create_textflow( ) でのみ意味
を持ち ます) テキス ト に影付き効果を作成 し ます (デ フ ォル ト : 影な し ) :
disable
(論理値。 PDF_add/create_textflow( ) でのみ可) true の場合、 以前に指定 さ れた影が無効
に さ れます。 デ フ ォル ト : false
fillcolor
(色) 影の塗 り 色。 デ フ ォ ル ト : {gray 0.8}
gstate
(Gstate ハン ド ル) PDF_create_gstate( ) を用いて作成 さ れた、 影に適用 さ れるグ ラ フ ィ ッ
ク ス テー ト 。 デ フ ォル ト : な し
offset
(2 個の float かパーセ ン ト 値の リ ス ト ) テキス ト の参照点か らの影のオ フ セ ッ ト を、 ユー
ザー座標で、 または文字サイ ズに対するパーセ ン ト 値 と し て表 し た も の。 デ フ ォル ト :
{5% -5%}
strokecolor (色。 textrendering がテキス ト を描線する よ う 設定 さ れている場合のみ効果を持ち ま
す) 影の描線色。 デ フ ォ ル ト : カ レ ン ト 描線色
strokewidth (float。 パーセ ン ト 値かキーワー ド 。 textrendering がテキス ト を描線する よ う 設定 さ れ
ている場合のみ効果を持ち ます) 影の中の袋文字テキス ト の線幅 (ユーザー座標で、 ま
たは文字サイ ズに対するパーセ ン ト 値 と し て表 し た もの)。 キーワー ド auto か、 こ れに
等価な値 0 は、 内蔵のデ フ ォ ル ト を使用 し ます。 デ フ ォ ル ト : メ イ ン テキス ト も テキス
ト を描線する よ う 設定 さ れている場合にはカ レ ン ト 描線幅、 そ う でない場合は auto
textrendering
(整数) 影のテキス ト 表現モー ド 。 デ フ ォ ル ト : textrendering のカ レ ン ト 値
strikeout
(論理値) true の場合、 テキス ト を貫いて線が引かれます。 decorationabove も参照 し て く だ さ
い。 デ フ ォル ト : false
strokecolor
(色。 描線 さ れた テキス ト でのみ有効。 textrendering を参照) テキス ト の描線色。 デ フ ォ ル ト :
fillcolor 参照
strokewidth
(float ・ パーセ ン ト 値 ・ キーワー ド のいずれか。 textrendering を テキス ト を描線する よ う 設定 し
ている場合のみ有効) 袋文字テキス ト の線幅 (絶対値、 または fontsize に対する比で)。 キー
ワー ド auto か、 それ と 等価な値 0 を指定する と 、 内蔵のデ フ ォル ト を用います。 デ フ ォル ト :
auto
tagtrailinghyphen
(Unichar かキーワー ド 。 タ グ付き PDF でのみ意味を持ち ます) テキス ト (グ リ フ 置換を適用 し た
場合は、 その後の) の中の最後のキ ャ ラ ク タ が、 指定 さ れた Unicode 値に等 し い場合には、 その
フ ォ ン ト によ っ て要請 さ れる場合には ActualText ソ フ ト ハイ フ ン U+00AD を持っ た Span と し て
タ グ付け さ れ、 かつ autospace は付加 さ れません。 キーワー ド none と する と 、 ソ フ ト ハイ フ ンの
ための タ グ付けは一切行われません。 デ フ ォル ト : U+00AD
4.2 テキス ト フ ィ ル タ ・ 書式オプ シ ョ ン
83
表 4.7 PDF_set_text_option( ) ・ PDF_fit/info_textline( ) ・ PDF_fill_textblock( ) ・ PDF_add/create_textflow( ) テキス ト 書式
オプ シ ョ ン
オプ シ ョ ン
説明
textrendering
(整数) テキス ト 表現モー ド 。 Type 3 フ ォ ン ト の場合は、 textrendering=3 だけが効力を持ち ます
(デ フ ォル ト : 0) :
0
P
1
2
P
3
テキス ト を塗る
4
テキス ト を塗 り 、 ク リ ッ ピ ングパスに追加
テキス ト を描線 (袋文字) 5
テキス ト を描線 し 、 ク リ ッ ピ ングパスに追加
テキス ト を塗っ て描線
6
テキス ト を塗っ て描線 し 、 ク リ ッ ピ ングパスに追加
不可視テキス ト
7
テキス ト を ク リ ッ ピ ングパスに追加
textrendering=4/5/6/7 (ク リ ッ ピ ングモー ド 群) の動作 :
> PDF_fit_textflow( ) ・ PDF_fit_table( ) ・ PDF_fill_textblock( ) ・ PDF_fit_textline( ) の後には、 textpath オ
プ シ ョ ンが指定 さ れている場合には、 ク リ ッ ピ ング効果はあ り ません。
> ク リ ッ ピ ング領域は、 単純テキス ト 出力関数群への複数回の呼び出 し にわた っ て蓄積する こ と が
で き ますが、 PDF_fit_textline( ) への複数回の呼び出 し にわた っ ては蓄積 さ れません。
> PDF_fit_textline( ) : 指定 さ れた fillcolor と strokecolor は、 関数呼び出 し の後に も 有効 と な り ま
す。
textrise
(float またはパーセ ン ト 値) テキス ト ラ イ ズ値。 テキス ト を配置 し たい位置 と ベース ラ イ ン と の間
隔を指定 し ます。 正の値のテキス ト ラ イ ズはテキス ト を上へ移動 さ せます。 テキス ト ラ イ ズはつ
ねに縦座標での値 と な り ます。 こ れは、 上付き ・ 下付き を さ せたい と き に有用で し ょ う 。 パーセ
ン ト 値は fontsize に対する比です。 デ フ ォル ト : 0
underline
(論理値) true の場合、 テキス ト の下方に線が引かれます。 デ フ ォル ト : false
underlineposition
(float ・ パーセ ン ト 値 ・ キーワー ド のいずれか) 下線テキス ト の下線の位置を、 ベース ラ イ ンか ら
の距離で (絶対値か、 ま たは文字サイ ズに対する比。 代表的な値は -10%) 指定 し ます。 キーワー
ド auto を指定する と 、 フ ォ ン ト の メ ト リ ッ ク またはアウ ト ラ イ ン フ ァ イルか ら取得 さ れる フ ォ ン
ト 固有の値が採用 さ れます。 デ フ ォ ル ト : auto
underlinewidth
(float ・ パーセ ン ト 値 ・ キーワー ド のいずれか) テキス ト の下線の線幅 (絶対値か、 ま たは文字サ
イ ズに対する比)。 キーワー ド auto か値 0 を指定する と 、 フ ォ ン ト の メ ト リ ッ ク またはアウ ト ラ
イ ン フ ァ イルから フ ォ ン ト 固有の値が得 られる場合はそれが採用 さ れ、 そ う でないな ら 5% と な り
ます。 デ フ ォ ル ト : auto
wordspacing (float またはパーセ ン ト 値) 単語間隔。 すなわち、 行内の個々の単語を配置 し た後のカ レ ン ト 点の
変位。 言い換えれば、 カ レ ン ト 点が、 各スペースキ ャ ラ ク タ (U+0020) の後で横へ移動 さ れます。
値は、 ユーザー座標系で表すか、 または文字サイ ズに対する比で指定 し ます。 デ フ ォ ル ト : 0
1. こ の値は、 以後、 単純テキス ト 出力関数群 と inittextstate=false を伴 う PDF_fit_textline( ) への呼び出 し のための PDF_
setcolor( ) に よ っ てオーバラ イ ド さ れる こ と があ り ます。
2. この値は、 以後、 同 じ オ プ シ ョ ン を伴 う PDF_set_option( ) への呼び出 し に よ っ てオーバ ラ イ ド さ れる こ と があ り ます。
C++ Java C# void set_text_option(String optlist)
Perl PHP set_text_option(string optlist)
C void PDF_set_text_option(PDF *p, const char *optlist)
単純テ キ ス ト 出力関数群のための 1個ない し 複数のテ キ ス ト フ ィ ル タ ま たはテ キ ス ト 書式
オプシ ョ ン を設定 し ます。
optlist
84
フ ォ ン ト ・ テ キ ス ト オプシ ョ ン群を以下の よ う に指定 し たオプシ ョ ン リ ス ト :
第 4 章 : フ ォ ン ト ・ テキス ト 関数
> 表 4.6 に従っ た テ キ ス ト フ ィ ル タ オプシ ョ ン群 :
actualtext ・ charref ・ escapesequence ・ glyphcheck ・ textformat
> 表 4.7 に従っ た テ キ ス ト 書式オプシ ョ ン群 :
charspacing ・ dasharray ・ decorationabove ・ fakebold ・ fillcolor ・ font ・ fontsize ・ gstate ・
horizscaling・inittextstate・italicangle・kerning・leading・overline・strikeout・strokecolor・
strokewidth ・ tagtrailinghyphen ・ textrendering ・ textrise ・ underline ・ underlineposition ・
underlinewidth ・ wordspacing
詳細 テ キ ス ト オプシ ョ ン群の値群は、 すべての単純テ キ ス ト 出力関数 と 、 inittextstate=false を
伴 う PDF_fit_textline( ) に対 し て意味を持ち ます。 PDF_set_text_option( ) への呼び出 し を、
PDF_setfont( ) ・ PDF_setcolor( ) への呼び出 し と 混在 さ せ る べ き ではあ り ません。
すべてのテ キ ス ト オプシ ョ ンは、 ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ記述の開
始でそれ ら のデフ ォ ル ト 値へ リ セ ッ ト さ れ、 そ し て カ レ ン ト のページ ・ パ タ ーン ・ テ ン プ
レー ト ・ グ リ フ ス コ ープが終了す る ま でそれ ら の値を保持 し ます。 ただ し 、 テ キ ス ト オプ
シ ョ ン群を inittextstate オプシ ョ ン を用いて リ セ ッ ト す る こ と も で き ます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
4.2 テキス ト フ ィ ル タ ・ 書式オプ シ ョ ン
85
4.3 単純テ キス ト 出力
こ の節で挙げ る 関数群は、 低レベルテ キ ス ト 出力のために使 う こ と がで き ます。 よ り 高度
なテ キ ス ト 出力のためには、 よ り 強力なテ キ ス ト 行 ・ テ キ ス ト フ ロ ー関数群を使 う こ と を
推奨 し ます (95 ページ 「5.1 テ キ ス ト 行に よ る 一行テ キ ス ト 」 ・ 102 ページ 「5.2 テ キ ス ト
フ ロ ーに よ る 複数行テ キ ス ト 」 参照)。
C++ Java C# void PDF_setfont(int font, double fontsize)
Perl PHP setfont(int font, float fontsize)
C void PDF_setfont(PDF *p, int font, double fontsize)
カ レ ン ト フ ォ ン ト を、 指定す る サ イ ズで設定 し ます。
font
PDF_load_font( ) に よ っ て返 さ れた フ ォ ン ト ハン ド ル。
fontsize 文字サ イ ズ を、 カ レ ン ト ユーザー座標系の単位で測っ た も の。 文字サ イ ズは 0
に し てはいけ ません。 文字サ イ ズ を負の値にす る と 、 カ レ ン ト 変換行列について鏡映 さ れ
たテ キ ス ト にな り ます。
詳細
こ の関数は、 単純テ キ ス ト 出力関数群 (PDF_show( ) ・ PDF_fit_textline( ) な ど) で用い ら れ
る べ き フ ォ ン ト と 文字サ イ ズ を設定 し ます。 こ れは、 PDF_set_text_option( ) を オプシ ョ ン
リ ス ト font=< フ ォ ン ト > fontsize=< 文字サ イ ズ > と と も に呼び出 し た場合 と ほぼ同等で
す。 ただ し 、 PDF_set_text_option( ) と 異な り 、 こ の関数は、 leading テ キ ス ト オプシ ョ ン
を fontsize に設定 し ます。
フ ォ ン ト は、 ページ ご と に、 いかな る 単純テ キ ス ト 出力関数を呼び出す よ り も 前に設
定す る 必要があ り ます。 フ ォ ン ト の設定はページ を超え て保持 さ れません。
PDF_setfont( ) よ り も PDF_set_text_option( ) を使用する こ と を推奨 し ます。PDF_setfont( )
への呼び出 し を PDF_set_text_option( ) への呼び出 し と 混在 さ せ る べ き ではあ り ません。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
C++ Java C# void set_text_pos(double x, double y)
Perl PHP set_text_pos(float x, float y)
C void PDF_set_text_pos(PDF *p, double x, double y)
ページ上の単純テ キ ス ト 出力のための位置を設定 し ます。
x・y
新たなテ キ ス ト 位置
詳細 テ キ ス ト 位置は、 ページが始ま る ご と にデフ ォ ル ト 値 (0, 0) に設定 さ れます。 グ ラ フ ィ ッ
ク のためのカ レ ン ト 点 と 、 カ レ ン ト テ キ ス ト 位置は、 別々に保持 さ れます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
86
第 4 章 : フ ォ ン ト ・ テキス ト 関数
C++ Java C# void show(String text)
Perl PHP show(string text)
C void PDF_show(PDF *p, const char *text)
C void PDF_show2(PDF *p, const char *text, int len)
テ キ ス ト を カ レ ン ト の フ ォ ン ト と サ イ ズでカ レ ン ト テ キ ス ト 位置に印字 し ます。
text (内容文字列) 印字 し たいテ キ ス ト 。 C で PDF_show( ) を使 う と き は、 text は null 終
了 と 前提 さ れてい る ので、 null バ イ ト を含んでいてはいけ ません。 null キ ャ ラ ク タ を含む
可能性のあ る 文字列に対 し ては PDF_show2( ) を使い ます。
len (PDF_show2( ) のみ) text の長 さ (バ イ ト 単位)。 len=0 にする と null 終了文字列を与
え る 必要があ り ます。
詳細
フ ォ ン ト と 文字サ イ ズ を あ ら か じ め、 PDF_setfont( ) か PDF_set_text_option( ) で設定 し て
お く 必要があ り ます。 カ レ ン ト テ キ ス ト 位置は、 印字 し た テ キ ス ト の末尾へ移動 し ます。
その最終グ リ フ の後では charspacing パ ラ メ ー タ が考慮 さ れます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
バインディング PDF_show2( ) は C でのみ得 ら れます。 なぜな ら 他のすべてのバ イ ンデ ィ ン グでは、 任意の
文字列内容を PDF_show( ) に与え る こ と がで き る か ら です。
C++ Java C# void show_xy(String text, double x, double y)
Perl PHP show_xy(string text, float x, float y)
C void PDF_show_xy(PDF *p, const char *text, double x, double y)
C void PDF_show_xy2(PDF *p, const char *text, int len, double x, double y)
テ キ ス ト を カ レ ン ト フ ォ ン ト で、 指定 し た位置に印字 し ます。
text (内容文字列) 印字 し たいテ キ ス ト 。 C で PDF_show_xy( ) を使 う と き は、 text は null
終了 と 前提 さ れてい る ので、 null バ イ ト を含んでいてはいけ ません。 null キ ャ ラ ク タ を含
む可能性のあ る 文字列に対 し ては PDF_show_xy2( ) を使い ます。
x・y
テ キ ス ト を印字 さ せたい位置をユーザー座標系で指定 し ます。
len (PDF_show_xy2( ) のみ) text の長 さ (バ イ ト 単位)。 len=0 にする と null 終了文字列
を与え る 必要があ り ます。
詳細
フ ォ ン ト と 文字サ イ ズ を あ ら か じ め、 PDF_setfont( ) か PDF_set_text_option( ) で設定 し て
お く 必要があ り ます。 カ レ ン ト テ キ ス ト 位置は、 印字 し た テ キ ス ト の末尾へ移動 し ます。
その最終グ リ フ の後では charspacing パ ラ メ ー タ が考慮 さ れます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
バインディング PDF_show_xy2( ) は C でのみ得 ら れます。 なぜな ら 他のすべてのバ イ ンデ ィ ン グでは、 任
意の文字列内容を PDF_show_xy( ) に与え る こ と がで き る か ら です。
4.3 単純テキス ト 出力
87
C++ Java C# void continue_text(String text)
Perl PHP continue_text(string text)
C void PDF_continue_text(PDF *p, const char *text)
C void PDF_continue_text2(PDF *p, const char *text, int len)
テ キ ス ト を次の行に印字 し ます。
text (内容文字列) 印字 し たいテ キ ス ト 。 こ れを空文字列にす る と 、 テ キ ス ト 位置はそ
れで も 次の行へ移動 し ます。 C で PDF_continue_text( ) を使 う と き は、 text は null 終了 と
前提 さ れてい る ので、 null バ イ ト を含んでいてはいけ ません。 null バ イ ト を含む可能性の
あ る 文字列に対 し ては PDF_continue_text2( ) を使い ます。
len (PDF_continue_text2( ) のみ) text の長 さ (バ イ ト 単位) 。 len=0 にす る と 、 PDF_
continue_text( ) 同様、 null 終了文字列を与え る 必要があ り ます。
詳細 テ キ ス ト の置かれ る 位置 (x ・ y 位置) と 、 行の間隔は、 leading テ キ ス ト オプシ ョ ン (PDF_
set_text_option( ) を用いて設定で き ます) と 、 も っ と も 最近の PDF_show_xy( ) か PDF_set_
text_pos( ) への呼び出 し に よ っ て決定 さ れます。 カ レ ン ト 位置は、 印字 し た テ キ ス ト の末
尾へ移動 し ます。 こ の関数を連続で呼び出す と 、 x 位置は変わ り ません。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ 。 こ の関数は縦書 き では使っ てはいけ ません。
バインディング PDF_continue_text2( ) は C でのみ得 ら れます。なぜな ら 他のすべてのバ イ ンデ ィ ン グでは、
任意の文字列内容を PDF_continue_text( ) に与え る こ と がで き る か ら です。
C++ Java C# double stringwidth(String text, int font, double fontsize)
Perl PHP float stringwidth(string text, int font, float fontsize)
C double PDF_stringwidth(PDF *p, const char *text, int font, double fontsize)
C double PDF_stringwidth2(PDF *p, const char *text, int len, int font, double fontsize)
任意の フ ォ ン ト でのテ キ ス ト の幅を返 し ます。
text (内容文字列) 幅を取得 し たいテ キ ス ト 。 C で PDF_stringwidth( ) を使 う と き は、 text
は null 終了 と 前提 さ れてい る ので、 null バ イ ト を含んでいてはいけ ません。 null バ イ ト を
含む可能性のあ る 文字列に対 し ては PDF_stringwidth2( ) を使い ます。
len (PDF_stringwidth2( ) のみ) text の長 さ (バ イ ト 単位)。 len=0 にする と null 終了文字
列を与え る 必要があ り ます。
font
PDF_load_font( ) に よ っ て返 さ れた フ ォ ン ト ハン ド ル。
fontsize
フ ォ ン ト のサ イ ズ を、 ユーザー座標の単位で測っ た も の。
戻り値 PDF_load_font( ) で選んでい る フ ォ ン ト と 、 与えた fontsize での、 text の幅。 返 さ れ る 幅は
負の値にな る こ と も あ り ます (負の横伸縮を設定 し てい る と き 等)。縦書 き の と き は、 も っ
と も 幅の広い グ リ フ の幅が返 さ れ ま す (テ キ ス ト の実際の高 さ を 知 る に は PDF_info_
textline( ) を使い ます)。
字間が指定 さ れてい る と き は、 それは最後のグ リ フ に も 適用 さ れ ます ( こ の動作は PDF_
info_textline( ) と は異な り ます)。
88
第 4 章 : フ ォ ン ト ・ テキス ト 関数
詳細 幅の計算にあ た っ ては、 次のテ キ ス ト オプシ ョ ン群 (PDF_set_text_option( ) で設定で き ま
す) のカ レ ン ト 値が考慮 さ れます : horizscaling ・ kerning ・ charspacing ・ wordspacing。
スコープ オブ ジ ェ ク ト 以外任意
バインディング PDF_stringwidth2( ) は C でのみ得 ら れます。 なぜな ら 他のすべてのバ イ ンデ ィ ン グでは、
任意の文字列内容を PDF_stringwidth( ) に与え る こ と がで き る か ら です。
C++ Java C# void xshow(String text, const double *xadvancelist)
C void PDF_xshow(PDF *p, const char *text, int len, const double *xadvancelist)
非推奨。 PDF_fit_textline( ) で xadvancelist オプシ ョ ン を用いて く だ さ い。
4.3 単純テキス ト 出力
89
4.4 ユーザー定義 (Type 3) フ ォ ン ト
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルがク ッ ク ブ ッ ク の fonts/starter_type3font ト ピ ッ ク にあ り ます。
C++ Java C# void begin_font(String fontname,
double a, double b, double c, double d, double e, double f, String optlist)
Perl PHP begin_font(string fontname,
float a, float b, float c, float d, float e, float f, string optlist)
C void PDF_begin_font(PDF *p, const char *fontname, int reserved,
double a, double b, double c, double d, double e, double f, const char *optlist)
Type 3 フ ォ ン ト の定義を開始 し ます。
(名前文字列) フ ォ ン ト を登録 し て、 以後の PDF_load_font( ) で使いたい名前。
fontname
reserved
(C 言語バ イ ンデ ィ ン グのみ) 予約済。 0 にする 必要があ り ます。
a・b・c・d・e・f (Type 3 フ ォ ン ト のサブセ ッ ト の と き の フ ォ ン ト 定義の 2 度目の呼び
出 し では無視 さ れます) フ ォ ン ト 行列の各要素。 こ の行列は、 グ リ フ が描かれ る 座標系を
定義 し ます。 6 個の値は、 PostScript と PDF と 同 じ 方式で行列を構成 し ます (各 リ フ ァ レ
ン ス を参照)。 縮退変換を避け る ため、 a×d は b×c と 等 し く し てはいけ ません。 代表的
な 1000×1000 の座標系に対す る フ ォ ン ト 行列は [0.001, 0, 0, 0.001, 0, 0] です。
optlist (サブセ ッ ト フ ォ ン ト の と き の 2 度目の呼び出 し では無視 さ れます)表 4.8 に従っ
たオプシ ョ ン リ ス ト 。次のオプシ ョ ンが使え ます:colorized・familyname・stretch・weight・
widthsonly
詳細
フ ォ ン ト には任意の数のグ リ フ を入れ ら れます。 フ ォ ン ト は、 カ レ ン ト の文書ス コ ープが
終わ る ま で使え ます。
スコープ オブ ジ ェ ク ト 以外任意。こ の関数は フ ォ ン ト ス コ ープ を開始 さ せます。照応する PDF_end_
font( ) と 必ずペアに し て呼び出す必要があ り ます。 サブセ ッ ト 化 さ れ る フ ォ ン ト の 2 度目
の呼び出 し については、 文書ス コ ープのみ許 さ れます。
表 4.8 PDF_begin_font( ) のオプ シ ョ ン
オプ シ ョ ン
説明
colorized
(論理値) true にする と 、 フ ォ ン ト はキ ャ ラ ク タ ご と にその色を明示的に指定する こ と がで き ま
す。 false にする と 、 キ ャ ラ ク タ はすべて カ レ ン ト カ ラ ー (フ ォ ン ト を定義 し た時点ではな く 使 う
時点の) で描かれるので、 グ リ フ 定義に色オペ レー タ またはマ ス ク 以外の画像を入れてはいけま
せん。 デ フ ォ ル ト : false
familyname1 (文字列。 PDF 1.5) フ ォ ン ト フ ァ ミ リ の名前
stretch1
(キーワー ド 。 PDF 1.5) フ ォ ン ト の幅の値 : ultracondensed ・ extracondensed ・ condensed ・
semicondensed ・ normal ・ semiexpanded ・ expanded ・ extraexpanded ・ ultraexpanded。 デ フ ォ ル
ト : normal
weight1
(整数ま たはキーワー ド 。 PDF 1.5) フ ォ ン ト の太 さ 。 と り う る数値ま たは同等のキーワー ド :
100=thin、 200=extralight、 300=light、 400=normal、 500=medium、 600=semibold、 700=bold、
800=extrabold、 900=black。 デ フ ォル ト : normal
90
第 4 章 : フ ォ ン ト ・ テキス ト 関数
表 4.8 PDF_begin_font( ) のオプ シ ョ ン
オプ シ ョ ン
説明
widthsonly
(論理値) true にする と (Type 3 フ ォ ン ト のサブ セ ッ ト 化の 1 回目の呼び出 し )、 フ ォ ン ト と グ リ
フ の メ ト リ ッ ク だけが定義 さ れます。 PDF_begin_glyph_ext( ) と PDF_end_glyph( ) の間では他の API
関数を一切呼び出すべき ではあ り ません。 他の関数を た と え呼び出 し て も 、 PDF 出力にはいかな
る効果も 与えず、 例外 も発生 し ません。 widthsonly=false の と きは (Type 3 フ ォ ン ト のサブ セ ッ
ト 化の 2 回目の呼び出 し )、 実際のグ リ フのアウ ト ラ イ ン を定義で き ます。 こ のよ う に 2 回の呼び
出 し に よ る定義によ り 、 PDFlib で Type 3 フ ォ ン ト のサブ セ ッ ト 化を実行する こ と が可能にな り ま
す。 デ フ ォル ト : false
1. こ れ ら のオ プ シ ョ ンは、 タ グ付き PDF を作成 し ている と き には強 く 推奨 し ますが、 それ以外の と きは無視 さ れます。
C++ Java C# void end_font( )
Perl PHP end_font( )
C void PDF_end_font(PDF *p)
Type 3 フ ォ ン ト の定義を終了 さ せます。
スコープ
フ ォ ン ト 。 こ の関数は フ ォ ン ト ス コ ープ を終了 さ せます。 照応す る PDF_begin_font( ) と 必
ずペアに し て呼び出す必要があ り ます。
C++ Java C# void begin_glyph_ext(int uv, String optlist)
Perl PHP begin_glyph_ext(int uv, string optlist)
C void PDF_begin_glyph_ext(PDF *p, int uv, const char *optlist)
Type 3 フ ォ ン ト のためのグ リ フ定義を開始 さ せます。
uv グ リ フ に対す る Unicode 値。 各 Unicode 値は、 1 個のグ リ フ記述に対 し てのみ与え る
こ と がで き ます。 Unicode 値 0 を持つグ リ フは、 そのグ リ フ が指定 さ れたか否かにかかわ
ら ず、 グ リ フ ID 0 と グ リ フ名 .notdef を得ます。
uv=-1 の場合、その Unicode 値は、glyphname オプシ ョ ンか ら 、PDFlib の内部グ リ フ名 リ
ス ト に従っ て導 き 出 さ れます。 グ リ フ名が未知の場合には、 PUA 値 (U+E000 か ら 始ま る )
が順次割 り 当て ら れます。こ の値は、PDF_info_font( ) を用いて ク エ リ す る こ と がで き ます。
optlist 表 4.9 に従っ たオプシ ョ ン リ ス ト 。 以下のオプシ ョ ン群が使え ます :
boundingbox ・ code ・ glyphname ・ width
詳細
フ ォ ン ト 内のグ リ フは、 テ キ ス ト ・ グ ラ フ ィ ッ ク ・ 画像関数を使っ て定義す る こ と がで き
ます。 ただ し 画像は、 フ ォ ン ト の colorized オプシ ョ ン を true に し てい る か、 ま たは画像
を mask オプシ ョ ン を指定 し て開いてい る と き に し か使え ません。 こ の関数は、 すべての
テ キ ス ト ・ グ ラ フ ィ ッ ク ・ 色ス テー タ ス パ ラ メ ー タ 群を、 それ ら のデフ ォ ル ト 値へ リ セ ッ
ト し ます。
colorized オプシ ョ ン を true に し てい る と き は、 今い る ページのグ ラ フ ィ ッ ク ス テー タ
ス が ま る ご と グ リ フ定義へ継承 さ れますので、グ リ フ定義に関係す る 種類のグ ラ フ ィ ッ ク
ス テー タ ス はすべて (linewidth 等)、グ リ フ定義の中で明示的に設定す る 必要があ り ます。
スコープ ページ ・ フ ォ ン ト 。 こ の関数はグ リ フ ス コ ープ を開始 さ せます。照応する PDF_end_glyph( )
と 必ずペアに し て呼び出す必要があ り ます。 PDF_begin_font( ) で widthsonly=true に し て
4.4 ユーザー定義 (Type 3) フ ォ ン ト
91
い る と き は、PDF_begin_glyph_ext( ) と PDF_end_glyph( ) の間の API 関数の呼び出 し はすべ
て無視 さ れます。
表 4.9 PDF_begin_glyph_ext( ) のオプ シ ョ ン
オプ シ ョ ン
説明
boundingbox
(4 個の float の リ ス ト 。 Type 3 フ ォ ン ト サブ セ ッ ト 群のための フ ォ ン ト 定義の第二パス内で、 かつ
そのフ ォ ン ト の colorized オプ シ ョ ンが true の場合には無視 さ れます) フ ォ ン ト の colorized オ
プ シ ョ ンが false の場合 ( こ れがデ フ ォ ル ト です) には、 グ リ フの外接枠の左下隅 と 右上隅の座
標。 こ の外接枠値群は、 PostScript 印刷での諸問題を避ける ため、 正 し く する必要があ り ます。 デ
フ ォル ト : {0 0 0 0}
code
(整数) そのグ リ フのス ロ ッ ト 番号、 すなわち、 その Type 3 フ ォ ン ト の内蔵エ ン コ ーデ ィ ング内に
おける そのバイ ト コ ー ド を指定 し ます。 デ フ ォ ル ト では、 グ リ フは作成 さ れた順にシーケ ン シ ャ
ルに付番 さ れます (0 から)。
glyphname
(文字列) グ リ フ の名前。 Unicode 0 を持つグ リ フ 0 に対する名前は強制的に .notdef と な り ます。
デ フ ォ ル ト : グ リ フ <i>=1,2,3,... に対 し て G<i>
width
(float。 必須。 Type 3 フ ォ ン ト サブ セ ッ ト 群のためのフ ォ ン ト 定義の第二パス内では無視 さ れま
す) グ リ フの幅を、 そのフ ォ ン ト のマ ト リ ッ ク スに よ っ て指定 さ れた通 り のグ リ フ座標系で表 し
た もの。
C++ Java C# void end_glyph( )
Perl PHP end_glyph( )
C void PDF_end_glyph(PDF *p)
Type 3 フ ォ ン ト のためのグ リ フ定義を終了 さ せます。
スコープ グ リ フ 。 こ の関数はグ リ フ ス コ ープか ら フ ォ ン ト ス コ ープへ移行 し ます。 照応する PDF_
begin_glyph_ext( ) と 必ずペアに し て呼び出す必要があ り ます。
C++ Java C# void begin_glyph(String glyphname, double wx, double llx, double lly, double urx, double ury)
Perl PHP begin_glyph(string glyphname, float wx, float llx, float lly, float urx, float ury)
C void PDF_begin_glyph(PDF *p,
const char *glyphname, double wx, double llx, double lly, double urx, double ury)
非推奨。 PDF_begin_glyph_ext( ) を使用 し て く だ さ い。
92
第 4 章 : フ ォ ン ト ・ テキス ト 関数
4.5 ユーザー定義 8 ビ ッ ト エ ン コ ーデ ィ ン グ
C++ Java C# void encoding_set_char(String encoding, int slot, String glyphname, int uv)
Perl PHP encoding_set_char(string encoding, int slot, string glyphname, int uv)
C void PDF_encoding_set_char(PDF *p, const char *encoding, int slot, const char *glyphname, int uv)
カ ス タ ムの 8 ビ ッ ト エン コ ーデ ィ ン グに、 グ リ フ名か Unicode 値ま たはその両方を追加 し
ます。
encoding エン コ ーデ ィ ン グの名前。 こ れは、 PDF_load_font( ) で使 う 必要のあ る 名前で
す。 こ のエン コ ーデ ィ ン グ名は、 あ ら ゆ る 組み込みエン コ ーデ ィ ン グ と 、 以前に使っ た あ
ら ゆ る エン コ ーデ ィ ン グ と 異な っ てい る 必要があ り ます。
slot 定義 し たいキ ャ ラ ク タ の位置を 0 ≦ slot ≦ 255 で指定 し ます。 1 つのエン コ ーデ ィ
ン グ内では、 各ス ロ ッ ト はそれぞれ 1 回だけ定義す る こ と がで き ます。
glyphname
uv
詳細
キ ャ ラ ク タ の名前。
キ ャ ラ ク タ の Unicode 値。
こ の関数は、非標準 8 ビ ッ ト エン コ ーデ ィ ン グ を処理 し なければな ら ない特殊な応用にお
いてのみ必要 と な り ます。 複数回呼び出 し て、 エン コ ーデ ィ ン グ内の最大 256 個のキ ャ ラ
ク タ ス ロ ッ ト を定義す る こ と がで き ま す。 そのエ ン コ ーデ ィ ン グ を初めて使 う 前で あれ
ば、 キ ャ ラ ク タ を追加 し てい く こ と がで き ますが、 そ う でなければ例外が発生 し ます。 す
べての コ ー ド 点を指定す る 必要はな く 、 未定義の ス ロ ッ ト には .notdef と U+0000 が書か
れます。
グ リ フ名 と Unicode 値 と の組み合わせは 3 通 り が可能です。
> glyphname を与え、 uv=0 : こ れは、 Unicode 値を持た ないエン コ ーデ ィ ン グ フ ァ イ ル と
同等です。
> uv を与え るが、 glyphname を与えない : こ れは、 コ ー ド ページ フ ァ イル と 同等です。
> glyphname と uv を与え る: こ れは、Unicode 値を持つエン コ ーデ ィ ン グ フ ァ イ ル と 同等
です。
1 つのエン コ ーデ ィ ン グの中で、各グ リ フ名 /Unicode 値を 1 度だけ与え る こ と を強 く 推奨
し ます (.notdef/U+0000 を除いて)。 ス ロ ッ ト 0 が使用 さ れ る 場合には、 それは .notdef
キ ャ ラ ク タ を内容 と す る べ き です。
エン コ ーデ ィ ン グ を Type 3 フ ォ ン ト で使 う こ と を意図 し てい る 場合は、 エン コ ーデ ィ
ン グ ス ロ ッ ト 群を グ リ フ名だけで指定す る こ と を推奨 し ます。
定義 し たエ ン コ ーデ ィ ン グは、 カ レ ン ト のオブ ジ ェ ク ト ス コ ープが終わ る ま で使え ま
す。
スコープ 任意
4.5 ユーザー定義 8 ビ ッ ト エ ン コ ーデ ィ ング
93
94
第 4 章 : フ ォ ン ト ・ テキス ト 関数
5 テキス ト と 表の組版
5.1 テキス ト 行に よ る一行テキス ト
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルが ク ッ ク ブ ッ クの text_output/starter_textline ト ピ ッ ク にあ り ま
す。
C++ Java C# void fit_textline(String text, double x, double y, String optlist)
Perl PHP fit_textline(string text, float x, float y, string optlist)
C void PDF_fit_textline(PDF*p, const char *text, int len, double x, double y, const char *optlist)
一行のテ キ ス ト を位置 (x, y) に、 さ ま ざ ま なオプシ ョ ンに従っ て配置 し ます。
(内容文字列) ページ上に配置 し たいテ キ ス ト 。
text
(C 言語バ イ ンデ ィ ン グのみ) text が UTF-16 文字列の と き の長 さ (バ イ ト 単位)。
len
len=0 にす る と null 終了文字列を与え る 必要があ り ます。
x・y
テ キ ス ト を さ ま ざ ま なオプシ ョ ンに従っ て配置 し たい参照点の座標を、ユーザー座
標系で指定 し ます。 はめ込みアルゴ リ ズ ムの説明は 131 ページ 「6.1 オブジ ェ ク ト のはめ
込み」 を参照。
optlist
フ ォ ン ト ・ テ キ ス ト ・ 組版オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト 。 以下のオ
プシ ョ ンが使え ます :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> 表 4.2 で暗黙的フ ォ ン ト 読み込み (すなわち、テ キ ス ト 書式グループの font オプシ ョ ン
を与えない) の場合に従っ た フ ォ ン ト 読み込みオプシ ョ ン群 :
ascender ・ autosubsetting ・ capheight ・ descender ・ embedding ・ encoding ・
fallbackfonts ・ fontname ・ fontstyle ・ keepnative ・ linegap ・ metadata ・ monospace ・
readfeatures ・ replacementchar ・ subsetlimit ・ subsetminsize ・ subsetting ・ unicodemap ・
vertical ・ xheight
> 表 4.6 に従っ た テ キ ス ト フ ィ ル タ オプシ ョ ン群 :
actualtext ・ charref ・ escapesequence ・ glyphcheck ・ normalize ・ textformat
> 表 4.7 に従っ た テ キ ス ト 書式オプシ ョ ン群 :
charspacing ・ dasharray ・ decorationabove ・ fakebold ・ fillcolor ・ font ・ fontsize ・
gstate ・ horizscaling ・ inittextstate ・ italicangle ・ kerning ・ leading ・ overline ・ shadow ・
strikeout ・ strokecolor ・ strokewidth ・ textrendering ・ textrise ・ underline ・
underlineposition ・ underlinewidth ・ wordspacing
> 表 5.1 に従っ た テ キ ス ト 行組版のためのオプシ ョ ン群 :
justifymethod ・ leader ・ textpath ・ xadvancelist
> 表 5.4 に従っ た シ ェーピ ン グ ・ タ イ ポグ ラ フ ィ オプシ ョ ン群 :
features ・ language ・ script ・ shaping
> 表 6.1 に従っ たはめ込みオプシ ョ ン群 :
alignchar ・ blind ・ boxsize ・ fitmethod ・ margin ・ matchbox ・ orientate ・ position ・
rotate ・ stamp ・ showborder ・ shrinklimit
5.1 テキス ト 行に よ る一行テキス ト
95
詳細 inittextstate=false ( こ れがデフ ォ ル ト です) にする と 、 カ レ ン ト のテ キ ス ト ・ グ ラ フ ィ ッ
ク ス テー ト オプシ ョ ン群が、 オプシ ョ ンで明示的にオーバ ラ イ ド し ない限 り 、 テ キ ス ト 出
力の書式の制御に用い ら れます。
inittextstate=true にす る と 、 テ キ ス ト ・ グ ラ フ ィ ッ ク ス テー ト オプシ ョ ン群のデフ ォ
ル ト 値が、 オプシ ョ ンで明示的にオーバ ラ イ ド し ない限 り 、 テ キ ス ト 出力の書式の制御に
用い ら れます。 テ キ ス ト 行オプシ ョ ン群は、 今回の PDF_fit_textline( ) への呼び出 し よ り 後
に生成す る 出力では効力を持ち ません。
カ レ ン ト のテ キ ス ト ・ グ ラ フ ィ ッ ク ス テー タ ス は、 こ の関数に よ っ て変更を受け ませ
ん (特に、 カ レ ン ト フ ォ ン ト は影響を受け ません) 。 ただ し 、 textx/texty オプシ ョ ンは、
生成 し た テ キ ス ト 出力の末尾位置へ変更 さ れます。 その末尾グ リ フ の後では charspacing
パ ラ メ ー タ が考慮 さ れません。
PDF_continue_text( ) に対す る 参照点は、 テ キ ス ト の先頭には設定 さ れません。 PDF_fit_
textline( ) の後に PDF_continue_text( ) を使 う ためには、 開始点を PDF_info_textline( ) と
startx/starty キーワ ー ド で取得 し て、 テ キ ス ト 位置を PDF_set_text_pos( ) で設定す る 必要
があ り ます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ 。
表 5.1 PDF_fit_textline( ) の追加オプ シ ョ ン
オプ シ ョ ン
説明
justifymethod
(キーワー ド の リ ス ト 。 fitmethod=auto と stamp=none の場合にのみ意味を持ち ます。 boxsize を
必要 と し ます。 縦書き では無視 さ れます) テキス ト がはめ こ み枠か らはみ出 さ ないよ う にする た
めに、 文字サイ ズを変えずに 1 個ない し 複数の組版方式を適用 し ます。 以下のキーワー ド の う ち
の 1 個ない し 複数を与え る こ と がで き ます。 複数のキーワー ド が存在する場合には、 調整は以下
の順に適用 さ れます : wordspacing、 charspacing、 horizscaling (デ フ ォ ル ト : none) :
charspacing 適切な charspacing 値を用いて調整。
horizscaling 適切な horizscaling 値を用いて調整。
none
調整な し
wordspacing
適切な wordspacing 値を用いて調整。 テキス ト が空白キ ャ ラ ク タ を含んでいない場合に
は、 wordspacing 調整は適用 さ れません。
leader
(オプ シ ョ ン リ ス ト 。 boxsize を指定 し ていない と き、 または枠の幅が 0 の と きは無視 さ れます)
隙間埋めテキス ト (点 リ ーダ等) と 組版オプ シ ョ ン群を指定 し ます。 リ ーダは、 テキス ト 枠の端
と テキス ト の間に繰 り 返 し 挿入 さ れます。
使え るサブオプ シ ョ ンの一覧は表 5.3 を参照。 デ フ ォ ル ト : リ ーダな し
96
第 5 章 : テキス ト と 表の組版
表 5.1 PDF_fit_textline( ) の追加オプ シ ョ ン
オプ シ ョ ン
説明
textpath
(オプ シ ョ ン リ ス ト ) テキス ト をパスに沿っ て描き ます。 パスの終端か らはみ出 し た テキス ト は表
示 さ れません。 showborder=true にする と 、 パスがカ レ ン ト の線幅 と 描線色で描かれます。 表 5.2
に挙げるオプ シ ョ ンに加え、 PDF_draw_path( ) の以下のオプ シ ョ ン を使え ます :
align・attachmentpoint・boxsize・fitmethod・orientate・scale (表 6.1 参照)
close・round・subpaths (表 7.7 参照)
bboxexpand・boundingbox (表 7.7 参照)
PDF_fit_textline( ) の以下のオプ シ ョ ン群は、 パス上テキス ト については意味が変わ り ます :
matchbox 各グ リ フ に対 し て個別の枠が生成 さ れます。
position
1 番目の値は、 パスの長 さ に対する テキス ト の相対的な開始位置 (left/center/right)
を指定 し ます。 テキス ト がパス よ り 長い場合は、 テキス ト はつねに startoffset から 始
ま り ます。 2 番目の値は、 パスに対する各グ リ フの相対的な縦位置を、 すなわちグ リ フ
枠のどの部分がパスに接するか (bottom/center/top) を指定 し ます。
rotate
各グ リ フ の回転角を指定 し ます。
以下のはめ込み枠関連のオプ シ ョ ン群は無視 さ れます :
boxsize ・ margin ・ fitmethod ・ orientate ・ alignchar ・ showborder ・ stamp ・ leader
カ ーニ ング と 、 日中韓レ ガシ エ ン コ ーデ ィ ングに よ る テキス ト は、 パス上テキス ト では対応 し て
いません。
xadvancelist
(float の リ ス ト 。 shaping=true の場合には無視 さ れます) テキス ト 内のグ リ フ群の変位幅を指定 し
ます。 リ ス ト の要素数は、 テキス ト のグ リ フ数以下にする必要があ り ます。 標準のグ リ フ幅のか
わ り に、 こ の xadvance 値がそれぞれ使われます。 それ以外のカ ーニ ングや字間な どの書式では効
力を持ち ません。
表 5.2 PDF_fit_textline( ) の textpath オプ シ ョ ンの追加サブオプ シ ョ ン
オプ シ ョ ン
説明
path
(パスハン ド ル。 必須) テキス ト 出力のためのベース ラ イ ン と し て使いたいパス。 デ フ ォル ト で
は、 テキス ト はパスの左側に配置 さ れ、 パスはテキス ト のベース ラ イ ン と な り ます。 し か し 、
position オプ シ ョ ンの 2 番目のキーワー ド を top にする と 、 テキス ト はパスの反対側に配置 さ れ、
テキス ト の上端がパスに接 し ます。 PDF_fit_textline( ) の引数 x ・ y がパスの参照点 と し て用い られ
ます。
startoffset
(float またはパーセ ン ト 値) テキス ト のパス上の開始点の変位を、 ユーザー座標で、 ま たはパスの
長 さ に対するパーセ ン ト 値で指定 し ます。 デ フ ォ ル ト : 0
tolerance
(float またはパーセ ン ト 値) パスの末尾グ リ フがどの く ら いパスか らはみ出て も よいかを指定 し ま
す。 値は、 ユーザー座標で、 または文字サイ ズに対するパーセ ン ト 値で指定 し ます。 デ フ ォル ト :
25%
5.1 テキス ト 行に よ る一行テキス ト
97
表 5.3 PDF_fit_textline( ) ・ PDF_add/create_textflow( ) と 、 PDF_create_textflow( ) のイ ン ラ イ ン オプ シ ョ ンの、 leader
オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
フォン ト読
み込みオプ
シ ョ ン群
フ ォ ン ト を暗黙的に (すなわち、 font オプ シ ョ ン ではな く fontname ・ encoding オプ シ ョ ン を用い
て) 指定する と きは、 表 4.3 に従っ たすべてのフ ォ ン ト 読み込みオプ シ ョ ン をサブオプ シ ョ ン と し
て与え る こ と がで き ます。
alignment
(キーワー ド 1 個または 2 個) 1 番目のキーワー ド は、 はめ込み枠左端 と テキス ト 行の間の リ ーダ
の整列を指定 し ます。 2 番目のキーワー ド は、 テキス ト 行 と はめ込み枠右端の間の リ ーダの整列を
指定 し ます。 キーワー ド を 1 個だけ指定する と 、 テキス ト 行 と はめ込み枠右端の間の リ ーダに対
し て使われます。 使え るキーワー ド (テキス ト 行の場合のデ フ ォル ト : {none grid}。 テキス ト フ
ローの場合のデ フ ォ ル ト : grid) :
center
テキス ト 行 : リ ーダは、 テキス ト 行 と はめ込み枠端の間で両端揃え さ れます。
テキス ト フ ロー : リ ーダは、 最後の部分テキス ト (あ るいはテキス ト がない と きは行の
先頭) と タ ブ位置 (あ るいは タ ブがない と きは行の末尾) と の間で中央揃え さ れます。
grid
PDFlib は、 テキス ト 行の左ま たは右へ、 リ ーダ テキス ト の幅の半分の倍数ご と にグ リ ッ
ド を仮想 し 、 リ ーダ テキス ト の位置を、 その次のグ リ ッ ド に吸着 さ せます。 これによ
り 、 テキス ト 行 と リ ーダ テキス ト の間に、 リ ーダテキス ト の幅の最大 50% のアキが生 じ
ます。
justify
テキス ト 行 : リ ーダは、 適切な字間を適用する こ と に よ り 、 テキス ト 行 と はめ込み枠端
の間で両端揃え さ れます。
テキス ト フ ロー : リ ーダは、 適切な字間を適用する こ と によ り 、 最後の部分テキス ト
(あ るいはテキス ト がない と きは行の先頭) と タ ブ位置 (あるいは タ ブがない と きは行
の末尾) と の間で両端揃え さ れます。
left
それぞれ リ ーダは、 はめ込み枠左端から 、 またはテキス ト 行末尾か ら開始 し て繰 り 返 さ
れます。 こ れを指定する と それぞれ、 テキス ト 行先頭に、 またははめ込み枠右端に隙間
が生 じ る可能性があ り ます。
none
リ ーダな し
right
それぞれ リ ーダは、 はめ込み枠右端から 、 またはテキス ト 行先頭か ら開始 し て繰 り 返 さ
れます。 こ れを指定する と それぞれ、 テキス ト 行末尾に、 またははめ込み枠左端に隙間
が生 じ る可能性があ り ます。
fillcolor
(色) リ ーダの色。 デ フ ォ ル ト : テキス ト 行の色
font
(フ ォ ン ト ハン ド ル) リ ーダに対 し て使いたい フ ォ ン ト のハン ド ル。 デ フ ォル ト : テキス ト 行の
フォン ト
fontsize
(文字サイ ズ) リ ーダのサイ ズ。 デ フ ォ ル ト : テキス ト 行の文字サイ ズ
text
(内容文字列) リ ーダに使いたいテキス ト 。 デ フ ォ ル ト : U+002E 「.」 (ピ リ オ ド )
yposition
(float またはキーワード)リーダの縦位置を、ベースラインに対して相対的に、数値またはキー
ワード fontsize・ascender・xheight・baseline・descender・textrise のいずれかで指定しま
す。デフォルト:baseline
C++ Java C# double info_textline(String text, String keyword, String optlist)
Perl PHP float info_textline(string text, string keyword, string optlist)
C double PDF_info_textline(PDF *p, const char *text, int len, const char *keyword, const char *optlist)
テ キ ス ト 行の組版を、 出力を生成せず仮想的に行な っ て、 その結果の メ ト リ ッ ク を取得 し
ます。
text
98
(内容文字列) テ キ ス ト 行の内容。
第 5 章 : テキス ト と 表の組版
表 5.4 PDF_fit/info_textline( ) ・ PDF_add/create_textflow( ) ・ PDF_fill_textblock( ) に対する シ ェ ーピ ング ・ タ イ ポグ ラ
フ ィ オプ シ ョ ン
オプ シ ョ ン
説明
features
(キーワー ド の リ ス ト ) script ・ language オプ シ ョ ンに従っ て、 OpenType フ ォ ン ト のどの タ イ ポ
グ ラ フ ィ 機能がテキス ト に適用 さ れるかを指定 し ます。 フ ォ ン ト 内に存在 し ない機能に対する
キーワー ド は、 警告を出 さ ずに無視 さ れます。 以下のキーワー ド を与え る こ と が可能です :
_none
<name>
フ ォ ン ト 内の機能を一切適用 し ません。 ただ し 例外 と し て、 vert 機能は novert キー
ワー ド で明示的に無効化する必要があ り ます。
機能を有効にする ために、 その 4 文字の OpenType 名を与え ます。 よ く 使われる機能名
は liga ・ ital ・ tnum ・ smcp ・ swsh ・ zero です。 対応 し ているすべての機能の名前 と 説
明の完全な一覧は PDFlib チ ュ ー ト リ アルにあ り ます。
no<name> 機能名の前に接頭辞 no を付ける と (例 : noliga) この機能が無効化 さ れます。
デ フ ォル ト : 横書き では _none、 縦書き では vert。
language
(キーワー ド 。 script を与え ている と きのみ意味を持ち ます) 指定 し た言語に従っ て テキス ト が処
理 さ れます。 こ れは features ・ shaping オプ シ ョ ン に対 し て意味を持ち ます。 キーワー ド の完全
な一覧は PDFlib チ ュ ー ト リ アルにあ り ます。 例 : ARA (ア ラ ビ ア語) ・ JAN (日本語) ・ HIN ( ヒ ン
デ ィ ー語)。 デ フ ォ ル ト : _none (言語未定義)
script
(キーワー ド 。 shaping=true な ら 必須) 指定 し た用字系に従 っ て テキス ト が処理 さ れます。 こ れは
features ・ shaping ・ advancedlinebreak オプ シ ョ ンに対 し て意味を持ち ます。 用字系 と し て も っ
と も よ く 使われるキーワー ド は次の と お り です : _none (用字系未定義) ・ latn ・ grek ・ cyrl ・
armn ・ hebr ・ arab ・ deva ・ beng ・ guru ・ gujr ・ orya ・ taml ・ thai ・ laoo ・ tibt ・ hang ・ kana ・
han。 キーワー ド の完全な一覧は PDFlib チ ュ ー ト リ アルにあ り ます。 キーワー ド _auto を指定する
と 、 テキス ト 内のキ ャ ラ ク タ の多数が属する用字系が選択 さ れます。 その際、 latn と _none は無
視 さ れます。 _auto は、 shaping に対 し てのみ意味を持ち、 features と advancedlinebreak では無
視 さ れます。 デ フ ォル ト : _none
shaping
(論理値) true にする と 、 script ・ language オプ シ ョ ンに従っ て、 複雑用字系のシ ェ ーピ ン グ と
双方向組版がテキス ト に適用 さ れます。 script オプ シ ョ ンが _none 以外の値を持つ必要があ り 、
かつ フ ォ ン ト が特定の条件に従っ ている必要があ り ます (PDFlib チ ュ ー ト リ アル参照)。 シ ェ ーピ
ングは、 同 じ フ ォ ン ト 内のキ ャ ラ ク タ 群に対 し てのみ行われます。 シ ェ ーピ ングは、 テキス ト フ
ロー内の右書き テキス ト では利用で き ません (テキス ト 行内のみ)。 デ フ ォル ト : false
len (C 言語バ イ ンデ ィ ン グのみ) テ キ ス ト の長 さ をバ イ ト 単位で表すか、 ま たは null 終
了文字列では 0。
keyword ほ し い情報を指定 し た キーワ ー ド :
> 表 6.3 に従っ た、 オブジ ェ ク ト はめ込みの結果を ク エ リ す る ためのキーワ ー ド :
boundingbox ・ fitscalex ・ fitscaley ・ height ・ objectheight ・ objectwidth ・ width
> 表 5.5 に従っ た さ ら な る キー ワー ド :
angle ・ ascender ・ capheight ・ descender ・ endx ・ endy ・ pathlength ・ perpendiculardir ・
replacedchars・righttoleft・startx・starty・scriptlist・startx・starty・textwidth・ textheight・
unmappedchars ・ wellformed ・ writingdirx ・ writingdiry ・ xheight
optlist PDF_fit_textline( ) のオプ シ ョ ン群を指定 し た オプ シ ョ ン リ ス ト 。 要求 し た キー
ワー ド に関係のないオプシ ョ ンは、 警告を出 さ ずに無視 さ れます。
戻り値 keyword で要求 し た何 ら かのテ キ ス ト メ ト リ ッ ク 値の値。
5.1 テキス ト 行に よ る一行テキス ト
99
詳細
こ の関数は、与えたオプシ ョ ンに従っ てテ キ ス ト を配置す る ために必要な計算をすべて行
い ますが、 実際にページ上に出力を作成は し ません。 テ キ ス ト 参照点は {0 0} と 見な さ れ
ます。
errorpolicy=return の場合、 こ の関数はエ ラ ー時に 0 を返 し ます。 errorpolicy=exception
の場合、 こ の関数はばエ ラ ー時に例外を発生 さ せま す (wellformed キー ワ ー ド に対 し て
も )。
スコープ オブ ジ ェ ク ト 以外の任意
表 5.5 PDF_info_textline( ) のキーワー ド
キーワー ド
説明
angle
ベース ラ イ ンの回転角を度単位で表 し た もの、 すなわち テキス ト の回転
ascender
capheight
descender
アセ ン ダ ・ キ ャ ッ プハイ ト ・ デ ィ セ ン ダ。 それぞれ、 同名の タ イ ポグ ラ フ ィ 特性をユー
ザー座標で表 し た もの
endx ・ endy
論理的な テキス ト 終了位置の x ・ y 座標をユーザー座標で表 し た もの
pathlength
(パス上テキス ト でのみ可) テキス ト で覆われているパスの、 その開始点か ら終了点ま での
長 さ 。 こ の値は、 PDF_fit_textline( ) が blind モー ド で呼びだ さ れた場合で も ク エ リ で き ま
す。 こ の値は、 パス を さ ら な る テキス ト で ラ ベ リ ン グ継続する ために PDF_fit_textline( ) の
startoffset オプ シ ョ ンに対 し て使用する こ と も で き ます。
perpendiculardir
writingdir に垂直な単位ベ ク ト ル。 標準的な横書き テキス ト な ら こ れは (0, 1)、 縦書き テキ
ス ト な ら (1, 0) で し ょ う
replacedchars
カ レ ン ト エ ン コ ーデ ィ ン グ内の コ ー ド に、 またはフ ォ ン ト 内のグ リ フ にマ ッ プ で き なかっ
たので、 タ イ ポグ ラ フ ィ 的に類似のキ ャ ラ ク タ 群の内蔵 リ ス ト 内のわずかに異な るグ リ フ
に、 または予備フ ォ ン ト 内のグ リ フ に置き換え られたキ ャ ラ ク タ の数。 こ の値が 0 以外に
な るのは、 glyphcheck=replace に し た と き だけです。
righttoleft
テキス ト のグ ローバルな出力方向が右書き な ら 1、 左書き または縦書き テキス ト な らば 0。
こ のグ ローバル方向は先頭キ ャ ラ ク タ 群に基づいて、 かつ、 テキス ト 内に方向マー カが存
在 し ていれば (例 : U+202D または &LRO;、 左書き上書き) それに も 基づいて決定 さ れま
す。
scalex ・ scaley
非推奨。 fitscalex/fitscaley を使用 し て く だ さ い
scriptlist
テキス ト 内のすべての用字系の名前のスペース区切 り の リ ス ト を内容 と し て持つ文字列。
こ れはテキス ト シ ェ ーピ ング を用意するのに有用で し ょ う 。 用字系名群は頻度順に降順で
並べ替え ら れています。 用字系 _none と _latn は、 シ ェ ーピ ングに関係がないので無視 さ
れます。 テキス ト 内に _none と _latn のキ ャ ラ ク タ だけが存在 し ている と きは、 -1 が返 さ
れます。
startx ・ starty
論理的な テキス ト 開始位置の x ・ y 座標をユーザー座標系で表 し た もの
textwidth ・
textheight
テキス ト の幅 と 高 さ 。 こ の高 さ は範囲枠の boxheight の定義に従います。 その定義のデ
フ ォ ル ト は {capheight none} です。
unknownchars
glyphcheck=none の場合 : スキ ッ プ さ れたキ ャ ラ ク タ の数。 この数の中には、 解決で き な
かっ た文字参照 と 、 カ レ ン ト エ ン コ ーデ ィ ン グ内の コ ー ド に、 またはフ ォ ン ト 内のグ リ フ
にマ ッ プ で き なか っ たキ ャ ラ ク タ と が含まれています。
glyphcheck=replace の場合 : 指定 し た置き換えキ ャ ラ ク タ (replacementchar オプ シ ョ ン)
で置き換え られたキ ャ ラ ク タ の数。 こ の数の中には、 カ レ ン ト エ ン コ ーデ ィ ング内の コ ー
ド に、 またはフ ォ ン ト 内のグ リ フ にマ ッ プ で き なか っ たキ ャ ラ ク タ と 、 タ イ ポグ ラ フ ィ 的
に類似のキ ャ ラ ク タ に置き換え る こ と がで き なかっ たキ ャ ラ ク タ と が含まれています。
100
第 5 章 : テキス ト と 表の組版
表 5.5 PDF_info_textline( ) のキーワー ド
キーワー ド
説明
unmappedchars
スキ ッ プ さ れたか置き換え られたキ ャ ラ ク タ の数。 すなわち、 replacedchars と
unknownchars の合計。
wellformed
選択 さ れた フ ォ ン ト ・ エ ン コ ーデ ィ ング (適用可能な ら textformat も) に従っ て テキス ト
が整え られている な ら 1、 そ う でないな ら 0。
writingdirx
writingdiry
(startx, starty) から (endx, endy) への単位ベ ク ト ルを記述 し た、 優勢な筆記方向 (すな
わち行内のテキス ト 進行方向) の x ・ y 座標、 左書きの横書き テキス ト な ら値 は (1, 0)、
縦書き テキス ト な ら (0, -1)、 右書きの横書き テキス ト な ら (-1, 0)。 筆記方向は、
shaping ・ vertical オプ シ ョ ン と 、 テキス ト の方向性特性群に も と づいて決定 さ れます。
xheight
x ハイ ト をユーザー座標で表 し た もの
5.1 テキス ト 行に よ る一行テキス ト
101
5.2 テ キス ト フ ロ ーに よ る複数行テ キス ト
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルがク ッ ク ブ ッ ク の text_output/starter_textflow ト ピ ッ ク にあ り ま
す。
C++ Java C# int add_textflow(int textflow, String text, String optlist)
Perl PHP int add_textflow(int textflow, string text, string optlist)
C int PDF_add_textflow(PDF *p, int textflow, const char *text, int len, const char *optlist)
テ キ ス ト フ ロ ーオブジ ェ ク ト を作成す る か、 ま たは既存のテ キ ス ト フ ロ ーにテ キ ス ト と 明
示オプシ ョ ン を追加 し ます。
textflow 以前の PDF_create_textflow( ) ま たは PDF_add_textflow( ) への呼び出 し に よ っ て
返 さ れたテ キ ス ト フ ロ ーハン ド ルか、 ま たは -1 (PHP では 0) で新規テ キ ス ト フ ロ ーを作
成 し ます。
text (内容文字列) テ キ ス ト フ ロ ーの内容。 テ キ ス ト には、 任意の イ ン ラ イ ン テ キ ス ト
を入れ る こ と も で き ます。
len (C 言語バ イ ンデ ィ ン グのみ) テ キ ス ト の長 さ をバ イ ト 単位で表すか、 ま たは null 終
了文字列では 0。
optlist 以下のテ キ ス ト フ ロ ーオプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> 表 4.2 で暗黙的フ ォ ン ト 読み込み(すなわち、テ キ ス ト 書式グループの font オプシ ョ ン
を与えない) の場合に従っ た フ ォ ン ト 読み込みオプシ ョ ン群 :
ascender ・ autosubsetting ・ capheight ・ descender ・ embedding ・ encoding ・
fallbackfonts ・ fontname ・ fontstyle ・ keepnative ・ linegap ・ metadata ・ monospace ・
readfeatures ・ replacementchar ・ subsetlimit ・ subsetminsize ・ subsetting ・ unicodemap ・
vertical ・ xheight
> 表 4.6 に従っ たテ キ ス ト フ ィ ル タ オプシ ョ ン群 :
charref ・ escapesequence ・ glyphcheck ・ normalize ・ textformat
> 表 4.7 に従っ たテ キ ス ト 書式オプシ ョ ン群 :
charspacing ・ dasharray ・ decorationabove ・ fakebold ・ fillcolor ・ font ・ fontsize ・
gstate ・ horizscaling ・ inittextstate ・ italicangle ・ kerning ・ leading ・ overline ・ shadow ・
strikeout ・ strokecolor ・ strokewidth ・ textrendering ・ textrise ・ underline ・
underlineposition ・ underlinewidth ・ wordspacing
> 表 5.4 に従っ たシ ェ ーピ ン グ ・ タ イ ポグ ラ フ ィ オプシ ョ ン群 :
features ・ language ・ script ・ shaping
> 表 5.6 に従っ たテ キ ス ト フ ロ ー組版のためのオプシ ョ ン群 :
alignment ・ avoidemptybegin ・ fixedleading ・ hortabmethod ・ hortabsize ・
lastalignment ・ leader ・ leftindent ・ minlinecount ・ parindent ・ rightindent ・ ruler ・
tabalignment
> 表 5.7 に従っ た改行アルゴ リ ズ ム を制御す る ためのオプシ ョ ン群 :
adjustmethod ・ advancedlinebreak ・ avoidbreak ・ locale ・ maxspacing ・ minspacing ・
nofitlimit ・ shrinklimit ・ spreadlimit
> 表 5.8 に従っ た コ マ ン ド オプシ ョ ン群 :
comment ・ mark ・ matchbox ・ nextline ・ nextparagraph ・ resetfont ・ return ・ save ・ space
102
第 5 章 : テキス ト と 表の組版
> 表 5.9 に従っ た テ キ ス ト 意味付けオプシ ョ ン群 :
charclass ・ charmapping ・ hyphenchar ・ tabalignchar
戻り値 テ キ ス ト フ ロ ーハン ド ル。 テ キ ス ト フ ロ ー関連の関数への呼び出 し で使え ます。 ハン ド ル
は、 カ レ ン ト の文書 ス コ ープの終わ り か、 ま たは こ のハ ン ド ル を 指定 し て PDF_delete_
textflow( ) を呼ぶま で有効です。
textflow 引数を -1 (PHP では 0) にす る と 、 新規テ キ ス ト フ ロ ーが作成 さ れて、 その
ハン ド ルが返 さ れ ます。 そ う でないな ら 、 textflow 引数で与えたハン ド ルが返 さ れます。
デフ ォ ル ト では こ の関数は、 エ ラ ーが起 き た と き は -1 (PHP では 0) を返 し ます。 し か し
こ の動作は、 errorpolicy オプ シ ョ ン で変え る こ と も で き ま す。 エ ラ ーが起 き た と き は、
textflow 引数で与えたハン ド ルは、 以後の関数への呼び出 し では も う 使 う こ と がで き ませ
ん (-1 以外だっ た と き の PDF_delete_textflow( ) を除き )。
詳細
こ の関数は、 与え ら れたテ キ ス ト を処理 し て、 そ こ か ら 内部デー タ 構造を作成 し ます。 以
後に フ ォ ーマ ッ タ が使 う テ キ ス ト の各部分 (単語等) を 決定 し 、 テ キ ス ト を 可能な ら
Unicode へ変換 し 、 改行可能位置を決定 し 、 フ ォ ン ト と テ キ ス ト のオプシ ョ ン群に も と づ
いてテ キ ス ト の各部分の幅を算出 し ます。
PDF_create_textflow( ) の場合は、1 度の呼び出 し でテ キ ス ト 内容 と オプシ ョ ン をすべて
与え る 必要があ り ますが、 こ の関数はそれ と は異な り 、 何度かの呼び出 し に分けてテ キ ス
ト 内容 と オプシ ョ ン を与えたい と き に有用です。 与え ら れた text と optlist を、 新規ま た
は既存のテ キ ス ト フ ロ ーに追加 し ます。 optlist で指定 さ れたオプシ ョ ンは、 text を処理す
る前に評価 さ れます。 text と optlist の両方を空にす る こ と も で き ます。
textflow=-1 (PHP では 0) にす る と 、 こ の関数はほ と ん ど PDF_create_textflow( ) と 同
等にな り ます。 ただ し PDF_create_textflow( ) と は違っ て、 こ の関数は text の中の イ ン ラ
イ ンオプシ ョ ン を検索 し ません。 ですので、 イ ン ラ イ ン オプシ ョ ン リ ス ト の開始キ ャ ラ ク
タ を再定義 し た り 、 イ ン ラ イ ン オプシ ョ ンのテ キ ス ト の長 さ を指定 し た り す る 必要はあ り
ません (非 Unicode テ キ ス ト ・ UTF-16 テ キ ス ト の場合であ っ て も )。
こ の関数は、 与え たテ キ ス ト と オプシ ョ ン群を前処理 し ますが、 生成 PDF 文書に出力
を作成せず、 ただテ キ ス ト を用意 し ます。 出力を作成する には、 PDF_fit_textflow( ) ・ PDF_
fit_table( ) ・ PDF_fill_textblock( ) のいずれかを使っ て、 こ の前処理 し た テ キ ス ト フ ロ ーのハ
ン ド ルを指定 し ます。
デ フ ォ ル ト では、 キ ャ ラ ク タ U+000B (VT) ・ U+2028 (LS) ・ U+000A (LF) ・ U+000D
(CR) ・ CRLF ・ U+0085 (NEL) ・ U+2029 (PS) ・ U+000C (FF) は、 ニ ュ ー ラ イ ン を強制 し
ます。 こ れ ら の制御キ ャ ラ ク タ は、 encoding=builtin で読み込んだ記号フ ォ ン ト に対 し て
は解釈 さ れません。 こ れ ら は VT ・ LS を除いてすべて、 改段落を強制 し ます (すなわち、
そ こ で parindent オプシ ョ ンが効 き ます)。 FF はただちに、 カ レ ン ト はめ込み枠へのテ キ
ス ト のはめ込み処理を中止 さ せます (関数 PDF_fit_textflow( ) は文字列 _nextpage を返 し
ます)。
水平 タ ブキ ャ ラ ク タ (HT) は、 後続す る テ キ ス ト に対 し て新 し い開始位置を設定 し ま
す。 こ れの詳細は、 hortabmethod ・ hortabsize オプシ ョ ン で制御 さ れます。
ソ フ ト ハ イ フ ン キ ャ ラ ク タ (SHY) は、 その ソ フ ト ハ イ フ ンの後に改行が来 る と き は、
hyphenchar オプシ ョ ン で指定 さ れてい る キ ャ ラ ク タ に置 き 換え ら れます。
縦書 き には対応 し てい ません。
スコープ オブ ジ ェ ク ト 以外の任意
5.2 テキス ト フ ローによ る複数行テキス ト
103
表 5.6 PDF_add/create_textflow( ) と 、 PDF_create_textflow( ) のイ ン ラ イ ンの、 追加の組版オプ シ ョ ン
オプ シ ョ ン
説明
alignment
(キーワー ド ) 段落内の行の整列を指定 し ます (デ フ ォル ト : left) :
left
左揃え。 leftindent+parindent (段落の先頭行) と 、 leftindent (それ以外のすべて
の行) か ら
center
中央揃え。 leftindent から rightindent ま で
right
右揃え。 rightindent ま で
justify
両端揃え
値 alignment=justify は、 nextline オプ シ ョ ン を含む行に対 し ては無視 さ れます。
nextparagraph を含む行の整列は、 alignment オプ シ ョ ン によ っ て制御 さ れず、 オプ シ ョ ン
lastalignment によ っ て制御 さ れます。
avoidemptybegin
(論理値) true にする と 、 はめ込み枠の先頭の空行群は削除 さ れます。 デ フ ォ ル ト : false
fixedleading
(論理値) true にする と 、 それぞれ行の中で見つか っ た最初の行送 り 値が使われます。 そ う で な
ければ、 行の中のすべての行送 り 値の う ち最大の ものが使われます。 PDF_fit_textflow( ) の wrap オ
プ シ ョ ン を、 または matchbox オプ シ ョ ンの createwrapbox サブオプ シ ョ ン を使っ て テキス ト を
輪郭に回 り 込ませる場合は、 fixedleading は true を強制 さ れます。 デ フ ォ ル ト : false
hortabmethod
(キーワー ド ) テキス ト の水平 タ ブの処理。 算出 さ れる位置が、 カ レ ン ト テキス ト 位置よ り 左の
と きは、 その タ ブは無視 さ れます (デ フ ォ ル ト : relative) :
relative
位置を、 hortabsize で指定 し ている量だけ進めます。
typewriter 位置を、 hortabsize の次の倍数ま で進めます。
ruler
hortabsize
位置を、 ruler オプ シ ョ ンの n 番目の タ ブ値ま で進めます。 こ こ で n は、 その行の中
で こ れま でに見つかっ た タ ブの数です。 n が タ ブ位置の数よ り 大き い と きは、
relative 方式を適用 し ます。
(float またはパーセ ン ト 値) 水平 タ ブの幅1。 その解釈は、 hortabmethod オプ シ ョ ンに依存 し ま
す。 デ フ ォ ル ト : 7.5%
lastalignment (キーワー ド ) 段落内の最終行の整列。 alignment オプ シ ョ ンのすべてのキーワー ド のほか、 以下
のキーワー ド も 使え ます (デ フ ォル ト : auto) :
auto
alignment オプ シ ョ ンの値を使います。 ただ し それが justify の と きは left が使われ
ます。
leader
(オプ シ ョ ン リ ス ト ) 繰 り 返 し 挿入 し たい隙間埋めテキス ト (点 リ ーダ等) を指定 し ます。 リ ー
ダは、 次の タ ブ位置か、 ま たは タ ブが得ら れない と きは行末ま で挿入 さ れつづけます。 リ ーダは
複数行にわた る こ と はあ り ません。 使え るサブオプ シ ョ ンの一覧は表 5.3 を参照。 デ フ ォル ト :
リ ーダな し
leftindent
(float またはパーセ ン ト 値) テキス ト 行の左イ ンデン ト 1。 leftindent を行内で指定 し ている と
きは、 決定 さ れる位置がカ レ ン ト テキス ト 位置よ り 左な ら、 こ のオプ シ ョ ンは こ の行では無視 さ
れます。 デ フ ォ ル ト : 0
minlinecount
(整数) はめ込み枠の最後の段落の最少行数。 行数が こ れよ り 少ない と きは、 その段落は次のは
め込み枠に配置 さ れます。 値 2 にすれば、 段落の 1 行だけがはめ込み枠の最後に来て し ま う 状態
(「オー フ ァ ン」) を防げます。 デ フ ォル ト : 1
parindent
(float またはパーセ ン ト 値) 段落の先頭行の左イ ンデン ト 1。 こ の値が leftindent に加算 さ れま
す。 このオプ シ ョ ン を行内で指定する と 、 タ ブのよ う に動作 し ます。 デ フ ォ ル ト : 0
rightindent
(float またはパーセ ン ト 値) テキス ト 行の右イ ンデン ト 1。 デ フ ォ ル ト : 0
ruler
(float かパーセ ン ト 値の リ ス ト ) hortabmethod=ruler の と きの絶対 タ ブ位置の リ ス ト 1。 リ ス ト
には、 最大 32 個の非負の項目を昇順で入れる こ と がで き ます。 デ フ ォル ト : hortabsize の整数
倍
104
第 5 章 : テキス ト と 表の組版
表 5.6 PDF_add/create_textflow( ) と 、 PDF_create_textflow( ) のイ ン ラ イ ンの、 追加の組版オプ シ ョ ン
オプ シ ョ ン
説明
tabalignment
(キーワー ド の リ ス ト 。 hortabmethod=ruler の場合のみ) タ ブ位置の整列。 こ の リ ス ト は 32 項目
ま で を内容 と する こ と がで き ます。 テキス ト 内で行あた り 32 個を超え る水平 タ ブが現れる場合
には、 この リ ス ト は最後の値を用いて拡張 さ れます。 リ ス ト 内の各項目はそれぞれ、 ruler オプ
シ ョ ンの各項目の整列を定義 し ます。 デ フ ォ ル ト : left。
center
テキス ト を タ ブ位置で中央揃え し ます。
decimal
最初に現れる tabalignchar を タ ブ位置で左揃え し ます。 tabalignchar が見つから な
い と きは、 右揃えに し ます。
left
テキス ト を タ ブ位置で左揃え し ます。
right
テキス ト を タ ブ位置で右揃え し ます。
1. ユーザー座標で、 ま たははめ込み枠の幅に対するパーセ ン ト 値で指定 し ます
表 5.7 PDF_add/create_textflow( ) と 、 PDF_create_textflow( ) のイ ン ラ イ ンの、 改行アルゴ リ ズムを制御する ための
追加のオプ シ ョ ン
オプ シ ョ ン
説明
adjustmethod (キーワー ド ) minspacing ・ maxspacing オプ シ ョ ン で指定 し ている制限の中で単語間を縮めた り
拡げた り し て も、 部分テキス ト が行に収ま り き ら ない と き に、 行の調整に使わせたい方式。 デ
フ ォ ル ト : auto。
auto
次の方式を順に適用 し ます : shrink ・ spread ・ nofit ・ split。
clip
nofit において、 はめ込み枠の右端 (rightindent オプ シ ョ ン を考慮) からはみ出 し た
部分を切 り 落 と し ます。
nofit
最後の単語を次の行へ送 り ます。 ただ し 、 残 さ れる (短い) 行が、 nofitlimit オプ
シ ョ ン で指定 し ているパーセ ン ト 値よ り も短 く な ら ない場合に限 り ます。 両端揃えの
段落で も若干がたついて見え る こ と があ り ます。
shrink
単語が行に収ま り き ら ない と き に、 テキス ト を shrinklimit の制限内で圧縮 し ます。
それで も収ま ら ない と きは、 nofit 方式を適用 し ます。
split
最後の単語を次の行へ送 ら ずに、 枠内の最後のキ ャ ラ ク タ の後で強制的に分割 し ます。
テキス ト フ ォ ン ト の場合はハイ フ ンキ ャ ラ ク タ を挿入 し ますが、 記号フ ォ ン ト の場合
か、 または hyphenchar=none の と きは挿入 し ません。
spread
最後の単語を次の行へ送 り 、 残 さ れた (短い) 行を両端揃えする よ う 、 単語内の字間
を spreadlimit の制限内で拡げます。 それで も 両端揃え で き ない と きは、 nofit 方式
を適用 し ます。
advancedlinebreak
(論理値) 複雑用字系に対 し て必要な高度な改行アルゴ リ ズムを有効に し ます。 こ れは タ イ文字
のよ う に、 単語間の境界を表すのにスペースキ ャ ラ ク タ を用いない用字系での改行に必要です。
locale ・ script オプ シ ョ ンは効力を持ち ます。 デ フ ォル ト : false
avoidbreak
(論理値) true にする と 、 avoidbreak を false に リ セ ッ ト する ま で、 改行機会 (スペースキ ャ ラ
ク タ 等での) が無視 さ れます。 強制的な改行 (ニ ュ ー ラ イ ン等での) と 、 adjustmethod に よ っ て
定義 さ れる方式は、 こ の場合に も実行 さ れます。 特に、 adjustmethod=split は こ の場合に も ハイ
フ ネーシ ョ ン を生成 し ます。 デ フ ォ ル ト : false
5.2 テキス ト フ ローによ る複数行テキス ト
105
表 5.7 PDF_add/create_textflow( ) と 、 PDF_create_textflow( ) のイ ン ラ イ ンの、 改行アルゴ リ ズムを制御する ための
追加のオプ シ ョ ン
オプ シ ョ ン
説明
locale
(キーワー ド ) advancedlinebreak=true の と き、 用字系特有の改行方式で用い られる ロ ケール。
キーワー ド は、 以下の 1 個ない し 複数の構成要素から成 り 、 オプ シ ョ ナルな構成要素は下線キ ャ
ラ ク タ 「_」 で区切 られます (その文法は、 NLS/POSIX のロ ケール ID と は若干異な っ ています)。
> (必須) ISO 639-2 に従っ た、 小文字 2 文字ま たは 3 文字の言語 コ ー ド (www.loc.gov/standards/
iso639-2 参照)。 例 : en (英語) ・ de ( ド イ ツ語) ・ ja (日本語)。 こ れは language オプ シ ョ ン と
は異な っ ています。
> (オプ シ ョ ン) ISO 3166 に従 っ た、 大文字 2 文字の国 コ ー ド (www.iso.org/iso/country_codes/iso_
3166_code_lists 参照)。 例 : DE ( ド イ ツ) ・ CH (ス イ ス) ・ GB (イ ギ リ ス)。
キーワー ド _none は、 ロ ケール独自の処理が行われない こ と を指定 し ます。
ロ ケールを指定する こ と は、 い く つかの用字系では、 高度な改行のために必要です。 デ フ ォル
ト : _none
例 : tha ・ de_DE ・ en_US ・ en_GB
maxspacing
minspacing
(float またはパーセ ン ト 値。 行がスペースキ ャ ラ ク タ U+0020 を少な く と も 1 個含み、 かつ
alignment=justify の と きのみ意味を持ち ます) 単語間隔の最大値 と 最小値 (ユーザー座標で、
またはスペースキ ャ ラ ク タ の幅に対するパーセ ン ト 値で指定 し ます)。 算出 さ れる単語間隔が、
与え る値で制限 さ れます (ただ し wordspacing オプ シ ョ ンは さ ら に加算 さ れます)。 デ フ ォル ト :
minspacing=50%、 maxspacing=500%
nofitlimit
(float またはパーセ ン ト 値。 alignment=justify の と きのみ意味を持ち ます) nofit 方式に し てい
る と きの、 行の長 さ の下限1。 デ フ ォ ル ト : 75%。
shrinklimit
(パーセ ン ト 値) adjustmethod=shrink に し ている と きの、 テキス ト を縮める下限。 算出 さ れる縮
小率が、 与え る値で制限 さ れますが、 horizscaling オプ シ ョ ン を掛け算 さ れます。 デ フ ォル ト :
85%
spreadlimit
(float またはパーセ ン ト 値) spread 方式に し ている と きの、 字間の上限 1。 算出 さ れる字間が、
charspacing オプ シ ョ ンの値に加算 さ れます。 デ フ ォ ル ト : 0
1. ユーザー座標で、 ま たははめ込み枠の幅に対するパーセ ン ト 値で指定 し ます
表 5.8 PDF_add/create_textflow( ) と 、 PDF_create_textflow( ) のイ ン ラ イ ンの、 追加のコ マ ン ド オプ シ ョ ン
オプ シ ョ ン
説明
comment
(文字列) 無視 さ れる任意のテキス ト 。 オプ シ ョ ン リ ス ト かマ ク ロに注釈を付けるのに有用です
mark
(整数) 与え る番号を、 マー ク と し て内部的に格納 し ます。 も っ と も最近に格納 し たマー ク は、
後で PDF_info_textflow( ) と lastmark キーワー ド で取得する こ と がで き ます。 こ れは、 テキス ト の
どの部分がページに も う 配置 さ れたかを知るのに有用で し ょ う 。
matchbox
(オプ シ ョ ン リ ス ト ) 表 6.4 に従っ た、 範囲枠を作成する ためのオプ シ ョ ン リ ス ト
nextline
(論理値) 改行を強制 し ます。 キ ャ ラ ク タ U+000B ・ U+2028 のいずれか 1 つ と 等価です。 オプ シ ョ
ン alignment=justify と lastalignment は、 この nextline オプ シ ョ ン を含む行にはいかな る影
響 も及ぼ し ません。
nextparagraph
(論理値) 改段落を強制 し ます。 キ ャ ラ ク タ U+000A、 U+000D、 U+000D と U+000A、 U+0085、
U+2029、 U+00FF のいずれか 1 つ と 等価です。 この nextparagraph オプ シ ョ ン を含む行の整列は、
オプ シ ョ ン lastalignment によ っ て決定 さ れ、 オプ シ ョ ン alignment は無視 さ れます。
106
第 5 章 : テキス ト と 表の組版
表 5.8 PDF_add/create_textflow( ) と 、 PDF_create_textflow( ) のイ ン ラ イ ンの、 追加のコ マ ン ド オプ シ ョ ン
オプ シ ョ ン
説明
resetfont
(論理値) font と fontsize を、 カ レ ン ト の設定 と 違 っ ていた (フ ォ ン ト か文字サイ ズのど ち らか
が) も っ と も最近の値へ戻 し ます。 こ れは、 イ タ リ ッ ク のテキス ト のよ う に一時的に フ ォ ン ト を
変えたのを、 元に戻 し たい と き に便利で し ょ う 。 font オプ シ ョ ンは こ のオプ シ ョ ン よ り も優先 さ
れます。 こ の コ マ ン ド は、 任意のフ ォ ン ト 関連オプ シ ョ ンについて最初の設定 と 違 う 設定を初め
て行な っ た後にのみ意味を持ち、 そ う で ない と きは無視 さ れます。
restore
(論理値) true の場合、 一番最近の save コ マ ン ド によ っ て保存 さ れたすべてのテキス ト ・ テキス
ト フ ローオプ シ ョ ンの値が復帰 さ れます。 保存 / 復帰ペア内で作成 さ れた範囲枠は、 復帰後、 保
持 さ れます。 デ フ ォル ト : false
return
(文字列。 先頭にア ン ダース コ アキ ャ ラ ク タ _ をつけてはいけません) 与え る文字列を戻 り 値 と し
て、 PDF_fit_textflow( ) を抜けます。
save
(論理値) true の場合、 すべてのテキス ト ・ テキス ト フ ローオプ シ ョ ンの値が、 非ス テー ト オプ
シ ョ ン nextline ・ nextparagraph ・ resetfont ・ return ・ space ・ textlen の値を除き、 保存 さ れ
ます。 保存 / 復帰ペアは、 任意の深 さ にネス ト する こ と がで き ます。 デ フ ォ ル ト : false
space
(float ま たはパーセ ン ト 値) テキス ト 位置を、 与えた値だけ進めます1。
1. ユーザー座標で、 ま たは文字サイ ズに対するパーセ ン ト 値で指定 し ます
表 5.9 PDF_add/create_textflow( ) と 、 PDF_create_textflow( ) のイ ン ラ イ ンの、 追加のテキス ト 意味付けオプ シ ョ ン
オプ シ ョ ン
説明
charclass
(ペアの リ ス ト 。 それぞれのペアの 1 番目の要素はキーワー ド で、 2 番目の要素は Unichar または
Unichar の リ ス ト 。 こ の Unichar は < 0xFFFF である必要があ り ます。 advancedlinebreak=true の
と きは無視 さ れます) 指定する Unichar 群を、 その改行動作を決定する ために指定するキーワー
ド に分類 し ます。
letter
a B 等の文字のよ う に動作 し ます
punct
+ / ; : 等の句読点のよ う に動作 し ます
open
[ 等の開き カ ッ コ のよ う に動作 し ます
close
] 等の閉 じ カ ッ コ のよ う に動作 し ます
default
すべてのキ ャ ラ ク タ 分類を、 PDFlib の内蔵のデ フ ォル ト に リ セ ッ ト し ます
例 : charclass={ close » open « letter {/ : =} punct & }
charmapping
(ペアの リ ス ト 。 それぞれのペアは 2 個の Unichar か、 または 1 番目の要素が Unichar で、 2 番目
の要素が Unichar と 整数の リ ス ト 。 こ の Unichar は < 0xFFFF であ る必要があ り ます) 個々のキ ャ
ラ ク タ を、 別の 1 個ない し 複数のキ ャ ラ ク タ へ置き換え ます。 オプ シ ョ ン リ ス ト には 1 個ない し
複数の Unichar のペア を入れます。 それぞれのペアの 1 番目のキ ャ ラ ク タ が、 2 番目のキ ャ ラ ク タ
に置き換わ り ます。 一対一対応で な く 、 それぞれのペアの 2 番目の要素を オプ シ ョ ン リ ス ト に し
て、 Unichar と 個数を入れる こ と も で き ます。
個数> 0 置き換えキ ャ ラ ク タ を その個数並べます。
個数< 0 キ ャ ラ ク タ が複数個並んでいる と き、 指定値の固定個数に減ら し ます。
個数= 0 キ ャ ラ ク タ を削除 し ます。
例:
charmapping={ hortab space
CRLF space LF space
CR space }
charmapping={ shy {shy 0} }
charmapping={ hortab {space 4} }
5.2 テキス ト フ ローによ る複数行テキス ト
107
表 5.9 PDF_add/create_textflow( ) と 、 PDF_create_textflow( ) のイ ン ラ イ ンの、 追加のテキス ト 意味付けオプ シ ョ ン
オプ シ ョ ン
説明
hyphenchar
(Unichar < 0xFFFF またはキーワー ド ) 改行位置で ソ フ ト ハイ フ ン を置き換えたいキ ャ ラ ク タ 。 値
0 かキーワー ド none にする と 、 ハイ フ ンが完全にな く な り ます。 デ フ ォル ト : U+00AD ( ソ フ ト
ハイ フ ン)、 ただ し こ れが フ ォ ン ト にない と きは U+002D (ハイ フ ン ・ マ イ ナス)
tabalignchar
(Unichar < 0xFFFF) 小数点 タ ブ を整列 さ せたいキ ャ ラ ク タ 。 デ フ ォ ル ト : U+002E 「.」
テキス ト フ ロ ーオ プ シ ョ ンのマ ク ロ テ キ ス ト フ ロ ーの オ プ シ ョ ン リ ス ト に は (PDF_
create_textflow( )・PDF_add_textflow( ) の optlist 引数で も 、あ る いは PDF_create_textflow( )
に与え る テ キ ス ト に イ ン ラ イ ンで も )、 表 5.10 に従っ て、 マ ク ロ の定義 と 、 マ ク ロ の呼び
出 し を入れ る こ と がで き ます。 マ ク ロ は、 フ ォ ン ト 名や イ ンデン ト 量な ど、 何度 も 使 う オ
プシ ョ ン値を 1 回の定義に ま と めたい と き に便利で し ょ う 。オプシ ョ ン リ ス ト が解析 さ れ
る 前には まず、 その中に入っ てい る マ ク ロ が、 各マ ク ロ の定義で与え ら れてい る オプシ ョ
ン リ ス ト の内容に置 き 換え ら れます。 その結果で き たオプシ ョ ン リ ス ト が、 その後に解析
さ れます。 以下に、 2 個のマ ク ロ のマ ク ロ 定義の例を示 し ます。
<macro {
comment { 以下のマクロは段落スタイルとして利用されます }
H1 {fontname=Helvetica-Bold encoding=winansi fontsize=14 }
body {fontname=Helvetica encoding=winansi fontsize=12 }
}>
こ れ ら のマ ク ロ は、 オプシ ョ ン リ ス ト の中で以下の よ う に利用で き る で し ょ う 。
<&H1>Chapter 1
<&body>This chapter talks about...
マ ク ロ の定義 と 使用には、 以下の規則があ り ます。
> マ ク ロ は、 任意の深 さ にネ ス ト さ せ る こ と がで き ます (マ ク ロ の定義の中で、 別のマ
ク ロ を呼び出す こ と が可能)。
> マ ク ロ は、 それを定義 し てい る の と 同 じ オプシ ョ ン リ ス ト の中で使 う こ と はで き ませ
ん。 PDF_create_textflow( ) の場合は、 マ ク ロ を定義 し てい る イ ン ラ イ ン オプシ ョ ン リ
ス ト を終わ ら せた直後に、 そのマ ク ロ を使 う 新 し い イ ン ラ イ ン オプシ ョ ン リ ス ト を始
めれば よ いで し ょ う 。 PDF_add_textflow( ) を使っ てい る 場合は、 関数を一度呼び出 し
てマ ク ロ を定義 し た後、 それを使 う には も う 一度呼び出す必要があ り ます (PDF_add_
textflow( ) は一度に 1 つのオプシ ョ ン リ ス ト し か受け付けないので)。
> マ ク ロ の名前は大文字 ・ 小文字を区別 し ます。
> 未定義のマ ク ロ は例外を発生 さ せます。
> マ ク ロ はいつで も 再定義す る こ と がで き ます。
108
第 5 章 : テキス ト と 表の組版
表 5.10 PDF_add/create_textflow( ) ・ PDF_fit_textflow( ) のオプ シ ョ ン リ ス ト マ ク ロの定義 と 呼び出 し
オプ シ ョ ン
説明
macro
(ペアの リ ス ト ) それぞれのペアは、 マ ク ロの名前 と 定義を以下のよ う に記述 し ます (なお、 この
マ ク ロ名 と その定義の間には等号 「=」 があ っ てはいけません) :
name
(文字列) マ ク ロの名前。 以後 こ れを使 っ てマ ク ロ を呼び出す こ と がで き ます。 すでに
定義 し てある マ ク ロ を後から 定義 し なおす こ と も で き ます。 特殊名 comment は無視 さ れ
ます。
suboptlist マ ク ロが呼び出 さ れた時にマ ク ロ名を リ テ ラ ルに置き換え る オプ シ ョ ン リ ス ト 。 最初 と
最後のホワ イ ト スペースは無視 さ れます。
&name
指定名のマ ク ロ を展開 し 、 マ ク ロ名 (キ ャ ラ ク タ & を含め) を、 そのマ ク ロの内容、 すなわち、
そのマ ク ロに対 し て定義 し ておいた suboptlist (両端の括弧は含まず) で置き換え ます。 マ ク ロ
名は、 ホワ イ ト スペース ・ { ・ } ・ = ・ & のいずれかで終了 し ます。 ですから、 こ れら のキ ャ ラ ク タ を
マ ク ロ名の中で使っ てはいけません。
ネス ト さ れたマ ク ロは、 ネス ト 制限な し に展開 さ れます。 文字列オプ シ ョ ンの中に入れたマ ク ロ
も 展開 さ れます。 マ ク ロ を置き換えた ら 有効なオプ シ ョ ン リ ス ト にな る よ う にする必要があ り ま
す。
C++ Java C# int create_textflow(String text, String optlist)
Perl PHP int create_textflow(string text, string optlist)
C int PDF_create_textflow(PDF *p, const char *text, int len, const char *optlist)
テ キ ス ト 内容 ・ イ ン ラ イ ンオプシ ョ ン ・ 明示オプシ ョ ンか ら テ キ ス ト フ ロ ーオブジ ェ ク ト
を作成 し ます。
text (内容文字列) テ キ ス ト フ ロ ーの内容。 さ ま ざ ま なエン コ ーデ ィ ン グのテ キ ス ト と 、
マ ク ロ と (108 ページ 「テ キ ス ト フ ロ ーオプシ ョ ンのマ ク ロ 」 参照)、 表 5.6 ・ 表 5.11 に
従っ た イ ン ラ イ ンオプシ ョ ン リ ス ト (110 ページ 「テ キ ス ト フ ロ ーの イ ン ラ イ ンオプシ ョ
ン リ ス ト 」 も 参照) を入れ る こ と がで き ます。 text を空文字列に し て も 、 有効なテ キ ス ト
フ ロ ーハン ド ルが返 さ れます。
len (C 言語バ イ ンデ ィ ン グのみ) テ キ ス ト の長 さ をバ イ ト 単位で表すか、 ま たは null 終
了文字列では 0。
optlist テ キ ス ト フ ロ ーオプシ ョ ン を指定 し たオプシ ョ ン リ ス ト 。 optlist で指定す る オプ
シ ョ ンは、text の中の イ ン ラ イ ン オプシ ョ ン リ ス ト で指定す る オプシ ョ ン よ り も 前に評価
さ れ る ので、optlist 引数で与え る オプシ ョ ン よ り も イ ン ラ イ ン オプシ ョ ンのほ う が優先 さ
れます。 以下のオプシ ョ ンが使え ます :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> PDF_add_textflow( ) のすべてのオプシ ョ ン(PDF_add_textflow( ) のオプシ ョ ン一覧を参
照)
> イ ン ラ イ ンオプシ ョ ン リ ス ト の処理を表 5.11 に従っ て制御す る オプシ ョ ン :
begoptlistchar ・ endoptlistchar ・ fixedtextformat ・ textlen
戻り値 テ キ ス ト フ ロ ーハン ド ル。 PDF_add_textflow( ) ・ PDF_fit_textflow( ) ・ PDF_info_textflow( ) ・
PDF_delete_textflow( ) への呼び出 し で使え ます。 ハン ド ルは、 カ レ ン ト の文書ス コ ープ を
終え る か、 ま たは PDF_delete_textflow( ) で こ のハン ド ルを指定 し て呼び出すま で有効で
す。 デフ ォ ル ト では、 こ の関数はエ ラ ーが起き た と き は -1 (PHP では 0) を返 し ます。 こ
の動作は、 errorpolicy オプシ ョ ン で変え る こ と も で き ます。
5.2 テキス ト フ ローによ る複数行テキス ト
109
詳細
こ の関数は、 オプシ ョ ン と テ キ ス ト を受け付けて、 テ キ ス ト フ ロ ーを作 り ます。 PDF_add_
textflow( ) 関数 と は異な り 、 テ キ ス ト に イ ン ラ イ ン オプシ ョ ン を入れ る こ と も で き ます。
イ ン ラ イ ンオプシ ョ ン リ ス ト の検索は、 optlist 引数で textlen オプシ ョ ン を与えれば、 テ
キ ス ト の一部分ま たは全体で無効にす る こ と も で き ます (110 ページ 「テ キ ス ト フ ロ ーの
イ ン ラ イ ンオプシ ョ ン リ ス ト 」 参照)。
こ の関数は、 生成 PDF 文書に出力を作成せず、 ただ与え ら れたオプシ ョ ンに従っ てテ
キ ス ト を用意 し ます。 出力を作成す る には、 PDF_fit_textflow( ) を使っ て、 こ の前処理 し
たテ キ ス ト フ ロ ーのハン ド ルを指定 し ます。
特殊キ ャ ラ ク タ や改行な ど の情報については、 詳 し く は PDF_add_textflow( ) の詳細の
項を参照 し て く だ さ い。
スコープ オブ ジ ェ ク ト 以外の任意
表 5.11 PDF_create_textflow( ) のイ ン ラ イ ン オプ シ ョ ン リ ス ト 処理のための追加オプ シ ョ ン
オプ シ ョ ン
説明
begoptlistchar
(Unichar < 0xFFFF またはキーワー ド ) オプ シ ョ ン リ ス ト を開始 さ せたいキ ャ ラ ク タ 。 デ フ ォ ル ト
のキ ャ ラ ク タ がテキス ト に リ テ ラルに現れる と きは、 こ れを別のキ ャ ラ ク タ に替え る と 便利か も
し れません (110 ページ 「テキス ト フ ローのイ ン ラ イ ン オプ シ ョ ン リ ス ト 」 参照)。 textlen を指
定 し ていない と きは、 テキス ト の中の begoptlistchar キ ャ ラ ク タ は、 先行する テキス ト と 同 じ
テキス ト 形式 と エ ン コ ーデ ィ ングで エ ン コ ー ド し てお く 必要があ り ます。 と い う こ と は、 先行す
る テキス ト のエ ン コ ーデ ィ ングに begoptlistchar が含まれている よ う に、 その Unicode 値を選ぶ
必要があ り ます。 キーワー ド none を使 う と 、 オプ シ ョ ン リ ス ト の検索を完全に無効にする こ と
がで き ます。 デ フ ォル ト : U+003C (<)
endoptlistchar
(Unichar < 0xFFFF。 U+007D 「}」 は使え ません) イ ン ラ イ ン オプ シ ョ ン リ ス ト を終了 さ せたいキ ャ
ラ ク タ 。 デ フ ォ ル ト : U+003F (>)
fixedtextformat
(論理値。 Unicode 非対応言語バイ ンデ ィ ン グでのみ意味を持ち、 stringformat=utf8 の場合には
強制的に true と な り ます。 こ のオプ シ ョ ンは、 イ ン ラ イ ン オプ シ ョ ン リ ス ト では意味を持たず、
optlist 引数でのみ使え ます) true にする と 、 部分テキス ト も イ ン ラ イ ン オプ シ ョ ン リ ス ト も、
すべて同 じ textformat を使います。 これは、 utf8 ・ utf16 ・ utf16be ・ utf16le の う ちのいずれか
にする必要があ り ます。 これは、 テキス ト と イ ン ラ イ ンオプ シ ョ ンの取得元が同 じ と き に有用で
す。
false にする と 、 テキス ト 本体で使われている形式にかかわら ず、 イ ン ラ イ ン オプ シ ョ ン リ ス ト
は、 区切 り キ ャ ラ ク タ を含め、 textformat=bytes で エ ン コ ー ド さ れていなければな り ません。 こ
れを使 う と 、 た と えば UTF-16 のテキス ト と 、 ASCII エ ン コ ーデ ィ ングのイ ン ラ イ ンオプ シ ョ ン リ
ス ト を組み合わせる こ と (テキス ト は Unicode のデー タ ベースか ら取っ て、 イ ン ラ イ ン オプ シ ョ
ンはア プ リ ケーシ ョ ンの中で ASCII テキス ト と し て作る場合な ど) が可能です。 デ フ ォ ル ト :
false
textlen
(整数またはキーワー ド 。 Unicode 非対応言語で fixedtextformat=false かつ textformat=utf16xx
の部分テキス ト では必須) 次のイ ン ラ イ ンオプ シ ョ ン リ ス ト の前のバイ ト か (Unicode 対応言語
の場合)、 またはキ ャ ラ ク タ の数 (110 ページ 「テキス ト フ ローのイ ン ラ イ ンオプ シ ョ ン リ ス ト 」
参照)。 キ ャ ラ ク タ は、 文字参照が解決 さ れる前に数え られます。 例 :
<textlen=8>&#x2460;<...>。 キーワー ド all を指定する と 、 残 り のテキス ト すべて を意味 し ま
す。 デ フ ォ ル ト : 次に begoptlistchar が現れる ま で テキス ト が検索 さ れます。
テキス ト フ ロ ーの イ ン ラ イ ン オ プ シ ョ ン リ ス ト PDF_create_textflow( ) (PDF_add_
textflow( ) では不可) の text 引数で与え る 内容の中には、 テ キ ス ト フ ロ ーオプシ ョ ン を表
5.6 に従っ て指定 し た、 任意の数のオプシ ョ ン リ ス ト ( イ ン ラ イ ンオプシ ョ ン) を入れ る
こ と がで き ます。 あ る いは、 こ れ ら のオプシ ョ ンはすべて、 PDF_create_textflow( ) ・ PDF_
add_textflow( ) の optlist 引数の中で与え る こ と も で き ます。 1 つのオプシ ョ ン リ ス ト の中
110
第 5 章 : テキス ト と 表の組版
で同 じ オプシ ョ ン を複数回指定す る こ と も 可能です。 その場合、 最後に指定 し たそのオプ
シ ョ ンだけが考慮 さ れます。
イ ン ラ イ ンオプシ ョ ン リ ス ト は、 begoptlistchar と endoptlistchar オプシ ョ ン で指定す
る キ ャ ラ ク タ (デフ ォ ル ト では < と >) で囲む必要があ り ます。 当然、 イ ン ラ イ ン オプ
シ ョ ン の開始に使っ てい る キ ャ ラ ク タ を、 テ キ ス ト 本体で も 使わな ければな ら ない と き
は、 衝突が起 こ り ます。 こ の衝突を解決す る にはい く つかの方法があ り 、 テ キ ス ト に イ ン
ラ イ ン オ プ シ ョ ン リ ス ト を 入 れ る か ど う か に よ っ て 方 法 が 決 ま り ま す。 PDF_add_
textflow( ) の場合は先述の と お り 、 テ キ ス ト と オプシ ョ ン を完全に分離 し てい ますので、
衝突は起 こ り ません。
テ キ ス ト に イ ン ラ イ ンオプシ ョ ン を全 く 入れない と き は、以下のいずれかの方法で、イ
ン ラ イ ンオプシ ョ ン リ ス ト の検索を完全に無効にす る こ と も で き ます。
> PDF_create_textflow( ) の optlist 引数で begoptlistchar=none を設定。
> PDF_create_textflow( ) の optlist引数で textlen オプシ ョ ンにテ キ ス ト 全体の長 さ を設定。
テ キ ス ト に イ ン ラ イ ンオプシ ョ ン を入れ る と き は、 以下のいずれかの方法を使えば、 テ キ
ス ト の内容 と 、 イ ン ラ イ ンオプシ ョ ン を始め る begoptlistchar と の衝突を避け る こ と がで
き ます。
> テ キ ス ト 内に現れ る < キ ャ ラ ク タ をすべて、 その数値ま たは文字実体参照 (&#x3C; か
&lt;) で置 き 換えて、 イ ン ラ イ ン オプシ ョ ン リ ス ト を リ テ ラ ルな < キ ャ ラ ク タ で開始。
A&lt;B<fontname=Helvetica encoding=winansi>
ただ し こ の方式は、 encoding=builtin に よ る フ ォ ン ト では動作 し ません。
> PDF_create_textflow( ) の optlist 引数か イ ン ラ イ ン オプシ ョ ン リ ス ト で begoptlistchar オ
プシ ョ ンに、 テ キ ス ト で使っ ていないキ ャ ラ ク タ を設定 し ($ 等)、 そのキ ャ ラ ク タ を
使っ て イ ン ラ イ ンオプシ ョ ン リ ス ト を開始。
<begoptlistchar=$>A<B$fontname=Helvetica encoding=winansi>
> 先行す る イ ン ラ イ ンオプシ ョ ン リ ス ト で textlen オプシ ョ ン を使っ て、 次の部分テ キ ス
ト (次の イ ン ラ イ ンオプシ ョ ン リ ス ト の開始ま での) の長 さ を指定。
<textlen=3>A<B<fontname=Helvetica encoding=winansi>
> begoptlistchar を エ ス ケープシーケ ン ス と し て指定 し 、 escapesequence グ ロ ーバルオプ
シ ョ ン を true に設定。 ただ し 、 エ ス ケープシーケ ン ス は、 endoptlistchar を含んだ イ ン
ラ イ ンオプシ ョ ン リ ス ト 内では動作 し ません。
注 イ ン ラ イ ンオプ シ ョ ン リ ス ト の直後にまたオプ シ ョ ン リ ス ト を与え る と 、間に長 さ ゼロの
部分テキス ト をは さ んでい る と 見な さ れます。 1 番目のオプ シ ョ ン リ ス ト で textlen オプ
シ ョ ン を与え る と きは これは重要です。
C++ Java C# String fit_textflow(int textflow, double llx, double lly, double urx, double ury, String optlist)
Perl PHP string fit_textflow(int textflow, float llx, float lly, float urx, float ury, string optlist)
C const char *PDF_fit_textflow(PDF *p,
int textflow, double llx, double lly, double urx, double ury, const char *optlist)
テ キ ス ト フ ロ ーの次の部分を組版 し ます。
textflow PDF_create_textflow( ) か PDF_add_textflow( ) を呼び出 し て返 さ れた テ キ ス ト フ
ロ ーハン ド ル。
5.2 テキス ト フ ローによ る複数行テキス ト
111
llx ・ lly ・ urx ・ ury 対象に し たい長方形 (はめ込み枠) の左下隅 と 右上隅の x ・ y 座標を、
ユーザー座標で指定 し ます。 こ の 2 隅は逆の順に指定する こ と も で き ます。 長方形でない
輪郭へ流 し 込みを行 う には、 wrap オプシ ョ ン を使い ます。
optlist 処理オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト 。 以下のオプシ ョ ンが使え ます :
> 表 5.12 に従っ たテ キ ス ト フ ロ ーオプシ ョ ン :
avoidwordsplitting ・ blind ・ createfittext ・ createlastindent ・ exchangefillcolors ・
exchangestrokecolors ・ firstlinedist ・ fitmethod ・ fontscale ・ lastlinedist ・ linespreadlimit ・
maxlines ・ minfontsize ・ orientate ・ returnatmark ・ rewind ・ rotate ・ showborder ・ showtabs ・
stamp ・ truncatetrailingwhitespace ・ verticalalign ・ wrap
> 表 6.1 に従っ た範囲枠オプシ ョ ン : matchbox
> 表 14.5 に従っ た、 短縮構造エ レ メ ン ト タ グ付けのためのオプシ ョ ン (ページ ス コ ープ
でのみ可) : tag
戻り値 関数か ら 戻っ た原因を示す文字列。
> _stop : テ キ ス ト フ ロ ーの全テ キ ス ト の処理が完了。 テ キ ス ト が空の と き は、 return ま
たは mark/returnatmark オプシ ョ ン を与えていて も 、 つねに _stop が返 さ れます。
> _nextpage : 次のページ を待ち (フ ォーム フ ィ ー ド キ ャ ラ ク タ U+000C が原因)。 ま た
PDF_fit_textflow( ) を呼び出 し て残 り のテ キ ス ト を処理す る 必要があ り ます。
> _boxfull : はめ込み枠内にテ キ ス ト をい く ら か配置 し て も う ゆ と り がないか、 ま たは最
大行数 (maxlines オプシ ョ ン で指定 し てい る ) をはめ込み枠に配置 し て し ま っ たか、
ま たは fitmethod=auto と minfontsize を指定 し てい る がテ キ ス ト がはめ込み枠に収ま
ら なか っ た。 ま た PDF_fit_textflow( ) を呼び出 し て残 り のテ キ ス ト を処理す る 必要があ
り ます。
> _boxempty : 処理後、 枠にテ キ ス ト が ま っ た く 入っ ていない。 こ れは、 はめ込み枠の
大 き さ が小 さ すぎ て テ キ ス ト が入 ら ない と き に、 ま たは回 り 込み枠がはめ込み枠 よ り
も 大 き い と き に起 き る こ と があ り ます。 無限ループ を避け る ため、 同 じ はめ込み枠を
指定 し て ま た PDF_fit_textflow( ) を呼び出すべき ではあ り ません。
> _mark#:returnatmark オプシ ョ ンが番号 # で指定 さ れてお り 、こ のオプシ ョ ンで指定 さ
れた番号のマー ク が配置 さ れた。
> その他の任意文字列: イ ン ラ イ ンオプシ ョ ン リ ス ト で return コ マ ン ド に与え た文字列。
戻っ た理由が同時に複数あ る と き は、 上記の一覧で (上か ら 下へ) 最初の も のが報告 さ れ
ます。 返 さ れた文字列は、 次に こ の関数を呼び出すま で有効です。
詳細
カ レ ン ト テ キ ス ト ・ グ ラ フ ィ ッ ク ス テー タ ス は、 こ の関数が作成す る テ キ ス ト 出力では効
力を持ち ません ( こ の点は PDF_fit_textline( ) と 異な り ます)。PDF_create_textflow( ) ・ PDF_
add_textflow( ) でテ キ ス ト の書式を制御す る には、 fillcolor ・ strokecolor な ど のテ キ ス ト 書
式オプシ ョ ン を使い ます (表 5.2 参照)。 こ の関数か ら 返っ た後で、 テ キ ス ト ス テー タ ス
は変更 さ れてい ません。 ただ し 、 textx/texty オプシ ョ ンは、 生成 し た テ キ ス ト 出力の末尾
の点へ移動 し ます (blind オプシ ョ ン を true に設定 し ていなければ)。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
112
第 5 章 : テキス ト と 表の組版
表 5.12 PDF_fit_textflow( ) のオプ シ ョ ン
オプ シ ョ ン
説明
avoidwordsplitting
(論理値) true かつ fitmethod=auto の場合には、 テキス ト フ ローは、 文字サイ ズを下げて単語分
割を避ける こ と によ っ て、 テキス ト をはめ込み枠内へ完全に収めよ う と し ます (adjustmethod 参
照)。
blind
(論理値) true にする と 、 出力が生成 さ れず、 し か し 計算はすべて行われ、 組版結果を PDF_info_
textflow( ) で調べる こ と がで き ます。 デ フ ォル ト : false
createfittext
(論路値) true にする と 、 カ レ ン ト はめ込み枠に配置 さ れた テキス ト が メ モ リ に保存 さ れて、 以
後、 キーワー ド fittext を付けた PDF_info_textflow( ) への呼び出 し によ っ て取得で き る よ う にな り
ます。 デ フ ォル ト : true
createlastindent
(オプ シ ョ ン リ ス ト ) はめ込み枠の末尾行の末尾にい く ら かのアキを と り ます。 また、 範囲枠を生
成 し てそのアキに入れる こ と も で き ます。 こ のアキは、 テキス ト の末尾に、 続きがある こ と を示
す点群や画像や、 続きのテキス ト への リ ン ク な ど を追加する ために有用で し ょ う 。 使え るサブオ
プシ ョ ン :
rightindent (float ま たはパーセ ン ト 値) はめ込み枠の末尾行の追加右イ ンデン ト を、 ユーザー座標
で、 またははめ込み枠の幅に対するパーセ ン ト 値で指定 し ます。 この値は、 PDF_add/
create_textflow( ) の rightindent オプ シ ョ ンの値に追加 さ れます。 デ フ ォ ル ト : 0
matchbox (表 6.4 に従っ たオプ シ ョ ン リ ス ト ) 末尾行の末尾に範囲枠を生成 し ます。 範囲枠オプ
シ ョ ン boxwidth を指定 し ない と きは、 rightindent の値が枠の幅 と し て用い ら れます。
boxwidth=0 にする と 枠は生成 さ れません。
exchangefillcolors
(色偶数個の リ ス ト ) リ ス ト 内のそれぞれのペア で、 元の塗 り 色 と 、 置き換え色を指定 し ます。 は
め込み枠内で テキス ト フ ローが元の塗 り 色を指定 し ている部分がすべて、 指定 し た置き換え色で
置き換え られます。 こ れは、 色を背景に応 じ て調節する ために有用で し ょ う 。 キ ャ ラ ク タ 「*」 を
元の色 と し て指定する と 、 残 り のすべての色が置き換え色で置き換え られます。 例 :
exchangefillcolors={{gray 0} white Orchid DeepPink {rgb 1 0 1} MediumBlue}
exchangestrokecolors
(色偶数個の リ ス ト ) リ ス ト 内のそれぞれのペア で、 元の描線色 と 、 置き換え色を指定 し ます。 は
め込み枠内で テキス ト フ ローが元の描線色を指定 し ている部分がすべて、 指定 し た置き換え色で
置き換え られます。 こ れは、 色を背景に応 じ て調節する ために有用で し ょ う 。 キ ャ ラ ク タ 「*」 を
元の色 と し て指定する と 、 残 り のすべての色が置き換え色で置き換え られます。
firstlinedist1
(float ・ パーセ ン ト 値 ・ キーワー ド のいずれか) はめ込み枠上端 と テキス ト 先頭行ベース ラ イ ンの
間隔を、 ユーザー座標で、 または関連文字サイ ズ (fixedleading=true に し ている と きは行の先頭
の文字サイ ズ、 そ う でなければ行内のすべての文字サイ ズの う ちの最大値) に対するパーセ ン ト
値で、 あ るいはキーワー ド で指定 し ます (デ フ ォ ル ト : leading) :
leading
先頭行で決定 さ れた行送 り 値。 ヒ等の、 読み分け記号つ きの代表的なキ ャ ラ ク タ がはめ
込み枠上端に接 し ます。
ascender
先頭行で決定 さ れたアセ ン ダ値。 d や h 等の、 大き なア セ ン ダ を持つ代表的なキ ャ ラ ク
タ がはめ込み枠上端に接 し ます。
capheight 先頭行で決定 さ れたキ ャ ッ プハイ ト 値。 H 等の、 代表的な大文字がはめ込み枠上端に接
し ます。
xheight
先頭行で決定 さ れた x ハイ ト 値。 x 等の、 代表的な小文字がはめ込み枠上端に接 し ま
す。
fixedleading=false に し ている と きは、 先頭行の中で見出 さ れたすべての leading ・ ascender ・
xheight ・ capheight 値の う ちの最大値が使われます。
5.2 テキス ト フ ローによ る複数行テキス ト
113
表 5.12 PDF_fit_textflow( ) のオプ シ ョ ン
オプ シ ョ ン
説明
fitmethod
(キーワー ド ) テキス ト をはめ込み枠内にはめ込むのに使いたい方式を指定 し ます (デ フ ォ ル ト :
clip) :
auto
テキス ト がはめ込み枠に収ま る ま で、 文字サイ ズを下げた り 、 その他のフ ォ ン ト 関連の
オプ シ ョ ン群を変えた り し ながら (fontscale 参照)、 PDF_fit_textflow( ) を ブ ラ イ ン ド
モー ド で繰 り 返 し 呼び出 し ます (ただ し minfontsize オプ シ ョ ン も参照)。
clip
テキス ト をはめ込み枠の下端で切 り 落 と し ます。
nofit
テキス ト を、 はめ込み枠の下端か ら (verticalalign=top の場合)、 またははめ込み枠
の上端か ら (verticalalign=bottom の場合)、 またははめ込み枠の下端を上端か ら
(verticalalign=center の場合)、 はみ出 さ せる こ と も あ り ます。
fontscale
(正の float またはパーセ ン ト 値) fontsize の値 と 、 leading ・ minspacing ・ maxspacing ・
spreadlimit ・ space の絶対値 (パーセ ン ト 値は無視) に、 与え る倍率またはパーセ ン ト 値を掛け
算 し ます。 デ フ ォル ト : rewind=0 に し ている と きは 1、 それ以外に し ている と きはその PDF_fit_
textflow( ) への呼び出 し で与えていた値。
gstate
(グ ラ フ ィ ッ ク ス テー タ スハン ド ル) PDF_create_gstate( ) で取得 し たグ ラ フ ィ ッ ク ス テー タ スのハ
ン ド ル。 このグ ラ フ ィ ッ ク ス テー タ スが、 この関数で配置 さ れるすべてのテキス ト に対 し て効力
を持ち ます。 別のグ ラ フ ィ ッ ク ス テー タ ス をすでに PDF_add/create_textflow( ) に与え ていた と き
は、 両方のグ ラ フ ィ ッ ク ス テー タ スがマージ さ れます。 デ フ ォル ト : グ ラ フ ィ ッ ク ス テー タ スな
し (すなわち、 カ レ ン ト 設定が用い られます)
lastlinedist1
(float ・ パーセ ン ト 値 ・ キーワー ド のいずれか。 fitmethod=nofit に し ている と きは無視 さ れます)
テキス ト 最終行ベース ラ イ ン と はめ込み枠下端の間隔を、 ユーザー座標で、 ま たは文字サイ ズ
(fixedleading=true に し ている と きは行の先頭の文字サイ ズ、 そ う でなければ行内のすべての文
サイ ズの う ちの最大値) に対するパーセ ン ト 値で、 あ るいはキーワー ド で指定 し ます。 デ フ ォ ル
ト : 0、 すなわちはめ込み枠下端をベース ラ イ ン と し て使い、 代表的なデ ィ セ ン ダがはめ込み枠の
下に出ます。 使え るキーワー ド :
descender 最終行で決定 さ れたデ ィ セ ン ダ値。 g や j 等の、 デ ィ セ ン ダ を持つ代表的なキ ャ ラ ク タ
がはめ込み枠下端に接 し ます。 fixedleading=false に し ている と きは、 最終行の中で
見出 さ れたすべての descender 値の う ちの最大値が使われます。
linespreadlimit
(float またはパーセ ン ト 値。 verticalalign=justify に し ている と きのみ) 縦揃え で行送 り を増や
せる最大値を、 ユーザー座標で、 または行送 り に対するパーセ ン ト 値で指定 し ます。 デ フ ォ ル ト :
200%
maxlines
(整数ま たはキーワー ド ) はめ込み枠内の最大行数か、 または、 で き る だけ多 く の行をはめ込み枠
内に配置 さ せたい と きはキーワー ド auto を指定 し ます。 最大行数を配置 し た と きは、 PDF_fit_
textflow( ) は文字列 _boxfull を返 し ます。 デ フ ォ ル ト : auto
minfontsize
(float またはパーセ ン ト 値) 特に fitmethod=auto に し ている と き に、 テキス ト を縮小 し てはめ込
み枠に収める と きの、 許容で き る最小文字サイ ズ。 こ の制限値は、 ユーザー座標系か、 またはは
め込み枠の高 さ に対するパーセ ン ト 値で指定 し ます。 制限を超えて も テキス ト が枠に収ま り き ら
ない と きは、 文字列 _boxfull が返 さ れます。 デ フ ォ ル ト : 0.1%
mingapwidth
(float またはパーセ ン ト 値) 複数の輪郭の間に (例 : 複数の回 り 込み輪郭の間に) テキス ト をはめ
込むための最小横幅を、 ユーザー座標で、 ま たは文字サイ ズに対するパーセ ン ト 値で指定 し ます。
こ れは、 複数の回 り 込み輪郭の間に狭い隙間 し かない場合に組版結果が醜 く な ら ないよ う にする
ために有用で し ょ う 。 デ フ ォ ル ト : 10%
orientate
(キーワー ド ) テキス ト を配置する時に向けたい向き を指定 し ます (デ フ ォル ト : north) :
114
north
直立
east
右倒 し
south
上下逆 さ ま
west
左倒 し
第 5 章 : テキス ト と 表の組版
表 5.12 PDF_fit_textflow( ) のオプ シ ョ ン
オプ シ ョ ン
説明
returnatmark
(整数) 指定する番号で定義 さ れた mark オプ シ ョ ンのあ る テキス ト 位置で、 PDF_fit_textflow( ) は不
完全な ま ま返 り ます。 戻 り 理由文字列は _mark# と な り ます。 こ こ で # は こ のオプ シ ョ ン で指定 し
た番号です。
rewind
(-2 ・ -1 ・ 0 ・ 1 のいずれかの整数) 与え る テキス ト フ ローの状態を、 同 じ テキス ト フ ローハン ド ル
を指定 し て PDF_fit_textflow( ) を呼び出 し たいずれかの時の前の状態に リ セ ッ ト し ます (デ フ ォル
ト : 0) :
1
PDF_fit_textflow( ) を最初に呼び出 し た時の前の状態へ巻き戻 し 。
0
テキス ト フ ローを リ セ ッ ト し ません。
-1
PDF_fit_textflow( ) を最後に呼び出 し た時の前の状態へ巻き戻 し 。
-2
PDF_fit_textflow( ) を最後か ら 2 番目に呼び出 し た時の前の状態へ巻き戻 し 。
rotate
(float) はめ込み枠の左下隅を中心に、 指定する値を度単位の回転角 と し て、 座標系を回転 さ せま
す。 結果 と し て、 はめ込み枠 と テキス ト が回転 し ます。 テキス ト の配置が完了 し た時点で回転は
リ セ ッ ト さ れます。 デ フ ォル ト : 0
showborder
(論理値) true にする と 、 はめ込み枠の辺が描線 さ れます (カ レ ン ト グ ラ フ ィ ッ ク ス テー タ ス を
使 っ て)。 こ れは開発やデバ ッ グに便利で し ょ う 。 デ フ ォ ル ト : false
showtabs
(キーワー ド ) デバ ッ グの補助のために、 タ ブ位置 と 左イ ンデン ト を縦線で視覚表示 し ます。 線
は、 PDF_fit_textflow( ) を呼び出す前に有効だ っ たグ ラ フ ィ ッ ク ス テー タ スに従 っ て描かれます (デ
フ ォ ル ト : none) :
none
線を描き ません
fitbox
線をはめ込み枠の高 さ い っぱいに描き ます
validarea 線を それが有効な縦領域にだけ描き ます
stamp
truncatetrailingwhitespace
(キーワー ド ) このオプ シ ョ ン を使 う と 、 範囲枠内に対角線上のス タ ン プ を生成する こ と がで き ま
す。 ス タ ン プ テキス ト の改行は明示的に指定する必要があ り ます (すなわち、 ニ ュ ー ラ イ ンキ ャ
ラ ク タ かニ ュ ー ラ イ ンオプ シ ョ ン を用いて)。 テキス ト の中に明示的な改行が全 く ない と きは、 1
行のス タ ン プが生成 さ れます。 生成 さ れる ス タ ン プ テキス ト は可能な限 り 大き く さ れますが、 し
か し 指定 し た文字サイ ズよ り は大き く な り ません。 使え るキーワー ド (デ フ ォル ト : none) :
ll2ur
ス タ ン プが左下隅から 右上隅への対角線上に配置 さ れます。
ul2lr
ス タ ン プが左上隅から 右下隅への対角線上に配置 さ れます。
none
ス タ ン プは生成 さ れません。
(論理値) 末尾空白のみを内容 と するはめ込み枠、 すなわち、 はめ込み枠が空白で始ま り 、 かつテ
キス ト フ ローの末尾ま で空白 し かない場合の処理を制御 し ます。 こ のオプ シ ョ ンが true の場合、
末尾空白は除去 さ れ、 すなわち、 そのはめ込み枠は空 と し て扱われ、 その戻 り 値は _stop と な り
ます。 こ のオプ シ ョ ンが false の場合、 こ の空白は通常のテキス ト と 同様に処理 さ れ、 すなわち、
こ の関数は _stop 以外の値 (末尾空白の量に依存) を返 し 、 PDF_info_textflow( ) の textendx/y や
その他のキーワー ド は こ の空白を考慮に入れます。 truncatetrailingwhitespace=false は、 オ リ
ジナルのテキス ト を空白除去な し に処理する必要があ る場合に有用で し ょ う 。 デ フ ォル ト : true
5.2 テキス ト フ ローによ る複数行テキス ト
115
表 5.12 PDF_fit_textflow( ) のオプ シ ョ ン
オプ シ ョ ン
説明
verticalalign1 (キーワー ド ) はめ込み枠内のテキス ト の縦揃え。 firstlinedist ・ lastlinedist オプ シ ョ ン を適
切に考慮 さ れます (デ フ ォ ル ト : top) :
wrap
top
組版を先頭行か ら始めて、 下へ進行。 テキス ト がはめ込み枠を満た さ ない と きは、 テキ
ス ト の下に空白がで き ます。
center
テキス ト をはめ込み枠の縦中央に置き ます。 テキス ト がはめ込み枠を満た さ ない と き
は、 テキス ト の上 と 下の両方に空白がで き ます。
bottom
組版を最終行か ら始め、 上へ進行。 テキス ト がはめ込み枠を満た さ ない と きは、 テキス
ト の上に空白がで き ます。
justify
テキス ト をはめ込み枠の上端 と 下端に整列 さ せます。 そのために行送 り を、
linespreadlimit で指定 し ている制限内で増や し ます。 先頭行の高 さ は、
firstlinedist=leading に し ている と き だけ増や し ます。
(表 5.13 に従っ たオプ シ ョ ン リ ス ト ) テキス ト が、 表 5.13 に示すサブオプ シ ョ ン群で指定する輪
郭を回 り 込みます。 こ れを使 う と 、 テキス ト フ ローの中にグ ラ フ ィ ッ ク を配置 し て、 テキス ト を
その回 り に回 り 込ませた り 、 あ るいは任意の輪郭の中へテキス ト を流 し 込んだ り する こ と がで き
ます。 はめ込み枠への流 し 込みは、 fillrule オプ シ ョ ンに従 っ て行われ、 はめ込み枠の辺か ら開
始 さ れます。
デ フ ォ ル ト では、 指定する領域に一切テキス ト が入 り ません (領域ど う し が重な り 合 う 場合を除
き)。 すなわち、 テキス ト は輪郭を回 り 込みます。 addfitbox ・ inversefill オプ シ ョ ン を使 う と 、
こ れ と 逆の効果が得 られます : すなわち、 指定する領域へテキス ト が流 し 込まれ、 その外側の、
はめ込み枠 と 輪郭の間の領域は空のま まにな り ます。 こ れを利用すれば、 任意の輪郭 (llx/lly/
urx/ury 引数で与え る長方形にかぎ ら ず) へテキス ト を流 し 込む こ と がで き ます。
絶対座標値 と 相対座標値はユーザー座標系で解釈 さ れます。 相対座標は、 直前の絶対座標に追加
さ れます。 最大 256 個の値を相対値 と し て与え る こ と がで き ます。 パーセ ン ト 値は、 はめ込み枠
座標系で、 すなわちはめ込み枠の左下隅を (0, 0)、 右上隅を (100, 100) と し て解釈 さ れます (上か
ら下への座標系において も )。 最大 256 個の値をパーセ ン ト 値 と し て与え る こ と がで き ます。 例 :
枠を相対座標で除外 : wrap={ boxes={{120r 340r 50r 60r}} }
(wrap={ boxes={{120 340 170 400}} } と 同等)
はめ込み枠の右上 4 分の 1 部分を除外 : wrap={ boxes={50% 50% 100% 100%} }
三角形の輪郭へ流 し 込み : wrap={ addfitbox polygons={{50% 80% 30% 40% 70% 40% 50% 80%}} }
image1 と い う 範囲枠をつけた画像の領域を回 り 込み : wrap={ usematchboxes={{ image1 }}}
1. firstlinedist ・ lastlinedist ・ verticalalign オ プ シ ョ ンは、 た と え回 り 込み要素が存在 し ていて も 、 つねにはめ込み枠か
ら の指定にな り ます。 すなわち テキス ト フ ローは、 テキス ト と はめ込み枠の辺 と の距離を、 お よび verticalalign オ プ シ ョ ン
に従 っ て テキス ト 枠の位置を決定す る にあた り 、 回 り 込み要素群の境界枠を用い ません。 こ の こ と は と り わけ、 反転流 し 込
み、 すなわち回 り 込み要素群にテキス ト を流 し 込む場合に重要にな り ます。 こ のせいで、 と く に回 り 込み要素の外辺がはめ込
み枠に接 し ていない場合には、 結果が思い通 り にな ら ないか も し れません。 こ の影響は、 はめ込み枠に接する よ う な回 り 込み
要素を与え る こ と でほぼ完全に避ける こ と がで き ます。
表 5.13 PDF_fit_textflow( ) の wrap オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
addfitbox
(論理値) はめ込み枠が回 り 込み領域に追加 さ れます。 結果 と し て、 他の回 り 込みオプ シ ョ ン群
で指定する輪郭について、 テキス ト がその輪郭を回 り 込むのではな く 、 輪郭へテキス ト が流 し 込
まれます。 デ フ ォ ル ト : false
beziers
(ベジ エ曲線 2 個以上の リ ス ト ) 回 り 込み領域に追加 し たいベジ エ曲線群。
boxes
(長方形の リ ス ト ) 回 り 込み領域に追加 し たい 1 個ない し 複数の長方形。
circles
(円の リ ス ト ) 回 り 込み領域に追加 し たい 1 個ない し 複数の円。
116
第 5 章 : テキス ト と 表の組版
表 5.13 PDF_fit_textflow( ) の wrap オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
creatematchboxes
(オプ シ ョ ン リ ス ト の リ ス ト ) boxes オプ シ ョ ン内の長方形 1 個ない し 複数か ら範囲枠を生成 し ま
す。 それぞれのオプ シ ョ ン リ ス ト が、 boxes オプ シ ョ ン内の項目 1 個に対応 し (順序は意味を持
ち ます)、 範囲枠 1 個の生成を制御 し ます。 表 6.4 のすべての関連する範囲枠オプ シ ョ ンが使え ま
す。 サブオプ シ ョ ン リ ス ト は空にする こ と も で き、 その場合は、 照応する回 り こみ枠に対する範
囲枠は生成 さ れません。
fillrule
(キーワー ド ) 重な り 合 う 回 り 込み輪郭の内側を決定する ための方式を指定 し ます (デ フ ォル ト :
evenodd)。 詳 し く は表 7.1 を参照 :
evenodd
偶奇規則を用います。
winding
非ゼロ巻数規則を用います。 重な り 合 う 円の内側を処理 し たい と き (すなわち、 「 ド ー
ナツの穴」 を避ける) や、 重な り 合 う 輪郭の和 (共通部でな く ) を処理 し たい と きは、
こ の規則を用います。
inversefill
(論理値) true にする と 、 回 り 込み輪郭の処理は、 テキス ト 行 と はめ込み枠内の回 り 込み要素の
辺 と の最初の共通部か ら始ま り ます。 false にする と 、 処理ははめ込み枠の辺か ら始ま り ます。
fillrule=evenodd の場合、 inversefill=true オプ シ ョ ンは addfitbox=true と 同 じ 効果を持ち ま
す。 fillrule=winding の場合、 addfitbox=true オプ シ ョ ン な らばはめ込み枠は空か満た さ れる
かのど ち ら かにな り ます (それぞれ inversefill=false ・ true の と き)。
lineheight
(要素 2 個の リ ス ト 。 各要素は正の float かキーワー ド ) 回 り 込み要素 と の交わ り を算出する ため
に使われる、 テキス ト 行の縦範囲を定義 し ます。 テキス ト のベース ラ イ ンの上方 と 下方の範囲に
ついて、 キーワー ド 2 個か float 2 個を指定する こ と がで き ます。 使え るキーワー ド :
none (範囲な し ) ・ xheight ・ descender ・ capheight ・ ascender ・ fontsize ・ leading ・ textrise
デ フ ォル ト : {ascender descender}
usematchboxes
(文字列の リ ス ト の リ ス ト ) それぞれの リ ス ト の 1 番目の要素は、 範囲枠を指定する名前文字列
です。 2 番目の要素は、 示 し たい長方形の番号を指定する整数か、 または選んでいる範囲枠を参
照 し ているすべての長方形を指定 し たい と きはキーワー ド all も 使え ます。 2 番目の要素を指定
し ない と 、 デ フ ォ ル ト と し て all と 見な さ れます。 それぞれの長方形の外接枠が、 テキス ト の回
り 込みのための輪郭 と し て使われます。
offset
(float ま たはパーセ ン ト 値) テキス ト と 回 り 込み領域の輪郭 と の横間隔を、 ユーザー座標で、 ま
たははめ込み枠の幅に対するパーセ ン ト 値で指定 し ます。 こ れを使 う と 、 回 り 込み領域を横へ拡
げる こ と がで き ます。 デ フ ォ ル ト : 0
paths
(オプ シ ョ ン リ ス ト の リ ス ト ) 回 り 込み領域に追加 し たい 1 個ない し 複数のパス。 使え るサブオ
プシ ョ ン :
path
(パスハン ド ル。 必須) 回 り 込み領域に追加 し たいパスのハン ド ル。
refpoint
(float 2 個かパーセ ン ト 値 2 個の リ ス ト ) パスに対する参照点の座標を、 ユーザー座標
で、 またははめ込み枠の幅 と 高 さ に対するパーセ ン ト 値で指定 し ます。 デ フ ォ ル ト :
{0 0}
PDF_draw_path( ) の以下のオプ シ ョ ン (表 6.1 ・ 表 7.7 参照) も 使え ます :
align ・ attachmentpoint ・ boxsize ・ close ・ fitmethod ・ orientate ・ position ・ round ・ scale ・
subpaths
polygons
(折れ線の リ ス ト ) 回 り 込み領域に追加 し たい 1 個ない し 複数の折れ線。 閉 じ ていな く て もかま
いません)。
5.2 テキス ト フ ローによ る複数行テキス ト
117
C++ Java C# double info_textflow(int textflow, String keyword)
Perl PHP float info_textflow(int textflow, string keyword)
C double PDF_info_textflow(PDF *p, int textflow, const char *keyword)
テ キ ス ト フ ロ ーの、 PDF_fit_textflow( ) を呼び出 し た後のカ レ ン ト ス テー タ ス を取得 し ま
す。
textflow PDF_add/create_textflow( ) か PDF_fill_textblock( ) で textflowhandle オプシ ョ ン
を指定 し て呼び出 し て返 さ れたテ キ ス ト フ ロ ーハン ド ル。
keyword
ほ し い情報を表 5.14 に従っ て指定 し た キーワー ド 。
戻り値 keyword で要求 し た何 ら かのテ キ ス ト フ ロ ー特性の値。 こ の関数は、 ブ ラ イ ン ド モー ド で
も 正 し い位置情報を返 し ます (textx/texty オプシ ョ ン と は異な り )。 要求 さ れた キーワー
ド がテ キ ス ト を生み出す場合には、 文字列番号が返 さ れ、 その照応す る 文字列を、 PDF_
get_string( ) を用いて取得す る 必要があ り ます。
スコープ オブ ジ ェ ク ト 以外の任意
表 5.14 PDF_info_textflow( ) のキーワー ド
キーワー ド
説明
boundingbox
テキス ト フ ローの外接枠をユーザー座標で表 し た も のを内容 と し て持つパスのハン ド ル、
または -1 (PHP では 0)。 firstlinedist と lastlinedist が考慮 さ れます。
boxlinecount
最後のはめ込み枠の中の行数
firstparalinecount
はめ込み枠の最初の段落の行数
firstlinedist
テキス ト の先頭ベース ラ イ ン と 、 上方の空想のベース ラ イ ン (verticalalign=top な ら こ
れがはめ込み枠の上端にな る) の間隔
fittext
PDF_fit_textflow( ) への直前の呼び出 し で配置 さ れたテキス ト に対する文字列番号。 こ れを
利用する と 、 はめ込み枠内に配置する こ と がで き たテキス ト の量を知る こ と がで き ます。
文字列は以下のよ う に正規化 さ れます : エ ン コ ーデ ィ ングは、 Unicode 対応言語では UTF16 にな り 、 それ以外では (EBCDIC-) UTF-8 にな り 、 改行は U+000A でマー ク さ れ、 水平
タ ブはスペースキ ャ ラ ク タ U+0020 で置き換え られます。
fontscale
PDF_fit_textflow( ) を fitmethod=auto で も っ と も最近に呼び出 し た後の fontscale の値
lastfont
はめ込み枠の末尾テキス ト 行の中で使われている フ ォ ン ト のハン ド ル
lastfontsize
はめ込み枠の末尾テキス ト 行の中で使われている文字サイ ズ
lastmark
最後のはめ込み枠の中にある テキス ト フ ローの処理済みの部分で見つか っ た最後のマー ク
の番号 (マー クは mark オプ シ ョ ン で設定する こ と がで き ます)
lastlinedist
テキス ト の最終ベース ラ イ ン と 、 行送 り の変更がなかっ た と し た と きの下方の空想のベー
ス ラ イ ン (verticalalign=bottom な ら こ れがはめ込み枠の下端にな る) の間隔
lastparalinecount
はめ込み枠の最後の段落の行数
leading
テキス ト フ ローの中のテキス ト と オプ シ ョ ン によ っ て決定 さ れる、 leading オプ シ ョ ンの
カレン ト値
leftlinex1 ・
leftliney1
も っ と も最近に流 し 込みが行われたはめ込み枠の中の、 も っ と も 左で始ま る行の x ・ y 座標
を、 カ レ ン ト ユーザー座標系で表 し た もの
maxlinelength
も っ と も最近に流 し 込みが行われたはめ込み枠の中の、 も っ と も 長いテキス ト 行の長 さ
118
第 5 章 : テキス ト と 表の組版
表 5.14 PDF_info_textflow( ) のキーワー ド
キーワー ド
説明
maxliney1
も っ と も最近に流 し 込みが行われたはめ込み枠の中の、 も っ と も長いテキス ト 行のベース
ラ イ ンの y 座標を、 カ レ ン ト ユーザー座標系で表 し た もの
minlinelength
も っ と も最近に流 し 込みが行われたはめ込み枠の中の、 も っ と も短いテキス ト 行の長 さ
minliney
1
も っ と も最近に流 し 込みが行われたはめ込み枠の中の、 も っ と も短いテキス ト 行のベース
ラ イ ンの y 座標を、 カ レ ン ト ユーザー座標系で表 し た もの
returnreason
も っ と も最近の PDF_fit_textflow( ) への直接または間接の呼び出 し の戻 り 原因に対する文字
列番号 (表 2.3 参照)。 取得 さ れる戻 り 原因は、 PDF_fit_textflow( ) が返す文字列のいずれか
と 同 じ にな り ます。 こ れは、 PDF_fill_textblock( ) が内部的に行 う 間接的な テキス ト フ ロー呼
び出 し の結果を取得 し たい と き に有用です。
rightlinex1 ・
rightliney1
も っ と も最近に流 し 込みが行われたはめ込み枠の中の、 も っ と も右で終わる行の x ・ y 座標
を、 カ レ ン ト ユーザー座標系で表 し た も の
split
最後のはめ込み枠の中で単語の分割が起き たかど う かを示 し ます。
0
単語を分割する必要はなか っ た。
1
少な く と も 1 個の単語を分割する必要があ っ た。
textendx ・ textendy
も っ と も最近にはめ込み枠へ流 し 込みが行われた後の、 カ レ ン ト テキス ト 位置の x ・ y 座標
を、 カ レ ン ト ユーザー座標系で表 し た も の
textheight
テキス ト 全体の外接枠の高 さ を (firstlinedist と lastlinedist を考慮 し て)、 カ レ ン ト
ユーザー座標系で表 し た も の
textwidth
テキス ト 全体の外接枠の幅を、 カ レ ン ト ユーザー座標系で表 し た も の
used
現時点で配置済みのテキス ト の割合を、 パーセ ン ト 値で表 し た もの (0 ~ 100)
x1 ・ y1 ・ …x4 ・ y4
テキス ト 全体の外接枠の座標を カ レ ン ト ユーザー座標系で表 し た も の。 firstlinedist と
lastlinedist が考慮 さ れます。
1. rotate が 0 以外の と きは、 こ の値は回転後の系を参照 し ます。
C++ Java C# void delete_textflow(int textflow)
Perl PHP delete_textflow(int textflow)
C void PDF_delete_textflow(PDF *p, int textflow)
テ キ ス ト フ ロ ー と 、 関連す る すべてのデー タ 構造を削除 し ます。
textflow PDF_create_textflow( ) か PDF_add_textflow( ) を呼び出 し て返 さ れた テ キ ス ト フ
ロ ーハン ド ル。
詳細
こ の関数で削除 し ていないテ キ ス ト フ ロ ーは、カ レ ン ト の文書ス コ ープ を終え る 時に自動
的 に 削除 さ れ ま す。 し か し 、 多 く の テ キ ス ト フ ロ ー を 生 成す る と き は、 PDF_delete_
textflow( ) を呼び出 さ ない と 、 アプ リ ケーシ ョ ンはかな り 遅 く な り ます。
スコープ 任意
5.2 テキス ト フ ローによ る複数行テキス ト
119
5.3 表の組版
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルがク ッ ク ブ ッ ク の tables/starter_table ト ピ ッ ク にあ り ます。
C++ int add_table_cell(int table, int column, int row, string text, string optlist)
Perl PHP int add_table_cell(int table, int column, int row, string text, string optlist)
C int PDF_add_table_cell(PDF *p,
int table, int column, int row, const char *text, int len, const char *optlist)
新規ま たは既存の表にセルを追加 し ます。
table 以前に PDF_add_table_cell( ) を呼び出 し て取得 し た有効な表ハン ド ルか、 ま たは新
規表を開始 し たい と き は -1 (PHP では 0)。 こ の表ハン ド ルは、 ま だ PDF_fit_table( ) への
呼び出 し では使っ ていない も のでなければな り ません。 すなわち、 表の内容はすべて、 表
をページに配置す る 前に定義す る 必要があ り ます。
column ・ row セルを入れたい列 と 行の番号。 セルが複数の列 ・ 行にわた る と き は、 いち
ばん左の列 と いちばん上の行を与え る 必要があ り ます。 最初の列 ・ 行の番号は 1 です。
text (内容文字列) セルに入れたいテ キ ス ト 。 text を空以外にす る と 、 PDF_fit_textline( )
を使っ てセル内に書 き 込まれます。
len (C 言語バ イ ンデ ィ ン グのみ) text の長 さ (バ イ ト 単位)。 len=0 にす る と null 終了文
字列を与え る 必要があ り ます。
optlist 表セルの組版の詳細を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> 表 5.15 に従っ た表列 ・ 表行定義オプシ ョ ン : colwidth ・ colscalegroup ・ minrowheight ・
return ・ rowheight ・ rowjoingroup ・ rowscalegroup
> 表 5.15 に従っ たセル特性オプシ ョ ン :
avoidwordsplitting・colspan・margin・marginleft・marginbottom・marginright・margintop・
rowspan
> 表 5.15 に従っ たセル内容組版オプシ ョ ン : continuetextflow ・ repeatcontent
> 表 5.16 に従っ た静的セル内容 :
fitgraphics ・ fitimage ・ fitpath ・ fitpdipage ・ fittextflow ・ fittextline ・ graphics ・ image ・
matchbox ・ path ・ pdipage ・ textflow
> 表 5.17 に従っ た イ ン タ ラ ク テ ィ ブセル内容 (ページ ス コ ープでのみ可) :
annotationtype ・ fieldname ・ fieldtype ・ fitannotation ・ fitfield
> 表 14.5 に従っ た、 短縮構造エ レ メ ン ト タ グ付けのためのオプシ ョ ン : tag
戻り値 表ハン ド ル。 以後の表関連の呼び出 し で使え ます。 errorpolicy=return の場合、 戻 り 値 -1
(PHP では 0) はエ ラ ーを表すので、 そ う でないか を呼び出 し 側で調べ る 必要があ り ます。
エ ラ ーが起 き た と き は、 最後のセル定義だけが破棄 さ れます。 表には内容は追加 さ れませ
んが、 表ハン ド ルは有効な ま ま です。 返 さ れた表ハン ド ルは、 複数の PDF 出力文書にわ
た っ て再利用す る こ と はで き ません。
詳細 表セルには、 画像 ・ グ ラ フ ィ ッ ク ・ 取 り 込み PDF ページ ・ パ ス オブジ ェ ク ト ・ フ ォーム
フ ィ ール ド ・ 注釈 ・ テ キ ス ト フ ロ ー ・ テ キ ス ト 行を入れ る こ と がで き ます。 1 つのセルに
対 し て、 複数の内容種別を、 1 回の関数呼び出 し で指定す る こ と も で き ます。
表の組版アルゴ リ ズ ム と 、 幅 ・ 高 さ 計算の解説は PDFlib チ ュ ー ト リ アルを参照。
120
第 5 章 : テキス ト と 表の組版
PDF/UA path か image オプシ ョ ン を用いて与え ら れたベ ク ト ルグ ラ フ ィ ッ ク と ラ ス タ 画像は、 tag
オプシ ョ ン を用いて Artifact か Figure と し て タ グ付けす る 必要があ り ます。
スコープ オブ ジ ェ ク ト 以外の任意
表 5.15 PDF_add_table_cell( ) の組版オプ シ ョ ン
オプ シ ョ ン
説明
avoidwordsplitting
(論理値。 テキス ト フ ローセルに対 し てのみ意味を持ち ます) true の場合、 表組版機能が、 そのテ
キス ト フ ローが、 そのテキス ト を その表セル内へはめ込む際に、 少な く と も 1 つの強制的な単語
分割を必要 と するかど う かを チ ェ ッ ク し ます。 も し そ う であれば、 そのセル幅を拡げて、 単語分
割を避けよ う と し ます。 デ フ ォル ト : true
checkwordsplitting
非推奨。 avoidwordsplitting を使用 し て く だ さ い
colscalegroup1
(文字列) 列を追加 し たい列グループの名前。 長いテキス ト を ま る ご と 収める ために、 グループの
1 つの列を拡げる必要がある と きは、 そのグループのすべての列が統一的に拡大 さ れます。 セルが
複数の列にわた る と きは、 それら の列は自動的に伸縮グループ を形成 し ます。
colspan
(整数) セルがわた る列の数。 デ フ ォ ル ト : 1
1
colwidth
(float またはパーセ ン ト 値) column 引数で指定 し ている列の幅。 こ の幅は、 ユーザー座標で 2、 ま
たは表の最初のはめ込み枠 (PDF_fit_table( ) 参照) の幅に対するパーセ ン ト 値で指定する こ と がで
き ます。 ユーザー座標 と パーセ ン ト 値を混在 さ せてはいけません。 すなわち、 1 つの表では、 すべ
ての列幅定義に、 ユーザー座標かパーセ ン ト 値のど ち らかを使 う 必要があ り ます。 テキス ト を内
容 と する セル群にわた る列の場合には、 その列幅は自動的に増や さ れる こ と があ り ます。 表セル
内に画像 ・ グ ラ フ ィ ッ ク ・ PDF ページがあ っ て も 列幅には一切影響を与え ません。 デ フ ォ ル ト :
PDF_fit_table( ) のオプ シ ョ ン colwidthdefault を参照
continuetextflow
(論理値。 テキス ト フ ローに対 し てのみ意味を持ち ます) true にする と 、 textflow オプ シ ョ ン で
指定 し たテキス ト フ ローの内容を、 も し それ と 同 じ テキス ト フ ローハン ド ルで別のセルへの流 し
込みを行い、 かつそのセルで も continuetextflow=true にする な ら ば、 その別のセルへ続け さ せ
る こ と がで き ます。 テキス ト フ ローの各部分は、 セルが追加 さ れた順番に配置 さ れてい き ます。
PDFlib は、 テキス ト フ ロー全体に対する セルサイ ズの調整は行わず、 また、 avoidwordsplitting
オプ シ ョ ンは無視 さ れます。 ですので、 適切なセルサイ ズを定義する必要があ り ます。
margin
marginleft
marginbottom
marginright
margintop
(float またはパーセ ン ト 値) セルの左 ・ 下 ・ 右 ・ 上余白を、 ユーザー座標系か (0 以上にする必要
があ り ます)、 ま たはセルの幅か高 さ に対するパーセ ン ト 値 (100% 未満にする必要があ り ます) で
指定 し ます。 指定する余白は、 セルの内容に対するはめ込み枠 と し てはた ら く セル内枠を定義 し
ます。 margin に対するデ フ ォ ル ト : 0。 それ以外のすべてに対するデ フ ォ ル ト : margin
minrowheight1
(float またはパーセ ン ト 値) ある表行を 1 つの表イ ン ス タ ン スの中で配置 し きれない と き に、 こ の
オプ シ ョ ンは、 行を分割 し ていいか、 そ し て各部分はどれだけ小 さ く で き るかを指定 し ます。 部
分の最小の高 さ を、 ユーザー座標系か、 または表行の高 さ に対するパーセ ン ト 値で指定する こ と
がで き ます。 デ フ ォル ト : 100%、 すなわち分割な し
5.3 表の組版
121
表 5.15 PDF_add_table_cell( ) の組版オプ シ ョ ン
オプ シ ョ ン
説明
repeatcontent
(論理値) セルまたは表行が複数の表イ ン ス タ ン スに分割 さ れた と き に表セルの内容を繰 り 返すか
ど う かを指定 し ます。 デ フ ォ ル ト : true
セルの分割 : セルが複数表行にわた っ ている場合に、 その末尾表行 (群) がはめ込み枠に収ま ら
ない と きは、 そのセルは分割 さ れます。 repeatcontent=true にする と 、 テキス ト フ ロー (繰 り 返
さ れません) の場合を除き、 そのセル内容は次の表イ ン ス タ ン ス内で繰 り 返 さ れます。 そ う でな
い と きは繰 り 返 さ れません。
表行の分割 : 末尾本体行がはめ込み枠に収ま ら ない と きは、 通常、 その表行は分割 さ れずに次の
表イ ン ス タ ン スへま る ご と 配置 さ れます。 minrowheight 値を小 さ く する こ と に よ っ て、 末尾本体
行を分割 さ せ、 その表行の内容の う ちのある割合を最初のイ ン ス タ ン スに、 残 り の部分を次のイ
ン ス タ ン スに配置 さ せる こ と も で き ます。 repeatcontent=true にする と 、 テキス ト フ ロー (繰 り
返 さ れません) の場合を除き、 そのセル内容は次の表イ ン ス タ ン ス内で繰 り 返 さ れます。 そ う で
ない と きは繰 り 返 さ れません。
return1
(文字列) PDF_fit_table( ) は、 指定行を配置 し た後に停止 し 、 指定文字列を返 し ます。 文字列は、
頭にア ン ダース コ アキ ャ ラ ク タ 「_」 をつけてはいけません。 指定行が連動グループに含まれてい
る と きは、 それはそのグループの最後の行であ る必要があ り ます。 そ う でなければエ ラ ーが起こ
り ます。
rowheight1
(float またはパーセ ン ト 値) row 引数で指定 し ている表行の高 さ 。 こ の高 さ は、 ユーザー座標で 2、
または表の最初のはめ込み枠 (PDF_fit_table( ) 参照) の高 さ に対するパーセ ン ト 値で指定する こ と
がで き ます。 ユーザー座標 と パーセ ン ト 値を混在 さ せてはいけません。 すなわち、 1 個の表では、
すべての表行高 さ 定義に、 ユーザー座標かパーセ ン ト 値のど ち らかを使 う 必要があ り ます。 テキ
ス ト を内容 と する セル群にわた る表行の場合には、 その表行高 さ は自動的に増や さ れる こ と があ
り ます。 表セル内に画像 ・ グ ラ フ ィ ッ ク ・ PDF ページがあ っ て も表行高 さ には一切影響を与え ま
せん。 デ フ ォ ル ト : PDF_fit_table( ) のオプ シ ョ ン rowheightdefault を参照
rowscalegroup1
(文字列) 表行を追加 し たい表行グループの名前。 長いテキス ト を ま る ご と 収める ために、 グルー
プの 1 個の表行を拡げる必要があ る と きは、 そのグループのすべての表行が統一的に拡大 さ れま
す。 セルが複数の表行にわた る と きは、 それら の表行は自動的に伸縮グループ を形成 し ます。
rowjoingroup1
(文字列) 表行を追加 し たい表行グループの名前。 グループの表行はすべて、 1 つの表イ ン ス タ ン
スにま と ま り ます。 グループの表行は連続 し ている必要があ り ます。 セルが複数の表行にわた っ
ていて も、 それらの表行は自動的には連動グループ を形成 し ません。
rowspan
(整数) セルがわた る表行の数。 デ フ ォ ル ト : 1
1. このオ プ シ ョ ンの最後の指定が優先 さ れます。 すなわち、 同 じ 行 ・ 列に対する それ以前の指定は無視 さ れます。
2. よ り 厳密には、 最初の表イ ン ス タ ン ス を配置する ために PDF_fit_table( ) を呼び出 し た時に効いている座標系。
表 5.16 静的セル内容のための、 PDF_add_table_cell( ) のオプ シ ョ ン と 、 PDF_fit_table( ) の caption オプ シ ョ ンのサブ
オプ シ ョ ン
オプ シ ョ ン
説明
fitgraphics
(オプ シ ョ ン リ ス ト 。 グ ラ フ ィ ッ ク でのみ意味を持ち ます) PDF_fit_graphics( ) に対するオプ シ ョ ン
リ ス ト 。 このオプ シ ョ ン リ ス ト は、 graphics オプ シ ョ ン を用いて与え ら れたグ ラ フ ィ ッ ク を セル
内に配置する ために適用 さ れます。 そのはめ込み枠の左下隅が参照点 と し て用い られます。
デ フ ォ ル ト : fitmethod=meet position=center。 このオプ シ ョ ン リ ス ト が、 ユーザーが与え るオ
プ シ ョ ン群の頭に付加 さ れます。1
fitimage
122
(オプ シ ョ ン リ ス ト 。 画像 と テ ン プ レー ト に対 し てのみ意味を持ち ます) PDF_fit_image( ) に対する
オプ シ ョ ン リ ス ト 。 こ のオプ シ ョ ン リ ス ト は、 image オプ シ ョ ン を用いて与え られた画像またはテ
ン プ レー ト を セル内に配置する ために適用 さ れます。 そのはめ込み枠の左下隅が参照点 と し て使
われます。
デ フ ォ ル ト : fitmethod=meet position=center。 このオプ シ ョ ン リ ス ト が、 ユーザーが与え るオ
プ シ ョ ン群の頭に付加 さ れます。 1
第 5 章 : テキス ト と 表の組版
表 5.16 静的セル内容のための、 PDF_add_table_cell( ) のオプ シ ョ ン と 、 PDF_fit_table( ) の caption オプ シ ョ ンのサブ
オプ シ ョ ン
オプ シ ョ ン
説明
fitpath
(オプ シ ョ ン リ ス ト 。 パスオブ ジ ェ ク ト に対 し てのみ意味を持ち ます) PDF_draw_path( ) に対する オ
プ シ ョ ン リ ス ト 。 このオプ シ ョ ン リ ス ト は、 path オプ シ ョ ン を用いて指定 さ れたパスオブ ジ ェ ク
ト がその外接枠内に入 っ た も のを セル内に配置する ために適用 さ れます。 そのはめ込み枠の左下
隅が参照点 と し て用い られます。
デ フ ォル ト : fitmethod=meet position=center。 こ のオプ シ ョ ン リ ス ト が、 ユーザーが与え る オ
プ シ ョ ン群の頭に付加 さ れます。 1
fitpdipage
(オプ シ ョ ン リ ス ト 。 PDI ページに対 し てのみ意味を持ち ます。 PDI が利用可能な場合のみ) PDF_
fit_pdi_page( ) に対するオプ シ ョ ン リ ス ト 。 このオプ シ ョ ン リ ス ト は、 pdipage オプ シ ョ ン を用いて
与え られたページ を セル内に配置する ために適用 さ れます。 そのはめ込み枠の左下隅が参照点 と
し て用い られます。
デ フ ォル ト : fitmethod=meet position=center。 こ のオプ シ ョ ン リ ス ト が、 ユーザーが与え る オ
プ シ ョ ン群の頭に付加 さ れます。 1
fittextflow
(オプ シ ョ ン リ ス ト 。 テキス ト フ ローに対 し てのみ意味を持ち ます) PDF_fit_textflow( ) に対する オ
プ シ ョ ン リ ス ト 。 このオプ シ ョ ン リ ス ト は、 textflow オプ シ ョ ン で与え ら れたテキス ト フ ローを
セル内に配置する ために適用 さ れます。 そのはめ込み枠がはめ込み枠 と し て用い られます。
デ フ ォル ト : verticalalign=center lastlinedist=descender。 このオプ シ ョ ン リ ス ト が、 ユー
ザーが与え る オプ シ ョ ン リ ス ト の頭に付加 さ れます。
fittextline
(オプ シ ョ ン リ ス ト 。 テキス ト 行に対 し てのみ意味を持ち ます) PDF_fit_textline( ) に対する オプ
シ ョ ン リ ス ト 。 こ のオプ シ ョ ン リ ス ト は、 text 引数を用いて与え ら れた テキス ト を セル内に配置
する ために適用 さ れます。 そのはめ込み枠の左下隅が参照点 と し て使われます。 指定 し ていない
オプ シ ョ ンは、 それぞれのデ フ ォ ル ト に置き換え られます。 カ レ ン ト テキス ト ス テー タ スは考慮
さ れません。
デ フ ォル ト : fitmethod=nofit position=center。 こ のオプ シ ョ ン リ ス ト が、 ユーザーが与え る オ
プ シ ョ ン群の頭に付加 さ れます。 1
graphics
(グ ラ フ ィ ッ クハン ド ル) こ のハン ド ルに紐付け ら れたグ ラ フ ィ ッ クが こ のはめ込み枠内に配置 さ
れます。
image
(画像ハン ド ル) ハン ド ルに関連づけ られた画像が、 セル内枠の中に配置 さ れます。
matchbox
(オプ シ ョ ン リ ス ト ) 範囲枠の詳細を表 6.4 に従 っ て入れたオプ シ ョ ン リ ス ト
path
(パスハン ド ル) パスオブ ジ ェ ク ト がその外接枠内に入っ た ものが、 fitpath オプ シ ョ ンに従っ て
セル内枠内に配置 さ れます。
pdipage
(ページハン ド ル) ハン ド ルに関連づけ られた取 り 込み PDF ページが、 セル内枠内に配置 さ れま
す。
text
(内容文字列) PDF_fit_textline( ) を用いて、 オプ シ ョ ン fittextline に従っ て配置 し たいテキス ト 。
PDF_add_table_cell( ) では、 こ のオプ シ ョ ンの値を関数引数 text を通 じ て与え る こ と も で き ます。
textflow
(テキス ト フ ローハン ド ル) ハン ド ルに関連づけ ら れた テキス ト フ ローが、 はめ込み枠内に配置 さ
れます。 continuetextflow オプ シ ョ ンが、 複数のセルで使われる テキス ト フ ローハン ド ルに対す
る動作を制御 し ます。 1 個のテキス ト フ ローハン ド ルは表の外で使っ てはいけません。
1. 枠の大き さ は自動的に算出 さ れます。 オプ シ ョ ン リ ス ト で boxsize オプ シ ョ ン を与え て も 無視 さ れます。
5.3 表の組版
123
表 5.17 イ ン タ ラ ク テ ィ ブ なセル内容のための、 PDF_add_table_cell( ) のオプ シ ョ ン と 、 caption オプ シ ョ ンのサブオ
プ シ ョ ン (ページス コ ープ でのみ)
オプ シ ョ ン
説明
annotationtype
(文字列) 表セル内に挿入 し たい注釈の種別を表 12.2 に従 っ て指定 し ます。
fieldname
(ハイパーテキス ト 文字列) fieldtype に対する フ ォ ーム フ ィ ール ド 名。
fieldtype
(文字列) 表セルに挿入 し たい フ ォ ーム フ ィ ール ド の種類を表 12.4 に従 っ て指定 し ます。 フ ォ ーム
フ ィ ール ド グループは表の外で定義する必要があ り ます。
fitannotation
(オプ シ ョ ン リ ス ト ) に対する、 表 12.3 に従 っ た注釈オプ シ ョ ン群。
fitfield
(オプ シ ョ ン リ ス ト ) に対する、 表 12.5 に従 っ た フ ォ ーム フ ィ ール ド オプ シ ョ ン群。
C++ Java C# String fit_table(int table, double llx, double lly, double urx, double ury, String optlist)
Perl PHP string fit_table(int table, float llx, float lly, float urx, float ury, string optlist)
C const char *PDF_fit_table(PDF *p,
int table, double llx, double lly, double urx, double ury, const char *optlist)
表の全部ない し 一部分をページに配置 し ます。
table
PDF_add_table_cell( ) を呼び出 し て取得 し た有効な表ハン ド ル。
llx ・ lly ・ urx ・ ury 表 イ ン ス タ ン ス を配置 し たい長方形 (はめ込み枠) の左下隅 と 右上
隅の座標を、 ユーザー座標で指定 し ます。 こ の 2 個の隅は逆の順に指定す る こ と も で き ま
す。
optlist 配置の詳細を表 5.18 に従っ て指定 し たオプシ ョ ン リ ス ト 。 以下のオプシ ョ ンが
使え ます :
> 一般オプシ ョ ン : errorpolicy (21 ページ 「2.1 例外処理」 参照)
> 表 6.1 に従っ たはめ込みオプシ ョ ン : fitmethod ・ position ・ showborder
> 一般表オプシ ョ ン :
blind ・ colwidthdefault ・ horshrinklimit ・ rewind ・ rowheightdefault ・ vertshrinklimit
> 表内容 : header ・ footer
> 表装飾 : fill ・ firstdraw ・ gstate ・ stroke
> 開発 ・ デバ ッ グの視覚支援 : debugshow ・ showcells ・ showgrid
> 表 14.5 に従っ た、 短縮構造エ レ メ ン ト タ グ付けのためのオプシ ョ ン (ページ ス コ ープ
でのみ可) : tag。 こ のオプシ ョ ン を使 う と 、 自動表 タ グ付け を引 き 起 こ す こ と がで き
ます (詳 し く は PDFlib チ ュ ー ト リ アルを参照)。
戻り値 関数か ら 戻っ た原因を示す文字列。
> _stop : 表のすべての表行の処理が完了。
> _boxfull:配置す る べ き 表行は ま だあ る が、表のはめ込み枠に充分は余地が得 ら れない。
も う 一度 PDF_fit_table( ) を呼び出 し て残 り の表行を処理す る 必要があ り ます。
> _error : エ ラ ーが発生。 問題に関す る 詳細を得る には、 PDF_get_errmsg( ) を呼び出 し ま
す。 その問題を視覚化 さ せ る には debugshow=true と 設定 し ます。
> それ以外の文字列 : PDF_add_table_cell( ) への呼び出 し で return オプシ ョ ンに与え た文
字列。
エ ラ ー動作は、 errorpolicy オプシ ョ ンで変え る こ と がで き ます。
124
第 5 章 : テキス ト と 表の組版
詳細 表をページに配置 し ます。 こ れ以前に PDF_add_table_cell( ) を呼び出 し て表にセルを入れ
てお く 必要があ り ます。 表全体がはめ込み枠に収ま り き ら ない と き は、 最初の表 イ ン ス タ
ン ス が配置 さ れます。 以後 こ の関数を呼び出 し て、 さ ら な る 表 イ ン ス タ ン ス を配置 し てい
く こ と がで き ます。 表セルの内容は、 以下の順序で配置 さ れます。
> 塗 り : fill
オプシ ョ ンで指定す る 領域は、 次の順序で塗 ら れます : table ・ colother ・
colodd・coleven・col#・collast・rowother・rowodd・roweven・row#・rowlast・header・footer。
> 範囲枠の塗 り : matchbox 定義で定義 し た領域群。
> 内容 : 指定 し たセル内容は、 次の順序で配置 さ れ ます : 画像、 グ ラ フ ィ ッ ク 、 取 り 込
み PDF ページ グ ラ フ ィ ッ ク 、 パ ス オブジ ェ ク ト 、 テ キ ス ト フ ロ ー、 テ キ ス ト 行、 注釈、
フ ォーム フ ィ ール ド 。
> 範囲枠の罫線 : matchbox 定義で定義 し た領域群。
> 罫線:stroke オプシ ョ ンで指定す る 線は、stroke オプシ ョ ンの linecap・linejoin サブオプ
シ ョ ンに従っ て、次の順序で描線 さ れます : other ・ horother ・ hor# ・ horlast ・ vertother ・
vert# ・ vertlast ・ frame (横線 と 縦線の順序は、 firstdraw オプシ ョ ン で変え る こ と がで
き ます。) 。 複数の行 ・ 列にわた る セルの中では、 罫線は引かれません。 同様に、 枠線
の装飾を指定 し てい る 範囲枠をつけてい る セルの ま わ り には、線は描線 さ れません (そ
の範囲枠がセル内枠を使っ てい る と き を除 き ) 。 表の枠線 vert0 ・ hor0 ・ vertN ・ horN
は、 frame を指定 し てい る と き は無視 さ れます。
> 名前付 き 範囲枠 : こ れ ら には、 表関数以外の、 注釈 ・ フ ォ ーム フ ィ ール ド ・ 画像 ・ グ
ラ フ ィ ッ ク な ど をつけ る こ と がで き ます。
自動表 タ グ付け : tag オプシ ョ ン を用い る と 、 自動表 タ グ付け を引 き 起 こ す こ と がで き ま
す (PDFlib チ ュ ー ト リ アル参照)。
スコープ 一般にはページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ。 ただ し 、 表が フ ォーム フ ィ ール ド か
注釈を含んでい る 場合には、 各ス コ ープが勝 り ます。 た と えば、 フ ォーム フ ィ ール ド か注
釈を含んでい る 表は、 テ ンプ レー ト 上に配置す る こ と がで き ません。
PDF/UA 自動表 タ グ付けが有効な場合には、 表装飾 (罫線 と 塗 り ) は自動的にページ装飾 と し て タ
グ付け さ れます。
表 5.18 PDF_fit_table( ) のオプ シ ョ ン
オプ シ ョ ン
説明
blind
(論理値) true にする と 、 すべての計算が行われますが、 出力は作成 さ れません。 組版の結果は、
PDF_info_table( ) で調べる こ と がで き ます。 デ フ ォ ル ト : false
5.3 表の組版
125
表 5.18 PDF_fit_table( ) のオプ シ ョ ン
オプ シ ョ ン
説明
caption
(オプ シ ョ ン リ ス ト ) 算出 さ れたはめ込み枠からの相対位置にキ ャ プ シ ョ ンのためのはめ込み枠を
作成 し 、 それに さ ま ざ ま な種別の内容をはめ込みます。 以下のオプ シ ョ ン を与え る こ と がで き ま
す (デ フ ォル ト : キ ャ プ シ ョ ン な し ) :
fitbox
(4 個の float かパーセ ン ト 値で絶対または相対座標を表 し た も の。必須) 枠の対角線上の
2 隅の座標をユーザー座標で表 し た もの。 値がパーセ ン ト 値か相対値の場合には、 それ
は表イ ン ス タ ン スの照応する隅 {llx lly urx ury} からのオ フ セ ッ ト を示 し ます。 llx
か urx に照応するパーセ ン ト 値は、 表イ ン ス タ ン ス幅に対するパーセ ン ト 値であ り 、
lly か ury に照応するパーセ ン ト 値は、 表イ ン ス タ ン ス高 さ に対するパーセ ン ト 値です。
こ のはめ込み枠は、 その内容のサイ ズに合わせて自動的に調整 さ れません。 指定 さ れた
範囲枠はそのはめ込み枠を記述 し ます。 こ れを使っ て、 こ のキ ャ プ シ ョ ンはめ込み枠を
描いた り 、 PDF_info_matchbox( ) を用いてその範囲枠を取得 し た り する こ と がで き ます。
こ の fitbox オプ シ ョ ンの使用例 :
表イ ン ス タ ン スの上端の、 高 さ 20 のはめ込み枠 : fitbox={0r 100% 0r 20r}
表イ ン ス タ ン スの右側の、 幅 20、 下端か らのオ フ セ ッ ト 20% のはめ込み枠 :
fitbox={100% 20% 20r 0r}
こ れに加えて、 以下のオプ シ ョ ン を使え ます :
> 表 5.16 に従っ た、 静的セル内容のためのオプ シ ョ ン : fitgraphics・fitimage・fitpath・
fitpdipage・fittextflow・fittextline・graphics・image・matchbox・path・pdipage・text・
textflow
> 表 5.17 に従っ た、 イ ン タ ラ ク テ ィ ブ セル内容のためのオプ シ ョ ン ( ページ ス コ ープ でのみ可) :
annotationtype, fieldname・fieldtype・fitannotation・fitfield
> 表 14.5 に従っ た、 短縮構造エ レ メ ン ト タ グ付けのためのオプ シ ョ ン : tag。 こ れを使 う と 、 キ ャ
プ シ ョ ン内容の親エ レ メ ン ト や、 キ ャ プ シ ョ ン内容を構成する複数のエ レ メ ン ト のための コ ン テ
ナ と し てグループ化エ レ メ ン ト を挿入する こ と がで き ます。
colwidthdefault
(float またはキーワー ド 。 1 個の表についての最初の PDF_fit_table( ) への呼び出 し でのみ意味を持
ち ます) テキス ト 行 も テキス ト フ ロー も 含ま ない、 かつ PDF_add_table_cell( ) の colwidth オプ シ ョ
ンが指定 さ れなかっ た列に対するデ フ ォ ル ト 幅。 このデ フ ォ ル ト 幅は、 絶対値 と し て、 または
キーワー ド と し て指定する こ と がで き ます。 値 0 (ゼロ) はキーワー ド distribute と 同等です。
以下のキーワー ド を使え ます (デ フ ォル ト : auto) :
auto
幅が指定 さ れていない、 かつテキス ト 行セルのみを内容 と する表列は、 そのテキス ト の
幅を持ち ます。 はめ込み枠の残 り の幅が、 テキス ト フ ローまたはその他のセルを持つす
べての表行に分配 さ れます。 表ははめ込み枠の幅い っ ぱいに広が り ます。
distribute はめ込み枠の幅が、 幅が指定 さ れていない、 かつテキス ト 行を含んでいないすべての表
列に均等に分配 さ れます。 表は、 それがテキス ト 行のみを含んでいる場合を除き、 はめ
込み枠の幅い っ ぱいを占めます。
minimum 幅が指定 さ れていない、 テキス ト 行セルのみを内容 と する表列は、 そのテキス ト の幅、
すなわち、 そのテキス ト を保持で き る可能なかぎ り 小 さ な幅を持ち ます。
最小限の幅を持つ列を生成するには、 小 さ な値を与え る こ と がで き ます (0.1 な ど)。 テキス ト 行
かテキス ト フ ローを含むすべての列の幅は自動的に調整 さ れます (PDFlib チ ュ ー ト リ アル参照)。
debugshow
126
(論理値) true にする と 、 表が高すぎか、 または幅が広すぎか、 ま たはそのセルが小 さ すぎのエ
ラ ーがすべて出な く な り 、 かわ り にログ記録 さ れます。 で き あがる表イ ン ス タ ン スは、 表 と し て
はおか し く な り ますが、 デバ ッ グの助け と し て作成 さ れます。 デ フ ォル ト : false
第 5 章 : テキス ト と 表の組版
表 5.18 PDF_fit_table( ) のオプ シ ョ ン
オプ シ ョ ン
説明
fill
(オプ シ ョ ン リ ス ト の リ ス ト ) こ のオプ シ ョ ン を使 う と 、 行 ・ 列に色を塗る こ と がで き ます (1 個
のセルに色を塗るには、 matchbox オプ シ ョ ンが使え ます。 139 ページ 「6.2 範囲枠」 参照) :
area
(キーワー ド ) 塗 り たい表の領域。
col#
表の列番号 #
collast
最後の列
coleven
偶数番号の列すべて (PDF_add_table_cell( ) の col に従っ て)
colodd
奇数番号の列すべて
colother 未指定の列すべて
row#
表の行番号 #
rowlast
表イ ン ス タ ン スの最後の本体行
roweven 偶数番号の表行すべて (PDF_add_table_cell( ) の row に従っ て)
rowodd 奇数番号の表行すべて
header
ヘ ッ ダグループの表行すべて
footer
フ ッ タ グループの表行すべて
rowother 未指定の本体行すべて
table
表領域全体 (すなわち表の表行すべて)
表 7.1 に従っ た以下のグ ラ フ ィ ッ ク書式オプ シ ョ ン も使え ます :
fillcolor ・ shading
例:
表の表行すべて を赤 く 塗る : fill = { {area=table fillcolor=red} }
奇数番号の表行を緑で、 偶数番号の表行を赤で塗る :
fill = { {area=rowodd fillcolor=green} {area=roweven fillcolor=red} }
表領域の塗 り を行わないためには fillcolor=none を使用 し ます。
firstdraw
(キーワー ド ) 横線 と 縦線を生成する順序を指定 し ます (デ フ ォ ル ト : vertlines) :
horlines
横線を まず生成 し ます。
vertlines
縦線を まず生成 し ます。
footer
(整数) 表の定義における、 終了部 ( フ ッ タ ) 表行の数。 各表イ ン ス タ ン スの下端に現れます。 デ
フ ォ ル ト : 0 ( フ ッ タ 行な し )
gstate
(グ ラ フ ィ ッ ク ス テー タ スハン ド ル) PDF_create_gstate( ) で取得 し たグ ラ フ ィ ッ ク ス テー タ スのハ
ン ド ル。 すべての表装飾が、 与え るグ ラ フ ィ ッ ク ス テー タ スに従います。 セル内容では効力を持
ち ません。 デ フ ォル ト : グ ラ フ ィ ッ ク ス テー タ スな し (すなわち、 カ レ ン ト 設定が用い られます)
header
(整数) 表の定義における、 開始部 (ヘ ッ ダ) 表行の数。 各表イ ン ス タ ン スの上端に現れます。 デ
フ ォ ル ト : 0 (ヘ ッ ダ行な し )
horshrinklimit
(float またはパーセ ン ト 値) 表のはめ込み枠に収める ために表を縮める と き に使われる横縮小倍率
の下限か (パーセ ン ト 値を与え る と き)、 ま たは表の幅 と はめ込み枠の幅の差の絶対指定 (float を
与え る と き)。 デ フ ォル ト : 50%
rewind
(-1 ・ 0 ・ 1 のいずれかの整数) 表の状態を、 PDF_fit_table( ) を呼び出 し たいずれかの時の前の状態
に リ セ ッ ト し ます。 目下、 以下の値が使え ます。 デ フ ォ ル ト : 0。
1
PDF_fit_table( ) を最初に呼び出 し た時の前の状態へ巻き戻 し 。
0
表を リ セ ッ ト し ません。
-1
PDF_fit_table( ) を最後に呼び出 し た時の前 (今回の呼び出 し の前) の状態へ巻き戻 し 。
5.3 表の組版
127
表 5.18 PDF_fit_table( ) のオプ シ ョ ン
オプ シ ョ ン
説明
rowheightdefault
(float またはキーワー ド 。 1 個の表についての最初の PDF_fit_table( ) への呼び出 し でのみ意味を持
ち ます) PDF_add_table_cell( ) の rowheight オプ シ ョ ンが指定 さ れなか っ た表行に対するデ フ ォル ト
高 さ 。 こ のデ フ ォル ト 高 さ は、 絶対値 と し て、 またはキーワー ド と し て指定する こ と がで き ます。
float 値が指定 さ れた場合には、 それがテキス ト 枠高 さ よ り も小 さ な場合を除き、 それはデ フ ォル
ト 表行高 さ と し て用い られます。 値 0 (ゼロ) はキーワー ド distribute と 等価です。 以下のキー
ワー ド を使え ます (デ フ ォ ル ト : auto) :
auto
テキス ト 行セルのみを内容 と する表行は、 テキス ト 枠の高 さ の 2 倍の高 さ を持ち ます。
はめ込み枠の残 り の高 さ は、 テキス ト フ ローかその他のセルを持つすべての表行に分配
さ れます。 表ははめ込み枠の高 さ い っぱいに広が り ます。
distribute はめ込み枠の高 さ が、 高 さ が指定 さ れていないすべての表行に均等に分配 さ れます。 表
ははめ込み枠の高 さ い っぱい を占めます。
minimum 高 さ が指定 さ れていない、 テキス ト 行セルのみを内容 と する表行は、 そのテキス ト 枠の
高 さ 、 すなわち、 そのテキス ト を保持で き る最 も小 さ な高 さ を持ち ます。 テキス ト 行セ
ルの高 さ を増やすには boxsize か margin オプ シ ョ ン を使います。
最小限の高 さ を持つ表行を生成するには、 小 さ な可能な値を与え る こ と がで き ます (1 な ど)。 テ
キス ト 行かテキス ト フ ローを含むすべての表行の高 さ は自動的に調整 さ れます (PDFlib チ ュ ー ト
リ アル参照)。
showcells
(論理値) true にする と 、 各セル内枠の辺がカ レ ン ト グ ラ フ ィ ッ ク ス テー タ ス を使 っ て描線 さ れま
す。 ページ ス コ ープ では、 PDF/A がア ク テ ィ ブ でない場合には、 各セルは さ ら に、 そのセルの内
容を記述 し た注釈を用いて修飾 さ れますので、 こ れは表関連の諸問題を分析する ために有用で
し ょ う 。 デ フ ォ ル ト : false
showgrid
(論理値) true にする と 、 すべての列 と 行の縦 ・ 横の境界が描線 さ れます。 デ フ ォ ル ト : false
stroke
(オプ シ ョ ン リ ス ト の リ ス ト ) こ のオプ シ ョ ン を使 う と 、 セルの辺に描線を作成する こ と がで き ま
す:
line
(キーワー ド ) 描線 し たい表の線。
vert#
列番号 # の右の辺の縦線。 vert0 は表の左の辺
vertfirst 最初の縦線 (vert0 と 同義)
vertlast
最後の縦線
vertother 未指定の縦線すべて
hor#
表行番号 # の下の辺の横線。 row0 は表の上の辺
horfirst
表イ ン ス タ ン スの最初の横線
horother 未指定の横線すべて
horlast
表イ ン ス タ ン スの最後の横線
frame
表の外辺
other
指定 し ていない線すべて
表 7.1 に従 っ た以下のグ ラ フ ィ ッ ク書式オプ シ ョ ン も使え ます :
dasharray ・ dashphase ・ linecap ・ linejoin ・ linewidth ・ strokecolor
例:
すべての線を黒で線幅 1 で描線 : stroke = {line=other}
外辺の線を線幅 0.5 で描線 : stroke = { {line=frame linewidth=0.5} }
外辺の線を線幅 0.5 で、 他の線すべて を線幅 0.1 で描線 :
stroke = { {line=frame linewidth=0.5} {line=other linewidth=0.1} }
表領域に対 し て描線を行わないためには strokecolor=none を使用 し ます。
vertshrinklimit
128
(float またはパーセ ン ト 値) 表のはめ込み枠に収める ために表を縮める と き に使われる縦縮小倍率
の下限か (パーセ ン ト 値を与え る と き)、 または表の高 さ と はめ込み枠の高 さ の差の絶対指定
(float を与え る と き)。 デ フ ォ ル ト : 90%
第 5 章 : テキス ト と 表の組版
C++ Java C# double info_table(int table, String keyword)
Perl PHP float info_table(int table, string keyword)
C double PDF_info_table(PDF *p, int table, const char *keyword)
も っ と も 最近に配置 し た表 イ ン ス タ ン ス に関連す る 表情報を取得 し ます。
table PDF_add_table_cell( ) を呼び出 し て取得 し た有効な表ハン ド ル。こ の表ハン ド ルは、
少な く と も 1 回は PDF_fit_table( ) を呼び出す と き に使っ てい る 必要があ り ます。なぜな ら
戻 り 値は、 表 イ ン ス タ ン ス をページに配置 し た後にのみ意味を持つか ら です。
keyword ほ し い情報を指定 し た キーワ ー ド :
> 表 6.3 に従っ た、 オブジ ェ ク ト はめ込みの結果を ク エ リ す る ためのキーワ ー ド :
boundingbox ・ fitscalex ・ fitscaley ・ height ・ objectheight ・ objectwidth ・ width ・ x1 ・ y1 ・
x2 ・ y2 ・ x3 ・ y3 ・ x4 ・ y4
> 表 5.19 に従っ た さ ら な る キー ワー ド :
firstbodyrow・horboxgap・horshrinking・lastbodyrow・returnreason・rowcount・rowsplit・
tableheight ・ tablewidth ・ vertboxgap ・ vertshrinking ・ xvertline# ・ yhorline#
戻り値 keyword で要求 し た何 ら かの表特性の値。 こ の関数はブ ラ イ ン ド モー ド であ っ て も 、 正 し
い位置情報を返 し ます。 要求 さ れた キーワ ー ド がテ キ ス ト を生み出す場合には、 文字列番
号が返 さ れ、 その照応す る 文字列を、 PDF_get_string( ) を用いて取得す る 必要があ り ます。
スコープ オブ ジ ェ ク ト 以外の任意
表 5.19 PDF_info_table( ) のキーワー ド
キーワー ド
説明
firstbodyrow も っ と も 最近に配置 し た表イ ン ス タ ン スの最初の本体行の番号
horboxgap
表イ ン ス タ ン スの幅 と はめ込み枠の幅の差。 表を縮めなければな ら なかっ た と きは、 こ の値はは
め込み枠の幅か らの逸脱を示 し ます (すなわち負の値)。
horshrinking 計算 さ れた表幅に対する横縮小倍率をパーセ ン ト 値 と し て表 し た も の。 表を横に縮めなければな
ら なかっ た と きは、 こ の値は縮小比を示 し ますが、 そ う で なければ 100 にな り ます。
lastbodyrow
も っ と も 最近に配置 し た表イ ン ス タ ン スの最後の本体行の番号
returnreason 返 っ た原因に対する文字列番号
rowcount
も っ と も 最近に配置 し た表イ ン ス タ ン スの表行の数 (ヘ ッ ダ ・ フ ッ タ を含む)
rowsplit
最後の行を分割 し なければな ら なかっ た と きは 1、 そ う でなければ 0
tableheight
tablewidth
表全体の幅 と 高 さ
vertboxgap
表イ ン ス タ ン スの高 さ と はめ込み枠の高 さ の差。 表を縮めなければな ら なかっ た と きは、 この値
ははめ込み枠の高 さ か らの逸脱を示 し ます (すなわち負の値)。
vertshrinking
計算 さ れた表の高 さ に対する縦縮小倍率をパーセ ン ト 値 と し て表 し た もの。 表を縦に縮めなけれ
ばな ら なかっ た と きは、 この値は縮小比を示 し ますが、 そ う でなければ 100 にな り ます。
xvertline#
番号 # の縦線の x 座標。 xvertline0 は表の左の辺。
yhorline#
番号 # の横線の y 座標。 yhorline0 は表の上の辺。
5.3 表の組版
129
C++ Java C# void delete_table(int table, String optlist)
Perl PHP delete_table(int table, string optlist)
C void PDF_delete_table(PDF *p, int table, const char *optlist)
表 と 、 関連す る すべてのデー タ 構造を削除 し ます。
table
optlist
詳細
PDF_add_table_cell( ) を呼び出 し て取得 し た有効な表ハン ド ル。
ク リ ーン ア ッ プオプシ ョ ン を表 5.20 に従っ て指定 し たオプシ ョ ン リ ス ト 。
こ の関数で削除 し なかっ た表は、カ レ ン ト の文書ス コ ープを終え る と 自動的に削除 さ れま
す。
スコープ 任意
表 5.20 PDF_delete_table( ) のオプ シ ョ ン
オプ シ ョ ン
説明
keephandles
(論理値) false にする と 、 PDF_add_table_cell( ) の textflow ・ image ・ graphics ・ pdipage オプ シ ョ
ンに与えたハン ド ルがすべて自動的に削除 さ れます。 デ フ ォ ル ト : false
130
第 5 章 : テキス ト と 表の組版
6 オブ ジ ェ ク ト のはめ込み と 範囲枠
6.1 オ ブ ジ ェ ク ト のはめ込み
PDFlib のはめ込みアルゴ リ ズ ムは、 長方形のグ ラ フ ィ ッ ク オブジ ェ ク ト を、 点に、 ま たは
横線か縦線に、 あ る いは長方形に相対的に配置 し ます。 こ のはめ込みアルゴ リ ズ ムはい く
つかの関数に実装 さ れてい ます :
> PDF_fit_textline( ) ・ PDF_info_textline( )
> PDF_fit_image( ) ・ PDF_info_image( )
> PDF_fit_graphics( ) ・ PDF_info_graphics( )
> PDF_fit_pdi_page( ) ・ PDF_info_pdi_page( )
> PDF_draw_path( ) ・ PDF_info_path( )
> PDF_add_table_cell( ) (fitgraphics ・ fitimage ・ fitpdipage ・ fitpath ・ fittextline オプシ ョ ン
に対する オプシ ョ ン リ ス ト を通 じ て)
> PDF_fit_table( )
> PDF_fill_*block( )
注 テキス ト フ ロ ーに対す るはめ込みオ プ シ ョ ン群は若干異な っ てい ますので、 こ こ ではな
く 、 102 ページ 「5.2 テキス ト フ ローによ る複数行テキス ト 」 で記 し ています。
表 6.1 に、 こ れ ら のはめ込み関数に与え る こ と ので き る はめ込みオプシ ョ ン を挙げます。
すべてのオプシ ョ ン がすべての関数で利用で き る わけではな く 、 ま た、 い く つかのオプ
シ ョ ンの動作は関数に よ っ て若干変わ り ます。 詳 し く は表 6.1 を参照。 以下のオプシ ョ ン
がはめ込みオプシ ョ ンのグループ を形成 し ます :
alignchar ・ boxsize ・ dpi ・ fitmethod ・ margin ・ matchbox ・ minfontsize ・ orientate ・
position ・ refpoint ・ rotate ・ scale ・ stamp ・ showborder ・ shrinklimit
オ ブ ジ ェ ク ト 枠 すべての場合において、 はめ込みアルゴ リ ズ ムは、配置す る オブジ ェ ク
ト を囲む最小の長方形を算出 し ます。 こ の長方形を オブ ジ ェ ク ト 枠 と 呼びます。 こ れは、
オブジ ェ ク ト の種類に応 じ て変え る こ と がで き ます :
> テ キ ス ト 行 (PDF_fit/info_textline( ) ・ 一行テ キ ス ト ブ ロ ッ ク ・ 表セル) : その幅は、 テ
キ ス ト 文字列の幅 (横書 き の場合) か、 最 も 広いグ リ フ の幅 (縦書き の場合) です。 テ
キ ス ト 枠のデフ ォ ル ト 高 さ は、選択 し た フ ォ ン ト の capheight です。 こ れは、matchbox
オプシ ョ ンの boxheight サブオプシ ョ ン で変え る こ と も で き ます。 字間は、 最後のグ
リ フ の後には適用 さ れません。
> 画像 と テ ン プ レ ー ト (PDF_fit/info_image( ) ・ イ メ ージブ ロ ッ ク ・ 表セル) : matchbox
オプシ ョ ンの clipping サブオプシ ョ ン を用いて、 オブジ ェ ク ト の一部分を オブジ ェ ク
ト 枠 と し て定義す る こ と がで き ます。 TIFF ・ JPEG 画像に ク リ ッ ピ ン グパ ス があ る 場合
には、 matchbox オプシ ョ ンの innerbox サブオプシ ョ ン を設定する と 、 それを囲む、 辺
が座標軸に平行な最小の長方形がオブ ジ ェ ク ト 枠 と し て用い ら れ ま す。 PDF_begin_
template_ext( ) の transform オプシ ョ ンが与え ら れてい る 場合には、 その指定 さ れた変
形がテ ンプ レー ト に適用 さ れます。
> グ ラ フ ィ ッ ク (PDF_fit/info_graphics( )):matchboxオプシ ョ ンのサブオプシ ョ ン clipping
を使っ て、 オブジ ェ ク ト の ど こ かの一部分を オブジ ェ ク ト 枠 と し て定義す る こ と がで
き ま す。 こ のオブ ジ ェ ク ト 枠は、 SVG グ ラ フ ィ ッ ク の幅 と 高 さ に よ っ て、 あ る いは
forcedwidth と forcedheight に よ っ て定義 さ れます。こ れ ら の値が 0 の場合には、以下が
6.1 オブ ジ ェ ク ト のはめ込み
131
成立 し ます : も し fitmethod が nofit 以外であ る か、 ま たははめ込み枠が定義 さ れてい
ない場合には、 オブジ ェ ク ト 枠のサ イ ズは fallbackwidth と fallbackheight に よ っ て定
義 さ れ ま す。 も し fitmethod=nofit かつはめ込み枠が定義 さ れてい る 場合には、 オブ
ジ ェ ク ト 枠のサ イ ズはそのはめ込み枠に よ っ て定義 さ れます。
> 取 り 込み PDF ページ (PDF_fit/info_pdi_page( ) ・ PDF ブ ロ ッ ク ・ 表セル) : PDF_open_
pdi_page( ) で用い ら れたオプシ ョ ン群に従い ます。cloneboxes=true の場合には、可視枠
が使用 さ れます (すなわち、 CropBox が存在する な ら それが、 なければ MediaBox が)。
matchbox オプシ ョ ンの clipping サブオプシ ョ ン を用い る と 、 オブジ ェ ク ト の一部分を
オブジ ェ ク ト 枠 と し て用い る こ と がで き ます。 PDF_begin_template_ext( ) の transform
オプシ ョ ン が与え ら れてい る 場合には、 その指定 さ れた変形がテ ン プ レー ト に適用 さ
れます。
> パ ス オブジ ェ ク ト (PDF_draw/info_path( ) ・ 表セル) : パ ス を囲む、 辺が座標軸に平行
な最小の長方形がオブジ ェ ク ト 枠 と し て用い ら れ ま す。 オブジ ェ ク ト 枠は、 boxsize ・
position オプシ ョ ンの値がゼ ロ でない と き にのみ算出 さ れます。 linewidth ・ miterlimit
オプシ ョ ンは無視 さ れます。
> 表 イ ン ス タ ン ス (PDF_fit_table( )) : 表 イ ン ス タ ン ス を囲む、 辺が座標軸に平行な最小
の長方形がオブジ ェ ク ト 枠 と し て用い ら れます。
参照点 参照点は、 オブジ ェ ク ト 枠を配置す る ためのア ン カー と し て用い ら れます。 こ れ
は以下の よ う に定義 さ れます :
> PDF_fit_*( ) ・ PDF_draw_path( ) の場合 : 関数の引数 x ・ y。
> PDF_info_*( ) の場合: 点 (0, 0)。PDF_info_path( ) では こ のほかに、refpoint オプシ ョ ン を
用いて参照点を指定す る こ と も で き ます。
> PDF_add_table_cell( ) ・ PDF_fit_table( ) ・ PDF_fill_*block( ) の場合 : 表セル ・ 表 イ ン ス タ
ン ス ・ PDFlib ブ ロ ッ ク の左下隅。 PDF_fill_*block( ) では こ のほかに、 refpoint オプシ ョ
ン を用いて参照点を指定す る こ と も で き ます。
はめ込み枠 と 参照線分 オブジ ェ ク ト 枠がその中に配置 さ れ る 長方形を、 はめ込み枠 と
呼びます。 こ れは参照点 (x, y) を その左下隅 と し 、 その寸法は boxsize オプシ ョ ンの 2 個の
値で指定 さ れます :
lower left corner = (x, y)
upper right corner = (x + boxsize[0], y + boxsize[1])
upper right corner = (x + boxsize[0], y - boxsize[1])
(topdown=falseのとき)
(topdown=trueのとき)
上述の定義に加え て、 はめ込み枠は以下の よ う に変更する こ と も で き ます :
> テ キ ス ト 行 : はめ込み枠は margin オプシ ョ ン で縮め る こ と も で き ます。
> 表セル : はめ込み枠は、 セル内枠、 すなわち、 margin* オプシ ョ ン群に よ っ て変更を受
けたセル枠に よ っ て定義 さ れます。
> 表 イ ン ス タ ン ス : はめ込み枠は引数 llx/lly/urx/ury に よ っ て定義 さ れます。
> PDFlibブ ロ ッ ク :はめ込み枠はデフ ォ ル ト ではブ ロ ッ ク のRectプ ロ パテ ィ に よ っ て定義
さ れますが、 refpoint ・ boxsize オプシ ョ ン (一方のみで も 両方で も ) で変更す る こ と も
で き ます。
上記の う ち後半 3 つの場合には、 はめ込み枠はつねに得 ら れます。 それ以外の場合には、
はめ込み枠は、boxsizeオプシ ョ ンにゼ ロ でない2個の値を指定 し た と き にのみ得 ら れます。
boxsize[0]=0 の と き 、枠は 1 本の縦線へ縮退 し ます。 はめ込みアルゴ リ ズ ムはオブジ ェ
ク ト 枠を、 こ の線分に対 し て相対的に配置 し ま す。 同様に、 boxsize[1]=0 の と き 、 枠は、
132
第 6 章 : オブ ジ ェ ク ト のはめ込み と 範囲枠
結果 と し てで き る 横線に対 し て相対的に配置 さ れます。 こ の縦線ま たは横線を、 参照線分
と 呼びます。
オ ブ ジ ェ ク ト 枠を配置 オブジ ェ ク ト 枠は、 さ ま ざ ま な方式で配置する こ と がで き ます :
> はめ込み枠が得 ら れない と き 、 オブジ ェ ク ト は参照点に対 し て相対的に配置 さ れ ます
(表セル ・ 表 イ ン ス タ ン ス ・ PDFlib ブ ロ ッ ク の場合を除 く ) : オブジ ェ ク ト 枠の左下隅
が参照点の位置に置かれます。 position オプシ ョ ン を使 う と 、 オブジ ェ ク ト 枠内のそれ
以外の点を選ぶ こ と も で き ます。 た と えば、 position=center にす る と 、 オブジ ェ ク ト
枠の中心点が参照点の位置に置かれます。
scale オプシ ョ ンは、 画像 ・ グ ラ フ ィ ッ ク ・ テ ンプ レー ト ・ パ ス オブジ ェ ク ト ・ 取 り 込
み PDF ページに対 し て効力を持ち ます。 dpi オプシ ョ ンは、 画像に対 し て効力を持ち
ます。 fitmethod オプシ ョ ンは こ の場合無視 さ れます。
パス オブジ ェ ク ト : position={0 0} にす る と 、 外接枠は算出 さ れず、 パ ス オブジ ェ ク ト
の原点が参照点の位置に置かれます。
> 参照線分に対 し て相対的に (表セル ・ 表 イ ン ス タ ン ス ・PDFlib ブ ロ ッ ク の場合を除 く ):
こ れは、 上述の よ う にオブジ ェ ク ト を参照点に対 し て相対的に配置す る 場合 と 同様に
動作 し ます。 こ れに加え て、 position オプシ ョ ン も 、 参照点 と し て作用す る 線分上の点
を定義 し ます。
> はめ込み枠に対 し て相対的に : fitmethod オプシ ョ ンは、 オブジ ェ ク ト 枠をはめ込み枠
内 に 強 制 的 に 収 め る か ど う か、 お よ び ど の よ う に 収 め る か を 指 定 し ま す。
fitmethod=nofit に す る と 、 は め 込み枠へ収 め る た め の 動作 は 何 も 行 わ れ ま せ ん。
fitmethod のそれ以外の値は、 表 6.2 に従っ て具体的なはめ込みアルゴ リ ズ ム を定義 し
ます。
こ の場合は、 scale ・ dpi オプシ ョ ンは無視 さ れ、 margin ・ shrinklimit ・ showborder オプ
シ ョ ンは効力を持ち ます。
オブジ ェ ク ト 枠の左下隅が、 はめ込み枠の左下隅の位置に置かれ ま す。 position オプ
シ ョ ン を用い る と 、 オブジ ェ ク ト 枠内のそれ以外の点 と 、 同時にそれに照応す る はめ
込み枠内の点を選ぶ こ と がで き ます。 た と えば、 position=center は、 オブジ ェ ク ト 枠
の中心点をはめ込み枠の中心点の位置に置 き ます。
オ ブ ジ ェ ク ト はめ込みの結果を ク エ リ す る ための共通キーワー ド オブジ ェ ク ト はめ込
みの結果は、そのオブジ ェ ク ト をページ上に実際に配置 し ないで ク エ リ す る こ と も で き ま
す。 こ れを使 う と 、 実際にページ内容を作成す る 前に組版上の決定を行 う こ と がで き ま
す。 組版結果を ク エ リ す る ためには、 オブジ ェ ク ト に対する はめ込みオプシ ョ ン群を、 個
別 PDF_info_*( ) の関数に与え る こ と がで き ます。 表 6.3 に、 はめ込み結果を ク エ リ す る た
6.1 オブ ジ ェ ク ト のはめ込み
133
表 6.1 さ ま ざ ま な関数のはめ込みオプ シ ョ ン
オプ シ ョ ン
説明
align
(float 2 個の リ ス ト 。 パスオブ ジ ェ ク ト のみ) パスオブ ジ ェ ク ト の回転を定義する方向ベ ク ト ルの
座標をユーザー座標で指定 し ます。 パスオブ ジ ェ ク ト の座標系の x 方向が、 指定 し たベ ク ト ル と
平行にな り ます。 座標は両方 と も 0 であ っ てはいけません。 こ こ で算出 さ れた回転が、 orientate
オプ シ ョ ン で定義 さ れる回転に加え られます。 デ フ ォ ル ト : {1 0}、 すなわち追加の回転な し
alignchar
(Unichar < 0xFFFF またはキーワー ド 。 テキス ト 行のみ) 指定 し たキ ャ ラ ク タ がテキス ト 内に見つ
かっ た と きは、 その左下隅が参照点の位置に置かれます。 orientate=north または south の横書き
テキス ト については、 position オプ シ ョ ン で与え る 1 番目の値が位置を定義 し ます。
orientate=west または east の縦書き テキス ト については、 position オプ シ ョ ン で与え る 2 番目
の値が位置を定義 し ます。
こ のオプ シ ョ ンが存在する と き、 組版 さ れた テキス ト ははめ込み枠からはみ出す可能性があ り ま
す。 こ のオプ シ ョ ンは、 指定 し た整列キ ャ ラ ク タ がテキス ト 内に存在 し ない と きは無視 さ れます。
指定 し たキ ャ ラ ク タ がフ ォ ン ト またはエ ン コ ーデ ィ ング内に見つか ら ない と きは、
glyphcheck=error であれば例外が発生 し ます。 glyphcheck がそれ以外の値であれば、 alignchar
オプ シ ョ ンは、 キ ャ ラ ク タ が得ら れない と き には警告を出 さ ずに無視 さ れます。
値 0 と キーワー ド none は整列キ ャ ラ ク タ を な し に し ます。 指定 し た fitmethod が適用 さ れます
が、 ただ し alignchar の強制位置合わせのために、 テキス ト ははめ込み枠内には配置で き ません。
デ フ ォ ル ト : none
attachmentpoint
(文字列。 パスオブ ジ ェ ク ト のみ) 取付点の名前 : パスオブ ジ ェ ク ト は、 指定 し た取付点が参照店
の位置にな る よ う 配置 さ れます。 fitmethod が nofit 以外の場合には、 オブ ジ ェ ク ト はまず、 指定
さ れた方式に従っ てはめ込み枠内に配置 さ れます。 デ フ ォル ト : パスオブ ジ ェ ク ト の原点
blind
(論理値) true の場合、 出力は生成 さ れませんが、 すべての計算は実行 さ れ、 その組版結果を適切
な関数 PDF_info_*( ) でチ ェ ッ ク で き ます。 デ フ ォ ル ト : false
boxsize
(2 個の float の リ ス ト 。 表では不可) オブ ジ ェ ク ト (rotate オプ シ ョ ンに従っ て回転 さ れている場
合も あ る) がそれに対 し て相対的に配置 さ れるはめ込み枠の幅 と 高 さ 。 はめ込み枠の左下隅が、
参照点 (x, y) の位置に置かれます。 オブ ジ ェ ク ト の配置は、 position ・ fitmethod オプ シ ョ ンに
よ っ て制御 さ れます。 幅 =0 にする と 高 さ のみが考慮 さ れ、 高さ =0 にする と 幅のみが考慮 さ れま
す。 こ れらの場合には fitmethod オプ シ ョ ンは無視 さ れ、 オブ ジ ェ ク ト は position オプ シ ョ ンに
従っ て、 (x, y) から (x, y+ 高さ ) (あ るいは上から 下への座標系では (x, y- 高さ )) の縦線に対
し て、 または (x, y) から (x+ 幅 , y) の横線に対 し て相対的に配置 さ れます。
ブ ロ ッ クの場合のデ フ ォル ト : ブ ロ ッ ク の Rect プ ロパテ ィ の幅 と 高 さ
それ以外のすべてのはめ込み関数でのデ フ ォル ト : {0 0}
dpi
(2 個の float かキーワー ド の リ ス ト 。 画像のみ) 求める横方向 と 縦方向の画像解像度を イ ン チあた
り ピ ク セル数で指定 し た 1 個か 2 個の値。 このオプ シ ョ ンは、 画像内のピ ク セル数を変え る (ダ
ウンサン プ リ ング) わけではあ り ません。 値を 1 個だけ指定する と 、 それは両方の方向に対 し て
用い ら れます。 値 0 にする と 、 画像の内部解像度がも し 得ら れればそれが用い ら れ、 そ う でない
な ら 72 dpi と な り ます。 キーワー ド internal はゼロ と 同等です。 こ のオプ シ ョ ンに よ っ て生 じ る
拡縮は、 カ レ ン ト ユーザー座標系に対 し て相対的にな り ます。 すなわち、 座標系が拡縮 さ れてい
る と きは、 最終的な物理解像度は与えた値 と は異な る ものにな り ます。 scale オプ シ ョ ンが、 こ の
dpi 値に加え て適用 さ れます。
fitmethod オプ シ ョ ンにキーワー ド auto ・ meet ・ slice ・ entire のいずれかをつけて与えている と
き には、 これ らの dpi 値はその画像のア スペ ク ト 比のみを指定 し 、 その絶対サイ ズを指定 し ませ
ん。。 デ フ ォ ル ト : internal
fitmethod
(キーワー ド ) 指定 し たはめ込み枠内にオブ ジ ェ ク ト を収める ために用いる方式。 使え るキーワー
ド は表 6.2 参照。 nofit 以外のキーワー ド は、 はめ込み枠を指定 し ていない と き には無視 さ れま
す。
デ フ ォ ル ト : テキス ト フ ローの場合は clip、 表 ・ パスオブ ジ ェ ク ト と reference オプ シ ョ ンの場
合は meet、 それ以外の場合は nofit
134
第 6 章 : オブ ジ ェ ク ト のはめ込み と 範囲枠
表 6.1 さ ま ざ ま な関数のはめ込みオプ シ ョ ン
オプ シ ョ ン
説明
margin
(float の リ ス ト 。 テキス ト 行のみ) はめ込み枠の横 と 縦の追加の縮小を記述 し た 1 個か 2 個の float
値。 デ フ ォル ト : 0
matchbox
(オプ シ ョ ン リ ス ト 。 パスオブ ジ ェ ク ト では不可) 表 6.4 に従 っ た、 範囲枠を生成する ためのオプ
シ ョ ンリス ト
minfontsize
(float またはパーセ ン ト 値。 テキス ト フ ローのみ) fitmethod=auto で shrinklimit を超えた と き に
テキス ト をはめ込み枠に収める ために縮小する際の最小許容文字サイ ズ。 ユーザー座標で、 また
ははめ込み枠の高 さ に対するパーセ ン ト 値で指定 し ます。 こ の下限に達 し た と きは、 テキス ト は、
指定 し た minfontsize を文字サイ ズ と し て生成 さ れます。 デ フ ォ ル ト : 0.1%
orientate
(キーワー ド または float。 表では不可) オブ ジ ェ ク ト に対 し て求める、 カ レ ン ト 座標系に対する相
対的な向き を指定 し ます。 デ フ ォ ル ト : north。
パスオブ ジ ェ ク ト の場合には、 任意の回転角 (度単位で) を指定する こ と も で き ますが、 それ以
外の種類のオブ ジ ェ ク ト の場合にはで き ません。 パスオブ ジ ェ ク ト の境界枠は、 そのパスオブ
ジ ェ ク ト を回転 さ せた後に算出 さ れます。 すべての関数で、 以下のキーワー ド が使え ます (それ
ぞれ同等の角度を括弧内に示 し ます) :
position
north
直立 (0)
east
右倒 し (270)
south
倒立 (180)
west
左倒 し (90)
(float かキーワー ド の リ ス ト ) 参照点 ・ 参照線分 ・ はめ込み枠のいずれかに対するオブ ジ ェ ク ト 枠
の相対的な位置を指定 し た 1 個か 2 個の値。 これ らの値は、 オブ ジ ェ ク ト 枠内の位置を指定 し ま
す。 横位置を枠の幅に対するパーセ ン ト 値 と し て (1 番目の値)、 縦位置を枠の高 さ に対するパー
セ ン ト 値 と し て (2 番目の値) 定義 し ます。 こ の指定 し た位置が、 参照点か、 参照線分上の点か、
はめ込み枠内の点の位置に置かれます。 値はパーセ ン ト 値を表 し ていますが、 パーセ ン ト 記号な
し で指定する必要があ り ます。 負の値も 許 さ れます。 両方の値が等 し い と きは、 値を 1 個だけ与
えれば充分です。
デ フ ォル ト : 表の場合は {0 100}、 reference オプ シ ョ ンの場合は center、 それ以外な ら {0 0}。
例:
{0 0}
オブ ジ ェ ク ト 枠の左下隅が、 参照点か、 参照線分の始点か、 はめ込み枠の左下隅の位置
に置かれます。
{100 100} オブ ジ ェ ク ト 枠の右上隅が、 参照点か、 参照線分の終点か、 はめ込み枠の右上隅の位置
に置かれます。
キーワー ド left ・ center ・ right (x 方向で) ま たは bottom ・ center ・ top (y 方向で) を、 値 0 ・
50 ・ 100 と 同等な もの と し て用いる こ と がで き ます。 キーワー ド を 1 個だけ指定する と 、 も う 1 つ
の方向でそれに照応するキーワー ド が追加 さ れます。 例 :
{left center}
または {0 50}
左揃え
{center}
または {50 50}
縦横中央揃え
{right center}
または {100 50}
右揃え
テキス ト 行のみ : キーワー ド auto を、 リ ス ト の 1 番目の値 と し て用いる こ と も で き ます。 こ れ
は、 テキス ト の筆記方向が右書きの場合 (ア ラ ビ ア文字 ・ ヘブ ラ イ文字等) には right を意味 し 、
そ う でない場合には left を意味 し ます。
refpoint
(float の リ ス ト 。 PDF_fill_*block( ) ・ PDF_info_path( ) のみ) ブ ロ ッ ク 内容ま たはパス をはめ込む際の
参照点をユーザー座標で指定 し ます。
PDF_fill_*block( ) の場合のデ フ ォ ル ト : ブ ロ ッ クの Rect プ ロパテ ィ によ っ て定義 さ れる長方形の左
下隅
PDF_info_path( ) の場合のデ フ ォ ル ト : {0 0}
6.1 オブ ジ ェ ク ト のはめ込み
135
表 6.1 さ ま ざ ま な関数のはめ込みオプ シ ョ ン
オプ シ ョ ン
説明
rotate
(float。 表 ・ パスオブ ジ ェ ク ト では不可) 参照点を中心 と し 、 指定 し た値を、 回転角を度単位で表
し た も の と し て、 座標系を回転 し ます。 こ れに よ っ て、 はめ込み枠 と オブ ジ ェ ク ト が回転 さ れま
す。 こ の回転は、 オブ ジ ェ ク ト が配置 さ れた時点で リ セ ッ ト さ れます。 デ フ ォ ル ト : 0
表セル内のテキス ト 行 : rotate オプ シ ョ ン で 0 以外の値が指定 さ れた場合には、 表エ ン ジ ンは、
回転 さ れた テキス ト の外接枠を セル枠内へ、 fitmethod と position オプ シ ョ ンに従っ てはめ込 も
う と 試みます。 fitmethod が auto 以外の場合には、 セルは必要に応 じ て適切に拡大 さ れます。
scale
(float の リ ス ト 。 テキス ト 行 ・ テキス ト フ ローでは不可) オブ ジ ェ ク ト を、 参照点を中心 と し て、
横方向 と 縦方向で指定 し た倍率 (パーセ ン ト 値ではな く ) で拡縮 し ます。 両方の倍率が等 し い と
きは、 値を 1 個だけ指定すれば充分です。 負の値の場合には鏡映 と な り ます。 こ のオプ シ ョ ンの
絶対値は、 fitmethod オプ シ ョ ンにキーワー ド auto ・ meet ・ slice ・ entire のいずれかをつけて与
え ている と き には無視 さ れます。 デ フ ォ ル ト : {1 1}
stamp
(キーワー ド 。 テキス ト 行のみ。 boxsize が指定 さ れていない と きは無視 さ れます) こ のオプ シ ョ
ン を使 う と 、 boxsize オプ シ ョ ン で指定する枠の対角線上に最大限の大き さ のス タ ン プ を生成する
こ と がで き ます。 よ り 具体的には、 このテキス ト ははめ込み枠内に対角線上に配置 さ れます。 テ
キス ト 枠の大き さ は、 それがはめ込み枠を可能な限 り 覆いつつ も そのテキス ト 枠の縦横比を保持
する よ う に選ばれます (すなわち、 ス タ ン プ を構成する テキス ト は可能な限 り 大き く な り ます)。
オプ シ ョ ン fontsize ・ fitmethod ・ position は無視 さ れます。 オプ シ ョ ン orientate=west と
=east は何の意味 も持ち ません (north ・ south のみ)。 使え るキーワー ド (デ フ ォ ル ト : none) :
ll2ur
ス タ ン プは、 左下隅から右上隅への対角線に沿 っ て置かれます。
ul2lr
ス タ ン プは、 左上隅から右下隅への対角線に沿 っ て置かれます。
none
ス タ ン プは作成 さ れません。
showborder
(論理値) true にする と 、 はめ込み枠の境界がカ レ ン ト グ ラ フ ィ ッ ク ス テー タ ス を用いて描線 さ れ
ます。 ス タ ン プ を生成 し ている と きは、 ス タ ン プの境界枠も 描線 さ れます。 こ れは開発やデバ ッ
グの際に有用で し ょ う 。 デ フ ォル ト : false
shrinklimit
(float またはパーセ ン ト 値。 テキス ト 行のみ) fitmethod=auto で テキス ト を収める ために適用 さ れ
る長体比率の下限。 デ フ ォ ル ト : 0.75
136
第 6 章 : オブ ジ ェ ク ト のはめ込み と 範囲枠
表 6.2 さ ま ざ ま な関数の fitmethod オプ シ ョ ンのキーワー ド 。 テキス ト 行に対する各キーワー ド の典型的効果をあ
わせて図示。 fontsize オプ シ ョ ンにはすべての図で同 じ 値を用いています。
キーワー ド
説明
auto
こ の方式は、 オブ ジ ェ ク ト をはめ込み枠内に自動的に収めよ う と 試
みます :
オブ ジ ェ ク ト がはめ込み枠に収ま る場合には、 動作は nofit 方式 と
同 じ です。 すなわち、 オブ ジ ェ ク ト は拡縮 さ れずに配置 さ れます。
オブ ジ ェ ク ト がはめ込み枠よ り 大き い場合には、 オブ ジ ェ ク ト は以
下のよ う にサイ ズが縮小 さ れます :
テキス ト 行 : テキス ト を横に縮めて (つぶ し て) はめ込み枠に収め
ら れる よ う な縮小倍率が算出 さ れます。 算出 さ れた倍率が
shrinklimit オプ シ ョ ン よ り も小 さ い と きは、 meet 方式が適用 さ れ、
すなわち、 テキス ト が収ま る ま で、 または文字サイ ズ 0.001 に達する
ま で文字サイ ズが縮小 さ れます。
Kraxi Systems
Kraxi Systems
Kraxi Systems
その他のオブ ジ ェ ク ト 種別 : 動作は meet 方式 と 同 じ です。
clip
オブ ジ ェ ク ト を置き、 はめ込み枠の辺で図形的に切 り 落 と し ます。
PDF_fit_table( ) : 算出 さ れた表枠は、 はめ込み枠の下辺で論理的に切
Kraxi Sys
り 落 と さ れ、 次のはめ込み枠へ続 く こ と がで き ます。 論理的切 り 落
と し は、 PDF_fit_textflow( ) と 同様であ り 、 PDF_fit_image( ) 等での図形
的切 り 落 と し と は異な り ます。 表枠は、 はめ込み枠内で position オプ シ ョ ンに従っ て配置 さ れま
す。
entire
オブ ジ ェ ク ト 枠を、 はめ込み枠全体を覆 う よ う に拡縮 し ます。 一般
に、 この方式ではオブ ジ ェ ク ト はつぶ さ れます。 position オプ シ ョ
ンは何ら 効力を持ち ません。
Kraxi Systems
PDF_fit_table( ) : clip に似ています。 表枠がはめ込み枠よ り も小 さ い と きは、 表枠がはめ込み枠全
体を覆 う ま で、 表枠のセル群が一様に拡大 さ れます (セルの内容は拡大 さ れません)。
meet
オブ ジ ェ ク ト を position オプ シ ョ ンに従っ て置き、 はめ込み枠内に
ま る ご と 収ま る よ う 、 縦横比を保 っ て拡縮 し ます。 一般に、 オブ
ジ ェ ク ト 枠の少な く と も 2 つの辺が、 照応するはめ込み枠の辺 と 重
な る こ と にな り ます。
Kraxi Systems
PDF_fit_table( ) : clip に似ています。 表枠がはめ込み枠よ り も小 さ い と きは、 表の横辺か縦辺がは
め込み枠に重な る ま で、 表枠のセル群が一様に拡大 さ れます (セルの内容は拡大 さ れません)。
nofit
オブ ジ ェ ク ト を置 く だけです。 scale オプ シ ョ ンが画像 と グ ラ フ ィ ッ
ク に適用 さ れます。 画像には dpi オプ シ ョ ン も適用 さ れます。
Kraxi Systems
PDF_fit_table( ) : 表が、 無限の高 さ を持つ仮想的なはめ込み枠に対 し
て算出 さ れます。 表枠ははめ込み枠内に、 position オプ シ ョ ンに
従 っ て配置 さ れます。 列 と 表行のデ フ ォ ル ト のサイ ズは、 指定 し たはめ込み枠の高 さ に対 し て相
対的にな り ます。 表を blind モー ド で組版するには fitmethod=nofit を推奨 し ます。
slice
Kraxi S
オブ ジ ェ ク ト を position オプ シ ョ ンに従っ て置き、 はめ込み枠全体
を覆 う よ う に、 かつオブ ジ ェ ク ト の少な く と も 1 つの方向でははめ
込み枠内にち ょ う ど収ま る よ う 、 縦横比を保っ て拡縮 し ます。 一般
に、 オブ ジ ェ ク ト のも う 1 つの方向でははめ込み枠か ら一部分がは
み出すので、 その分は切 り 落 と さ れます。
PDF_fit_table( ) : clip に似ています。 表枠がはめ込み枠よ り も小 さ い と きは、 はめ込み枠全体が表
枠によ っ て覆われる ま で、 表枠のセル群が、 縦横比を保っ て一様に拡大 さ れます (セルの内容は
拡大 さ れません)。 表枠ははめ込み枠内に、 position オプ シ ョ ン に従っ て配置 さ れます。 表枠の う
ち、 はめ込み枠からはみ出 し た部分は、 はめ込み枠の辺で図形的に切 り 落 と さ れます。
6.1 オブ ジ ェ ク ト のはめ込み
137
めのキーワ ー ド を挙げます。 PDF_info_path( ) に対す る はめ込み結果は、 参照点か ら の相
対位置 と し て表 さ れます。
表 6.3 PDF_info_image( ) ・ PDF_info_graphics( ) ・ PDF_info_path( ) ・ PDF_info_pdi_page( ) ・ PDF_info_table( ) ・ PDF_info_
textline( ) を用いたオブ ジ ェ ク ト はめ込みの結果を ク エ リ する ための共通キーワー ド
キーワー ド
説明
boundingbox
オブ ジ ェ ク ト の外接枠に対するパスハン ド ル
fitscalex ・ fitscaley
オブ ジ ェ ク ト を枠にはめ込んだ結果の拡縮倍率
height
オブ ジ ェ ク ト の高 さ をユーザー座標で表 し た もの
objectheight ・
objectwidth
オブ ジ ェ ク ト を読み込むか作成する ために関係 し たすべてのオプ シ ョ ン を処理 し た後のオ
ブ ジ ェ ク ト の生のサイ ズ。 こ のサイ ズがはめ込みアルゴ リ ズムに よ っ て使用 さ れます。
width
オブ ジ ェ ク ト の幅をユーザー座標で表 し た も の
x1 ・ y1 ・ x2 ・ y2 ・
x3 ・ y3 ・ x4 ・ y4
与え られたオプ シ ョ ン群に従っ た、 オブ ジ ェ ク ト の外接枠の i 番目の長方形隅 (i=1, 2, 3, 4)
の位置をユーザー座標で表 し た もの
138
第 6 章 : オブ ジ ェ ク ト のはめ込み と 範囲枠
6.2 範囲枠
範囲枠は、 それ専用の API 関数で定義す る のではな く 、 その照応す る 要素を作成す る 組版
関数を呼び出す際に、 matchbox オプシ ョ ンで定義 し ます。
> テ キ ス ト 行 : PDF_fit_textline( ) ・ PDF_fill_textblock( ) で textflow=false を用い る : 範囲枠
はテ キ ス ト 行の外接枠を記述 し ます。
> テ キ ス ト フ ロ ー : PDF_add/create_textflow( ) ・ PDF_fill_textblock( ) で textflow=true を用
い る : 範囲枠は、 生成 さ れ る テ キ ス ト 出力の外接枠を記述 し ます。 PDF_fill_textblock( )
におけ る 範囲枠指定は、 イ ン ラ イ ン テ キ ス ト 飾 り に対す る 開始 と し て用い る こ と はで
き ず、 テ キ ス ト 全体に対す る 範囲枠を作成す る ためにのみ用い る こ と がで き ます。
> 取 り 込み PDF ページ :PDF_fit_pdi_page( )・PDF_fill_pdf_block( ) を用い る :範囲枠は、配
置 さ れたページの外接枠を記述 し ます。
> 画像 ・ テ ンプ レー ト : PDF_fit_image( ) ・ PDF_fill_image_block( ) を用い る : 範囲枠は、 配
置 さ れた画像ま たはテ ンプ レー ト の外接枠を記述 し ます。
> グ ラ フ ィ ッ ク : PDF_fit_graphics( ) を用い る : 範囲枠は、 配置 さ れた グ ラ フ ィ ッ ク の外
接枠を記述 し ます。
> 表セル : PDF_add_table_cell( ) : 範囲枠は、 表セルの外接枠を記述 し ます。
範囲枠は、 こ れ ら の関数の matchbox オプシ ョ ン で定義 さ れます。 こ のオプシ ョ ンには、
以下のサブオプシ ョ ンが使え る オプシ ョ ン リ ス ト を与え ます :
> 表 7.1 に従っ た グ ラ フ ィ ッ ク 書式オプシ ョ ン群 :
borderwidth・dasharray・dashphase・fillcolor・gstate・linecap・linejoin・shading・strokecolor
> 表 6.4 に従っ た範囲枠制御オプシ ョ ン群
> 表 14.5 に従っ た、 短縮構造エ レ メ ン ト タ グ付けのためのオプシ ョ ン (ページ ス コ ープ
でのみ可) : tag
範囲枠に照応す る 長方形の詳細は、 PDF_info_matchbox( ) で取得で き ます。
表 6.4 さ ま ざ ま な関数の matchbox オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
boxheight
(要素 2 個の リ ス ト 。 各要素は正の float か、 文字サイ ズに対するパーセ ン ト 値か、 キーワー ド 。 テ
キス ト 行 ・ テキス ト フ ローのみ) テキス ト 枠の縦の長 さ を定義 し ます。 ベース ラ イ ンの上 と 下の
長 さ について、 値 2 個を数値かキーワー ド で指定する こ と がで き ます :
none (長 さ ゼロ) ・ xheight ・ descender ・ capheight ・ ascender ・ fontsize ・ leading ・ textrise
テキス ト フ ローの場合、 範囲枠の先頭のテキス ト に照応する値が使われます。
デ フ ォル ト : {capheight none}
boxwidth
(float またはパーセ ン ト 値。 テキス ト フ ローのみ) 範囲枠の幅を、 ユーザー座標で、 ま たははめ込
み枠の幅に対するパーセ ン ト 値で指定 し ます。 こ のオプ シ ョ ン を与え る と 、 matchbox オプ シ ョ ン
と 、 次の部分テキス ト か matchbox end 指定 と の間に、 指定 し た幅の横アキが挿入 さ れます。 こ れ
は、 テキス ト フ ローの中に、 画像 ・ テ ン プ レー ト ・ PDF ページ を挿入する ためのアキを確保 し た
い と き に便利です。 なお、 alignment=justify の場合には、 枠の幅がテキス ト と 同様に圧縮 さ れる
こ と があ り ます (オプ シ ョ ン shrinklimit を参照)。 デ フ ォ ル ト : 0
6.2 範囲枠
139
表 6.4 さ ま ざ ま な関数の matchbox オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
clipping
(長方形、 またはパーセ ン ト 値 4 個。 画像 ・ グ ラ フ ィ ッ ク ・ 取 り 込み PDF ページのみ。 innerbox
オプ シ ョ ン を指定 し ている と きは無視 さ れます) 画像かグ ラ フ ィ ッ クかページの中のどの部分が
見え る よ う にするかを指定する長方形の左下隅 と 右上隅の座標。 その指定はオブ ジ ェ ク ト に よ っ
て異な り ます (デ フ ォ ル ト : {0% 0% 100% 100%})
:
> 画像の場合、 こ の切 り 抜き長方形は、 ピ ク セル単位で、 ま たは幅 ・ 高 さ に対するパーセ ン ト 値 と
し て指定で き ます。
> グ ラ フ ィ ッ ク の場合、 この切 り 抜き長方形は、 ユーザー座標で、 またはそのグ ラ フ ィ ッ クのオブ
ジ ェ ク ト 枠の幅 ・ 高 さ に対するパーセ ン ト 値 と し て指定で き ます。
> PDF ページの場合、 こ の切 り 抜き長方形は、 デ フ ォ ル ト 単位で、 またはそのページの CropBox の
幅 ・ 高 さ に対するパーセ ン ト 値 と し て指定で き ます。
createwrapbox
(論理値。 テキス ト フ ローのみ) true にする と 、 範囲枠を構成する 1 個ない し 複数の長方形が算出
さ れた後に、 それら が回 り 込み枠 と し て テキス ト フ ロー内へ挿入 さ れます。 その範囲枠の入 っ て
いる行の後に続 く 行群は、 その長方形を回 り 込みます。 デ フ ォル ト : false
doubleadapt true にする と 、 2 番目の線の始点 と 終点が、 1 番目の線に合わせて調整 さ れます。 そ う でなけれ
ば、 2 番目の線は、 doubleoffset の分だけ短 く 、 または長 く な り ます。 デ フ ォ ル ト : true
doubleoffset
(float) 0 以外にする と 、 内側の範囲枠長方形の境界のまわ り の線が二重にな り ます。 2 番目の線
は、 元の線に対 し て、 指定 し た変位を持ち ます。 変位を正の値にする と 、 線は範囲枠長方形の外
側に描かれ、 負の値にする と 内側に描かれます。 デ フ ォル ト : 0 (すなわち一重線)
drawleft
(論理値) true にする と 、 borderwidth を 0 よ り 大き い値に設定 し ている な ら、 長方形のそれぞれ
drawbottom の境界が描かれます。 デ フ ォ ル ト : true
drawright
drawtop
end
(論理値。 テキス ト フ ローのみ) 範囲枠の終了を指定 し ます。 true にする と 、 カ レ ン ト の
matchbox 定義に対する他のすべてのオプ シ ョ ンは無視 さ れます。 テキス ト フ ロー内の範囲枠はネ
ス ト で き ません。 テキス ト フ ローの範囲枠の幅は、 boxwidth オプ シ ョ ン (指定 し ていれば) と 、
matchbox オプ シ ョ ン と matchbox= end オプ シ ョ ン では さ んだ テキス ト の視覚的長 さ によ っ て定義
さ れます。 こ の end オプ シ ョ ン を指定 し ていない と きは、 範囲枠は、 テキス ト フ ローの末尾キ ャ
ラ ク タ の後に終了 し ます。
exceedlimit
(float またはパーセ ン ト 値。 テキス ト フ ローのみ) 範囲枠がはめ込み枠の下辺または右辺から はみ
出す こ と を許す上限を、 ユーザー座標で、 ま たは範囲枠の高 さ に対するパーセ ン ト 値で指定 し ま
す。 指定 し た上限を超え る と きは、 PDF_fit_textflow( ) は _boxfull を返 し ます。 この場合、 残 り の
テキス ト と 範囲枠は次のはめ込み枠へ続 く こ と がで き ます。 デ フ ォ ル ト : 0、 すなわち範囲枠が枠
内に完全に収ま る必要があ り ます。
innerbox
(論理値。 表セル と TIFF ・ JPEG 画像のみ) 表セル : true にする と 、 セルに対 し て定義 し ている余
白の分だけセル枠が縮小 さ れます。 そ う で なければセル枠全体が用い られます。
TIFF ・ JPEG 画像 : true にする と 、 画像に ク リ ッ ピ ングパスがある と きは、 画像全体でな く 、 その
ク リ ッ ピ ングパスの外接枠が使われます。
デ フ ォ ル ト : false
margin
140
(float またはパーセ ン ト 値) 範囲枠の長方形に対する追加の余白を、 ユーザー座標系で (0 以上に
する必要があ り ます)、 または長方形の幅か高 さ に対するパーセ ン ト 値で (100% 未満にする必要が
あ り ます) 指定 し ます。 こ のオプ シ ョ ンは、 offset* を指定 し ている辺については無視 さ れます。
デフ ォル ト : 0
第 6 章 : オブ ジ ェ ク ト のはめ込み と 範囲枠
表 6.4 さ ま ざ ま な関数の matchbox オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
name
(名前文字列) 範囲枠の名前。 こ の名前を付けた範囲枠がすでにある と きは、 こ の範囲枠のための
長方形が も う 1 個作ら れます。 ですので、 1 個の範囲枠が複数の長方形から 成る場合があ り え ま
す。 この名前は PDF_info_matchbox( ) で使え ます。 さ ま ざ ま な関数で、 usematchbox オプ シ ョ ン を
使 っ て、 範囲枠の長方形 (群) を参照する こ と がで き ます。 た と えば PDF_create_annotation( ) で
注釈を追加する こ と がで き ます。 範囲枠の名前は、 カ レ ン ト ページ を終え る ま で使え ます。 名前
「*」 (ア ス タ リ ス ク キ ャ ラ ク タ ) を範囲枠の名前 と し て用いるべき ではあ り ません。 デ フ ォ ル ト :
名前な し
offsetleft
offsetbottom
offsetright
offsettop
(float またはパーセ ン ト 値) 算出 さ れた長方形か ら、 求める枠への、 左 ・ 右 ・ 下 ・ 上辺のユーザー
定義の変位。 値は、 ユーザー座標で、 ま たは長方形の幅 (offsetleft/offsetright の場合) か高
さ (offsetbottom/offsettop の場合) に対するパーセ ン ト 値で指定 し ます。 負の値も 可能で、 範
囲枠を拡げる ために用いる こ と がで き ます。 offsetleft/offsetbottom のデ フ ォル ト : margin。
offsetright/offsettop のデ フ ォル ト : -margin
openrect
(論理値。 テキス ト フ ロー ・ 表セルのみ) テキス ト フ ロー : true にする と 、 範囲枠長方形が分割 さ
れる必要があ る (た と えばフ ォ ン ト 変更や改行のために) と き、 前の長方形の右辺 と 、 後の長方
形の左辺を描き ません。 表セル : true にする と 、 表行が次の表イ ン ス タ ン スへ分割 さ れる と き、
前の部分の下辺 と 、 後の部分の上辺を描き ません。 デ フ ォル ト : false
round
(float)範囲枠長方形の隣りあう線の頂点が、それらの接合点で、指定した半径を持ち、それら
の線分を接線とする円弧によって丸められます。負の半径を指定すると、角が円形にへこむよう
に弧が切り取られ、その接線は枠の線分に対して垂直になります。デフォルト:0(丸めなし)
C++ Java C# double info_matchbox(String boxname, int num, String keyword)
Perl PHP float info_matchbox(string boxname, int num, string keyword)
C double PDF_info_matchbox(PDF *p, const char *boxname, int len, int num, const char *keyword)
カ レ ン ト ページ上の範囲枠に関す る 情報を取得 し ます。
boxname (名前文字列) カ レ ン ト ページ上で こ の名前で作成 さ れた範囲枠の名前。 こ れ
は、 その範囲枠が定義 さ れた際にその matchbox オプシ ョ ンの name サブオプシ ョ ンで作
成 さ れてい る 必要が あ り ま す。 あ る いは、 名前 「*」 (ア ス タ リ ス ク キ ャ ラ ク タ ) を用い
て、 そ のペー ジ 上のすべ て の範囲枠に関す る 情報 を ク エ リ す る こ と も で き ま す。 空の
boxname を用いて、 カ レ ン ト ページ上のすべての範囲枠長方形に関す る 情報を ク エ リ す
る こ と も で き ます。
len (C 言語バ イ ンデ ィ ン グのみ) boxname の長 さ (バ イ ト 単位)。 len=0 にす る と null
終了文字列を与え る 必要があ り ます。
num
範囲枠ま たは長方形の正の番号 (1 か ら 数え る )。
keyword
求め る 情報を表 6.5 に従っ て指定 し た キーワー ド 。
戻り値 keyword で要求 さ れた何 ら かの範囲枠特性の値。 指定 さ れた名前の範囲枠、 ま たは指定 さ
れた番号の範囲枠長方形が存在 し ない と き は、戻 り 値は、キーワ ー ド boundingbox・name・
rectangle に対 し ては -1 (PHP では 0) にな り 、 それ以外のすべてのキー ワー ド に対 し て
は 0 にな り ます。 要求 さ れた キーワ ー ド がテ キ ス ト を生み出す場合には、 文字列番号が返
さ れ、 その照応す る 文字列を、 PDF_get_string( ) を用いて取得す る 必要があ り ます。
カ レ ン ト ス コ ープに応 じ て、 こ の関数は、 カ レ ン ト ページ ・ パ タ ーン ・ テ ンプ レー ト ・
グ リ フ記述上の範囲枠群に関す る 情報を返 し ます。
6.2 範囲枠
141
詳細 テ キ ス ト フ ロ ー内の名前付 き 範囲枠は、 PDF_fit_textflow( ) を呼び出 し た後にのみ取得す
る こ と がで き ま す。 ブ ラ イ ン ド モー ド で作成 さ れた範囲枠を ク エ リ す る こ と はで き ませ
ん。
キー ワー ド boundingbox ・ exists ・ height ・ name ・ rectangle ・ width ・ x1 ・ y1 ・ … ・ x4 ・
y4 に対す る 長方形は、 以下の よ う に選択 さ れます :
> boxname が範囲枠の名前を内容 と し てい る と き : カ レ ン ト ページ上のその指定名の範
囲枠の num 番目の矩形を選択 し ます。
> boxname=* の と き : カ レ ン ト ページ上の num 番目の名前付 き 範囲枠の最初の矩形を選
択 し ます。
> boxname が空の と き :カ レ ン ト ページ上の名前付き 範囲枠に よ っ て作成 さ れた num 番
目の長方形を選択 し ます。
スコープ 文書 ・ オブ ジ ェ ク ト 以外任意
表 6.5 PDF_info_matchbox( ) のキーワー ド
キーワー ド
説明
boundingbox
選択 さ れた長方形の外接枠を カ レ ン ト ユーザー座標系で表 し た ものを内容 と するパスオブ ジ ェ ク
ト のハン ド ル、 あるいは指定 さ れた長方形が存在 し ない場合には -1 (PHP では 0)。 こ の外接枠
は、 範囲枠が回転 さ れている場合には、 その長方形 と は異な り ます。
count
(num 引数は無視 さ れます)
boxname が範囲枠の名前を内容 と し て持つ と き : こ の範囲枠の長方形の数
boxname=* の と き : 少な く と も 1 個の長方形を持つ範囲枠の数
boxname が空の と き : 名前付き範囲枠群に よ っ て作成 さ れた長方形の総数
exists
選択 さ れた長方形が存在 し ている な ら 1、 そ う でないな ら 0。
height1
選択 さ れた長方形の高 さ をユーザー座標で表 し た もの
name
選択 さ れた長方形が作成 さ れた目的であ る範囲枠の名前の文字列番号。 照応する文字列は、 PDF_
get_string( ) で取得で き ます。
rectangle
選択 さ れた長方形をユーザー座標で表 し た ものを内容 と し て持つパスオブ ジ ェ ク ト のハン ド ル、、
あるいはその長方形が見つから なかっ た と き には -1 (PHP では 0)
width1
選択 さ れた長方形の幅をユーザー座標で表 し た もの
x1 ・ y1 ・ …
x4 ・ y41
選択 さ れた長方形の i 番目の隅 (i=1, 2, 3, 4) の位置を、 ユーザー座標で表 し た も の。 それぞれのは
め込み要素 (画像 ・ テキス ト 等) の座標系で、 x1, y1 は左上、 x2, y2 は左下、 x3, y3 は右下、
x4, y4 は右上隅に対応 し ます。
1. このキーワー ド は、 boxname=* の と きは無視 さ れます
142
第 6 章 : オブ ジ ェ ク ト のはめ込み と 範囲枠
7 グ ラ フ ィ ッ ク関数
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルが ク ッ ク ブ ッ クの graphics/starter_graphics ト ピ ッ ク にあ り ます。
7.1 グ ラ フ ィ ッ ク 書式オ プ シ ョ ン
グ ラ フ ィ ッ ク 書式オ プ シ ョ ン 表 7.1 のグ ラ フ ィ ッ ク 書式オプシ ョ ンは、以下の関数で使
え ます (なお、 すべての関数がすべてのオプシ ョ ン に対応 し てい る わけではあ り ません。
詳 し く は関数の説明を参照 し て く だ さ い) :
> PDF_set_graphics_option( )
> PDF_create_gstate( ) (flatness ・ linecap ・ linejoin ・ linewidth ・ miterlimit のみ)
> PDF_add_path_point( ) ・ PDF_draw_path( )
> PDF_fit_table( ) の塗 り オプシ ョ ン (fillcolor ・ shading のみ) と 、
PDF_fit_table( ) の描線オプシ ョ ン (dasharray ・ dashphase ・ linecap ・ linejoin ・ linewidth ・
strokecolor のみ)
> さ ま ざ ま な関数の matchbox オプシ ョ ン
表 7.1 グ ラ フ ィ ッ ク 書式オプ シ ョ ン
オプ シ ョ ン
説明 ・ と り う る値
cliprule
(キーワー ド ) 切 り 抜きのための領域の内面を決定する切 り 抜き規則。 と り う るキーワー ド につい
ては fillrule を参照 し て く だ さ い。 デ フ ォル ト : fillrule オプ シ ョ ンの値
borderwidth
(float。 範囲枠のみ) 長方形の境界の線幅。 borderwidth を 0 よ り 大き い値に設定する と 、 すべて
の長方形の境界が描線 さ れます。 上 ・ 下 ・ 左 ・ 右の境界が描線 さ れないよ う にするには、 それぞ
れ drawtop ・ drawbottom ・ drawleft ・ drawright オプ シ ョ ン を false に設定 し ます。 デ フ ォル ト :
0
dasharray
(2 個の非負 float の リ ス ト かキーワー ド ) 描線 さ れるパスの短線 と 間隙の長 さ (ユーザー座標系で
測 っ た も の) を交互に指定 し た 2 ~ 12 個の値の リ ス ト 。 こ れらの配列値は負であ っ てはいけませ
ん。 これ らは、 パス全体が描線 さ れる ま で循環的に再利用 さ れます。 キーワー ド none を用いる
と 、 実線を作成する こ と がで き ます。 デ フ ォル ト : none
dashphase
(float) 破線パ タ ーン内で短線を開始する ま での距離。 デ フ ォ ル ト : 0
fillcolor
(Color) 領域の塗 り 色。 デ フ ォル ト : 通常は {gray 0} (PDF/A モー ド の場合 : {lab 0 0 0})、 ただ
し 表 ・ 範囲枠の場合は none
fillrule
flatness
(キーワー ド ) 領域の、 塗 り と 切 り 抜きの際の内側を決定する塗 り 規則 (デ フ ォ ル ト : winding) :
winding
非ゼロ巻数規則を用います。 単純な形状の
場合、 塗 り の結果は直感的見込み と 一致 し
ます。 複数のパスから 成る形状の場合には、
パスの方向が意味を持ち ます。
evenodd
偶奇規則を用います。 こ れは、 単純な形状
では winding と 同 じ 結果を得ますが、 よ り
複雑な形状、 と り わけ自己交差するパスで
は異な る結果を生 じ ます。
(float > 0) 円弧または曲線 と 、 線分群から 成る近似表現 と の最大間隔を示 し た (デバイ ス ピ ク セ
ル単位で) 正の数。 デ フ ォル ト : 1
7.1 グ ラ フ ィ ッ ク書式オプ シ ョ ン
143
表 7.1 グ ラ フ ィ ッ ク書式オプ シ ョ ン
オプ シ ョ ン
説明 ・ と り う る値
gstate
(グ ラ フ ィ ッ ク ス テー タ スハン ド ル) PDF_create_gstate( ) で取得 し たグ ラ フ ィ ッ ク ス テー タ スのハ
ン ド ル。 デ フ ォ ル ト : グ ラ フ ィ ッ ク ス テー タ スな し (すなわち、 カ レ ン ト 設定が用い られます)
initgraphicsstate
(論理値。 PDF_set_graphics_option( ) でのみ可) true の場合、 すべてのグ ラ フ ィ ッ ク 書式オプ シ ョ
ンがそのデ フ ォ ル ト 値で初期化 さ れます。 カ レ ン ト ク リ ッ ピ ングパスは影響を受けません。 false
の場合、 カ レ ン ト グ ラ フ ィ ッ ク ス テー ト 値群が用い ら れます。 デ フ ォル ト : false
linecap
(整数ま たはキーワー ド ) パスの終端の形状 (デ フ ォ ル ト : PDF_fit_table( ) では projecting、 それ
以外では butt) :
butt
(同等な値 : 0) バ ッ ト 線端 : パスの終端で描線を四角 く 切 り ま
す。
round
(同等な値 : 1) 丸型線端 : 終端を中心 と し 、 線幅に等 し い直径
を持つ半円を描き、 塗 り ます。
projecting (同等な値 : 2) 突出線端 : 線の終端から、 線幅の半分だけ描線
を延長 し 、 四角 く 切 り ます。
linejoin
(整数ま たはキーワー ド ) パスの角の形状 (デ フ ォ ル ト : miter) :
miter
(同等な値 : 0) マ イ タ ー結合 : 2 本の線分の描線の外辺を、 互いに出会 う ま
で延ば し ます。 そ う する と マ イ タ ー リ ミ ッ ト に よ る指定よ り も遠 く ま で延
びて し ま う と きは、 ベベル結合がかわ り に用い られます。
round
(同等な値 : 1) ラ ウ ン ド 結合 : 線分ど う し の交点を中心 と し 、 線幅に等 し
い半径の円弧を描き、 塗る こ と で、 角を丸 く し ます。
bevel
(同等な値 : 2) ベベル結合 : 2 本のパス線分をバ ッ ト 線端で描き (linecap
の説明を参照)、 終端ど う し の間に生 じ る三角形の切れ込みを塗 り ます。
linewidth
(float > 0) 線幅。 デ フ ォル ト : 1
miterlimit
(float ≧ 1) マ イ タ ー結合に よ っ て形成 さ れる く さ び型を制御 し ます
(デ フ ォル ト : 10。 こ れは角度に し ておよ そ 11.5 度にあた り ます)。
線結合ス タ イル linejoin を 0 (マ イ タ ー結合) に設定する と 、 2 本の
線分が出会 う 角度が小 さ い と きは、 鋭い く さ び型が形作られます。 マ
イ タ ー長 と 線幅 と の比がマ イ タ ー リ ミ ッ ト を超え る と き、 こ の く さ び
型を平坦な終端に置き換え ます (すなわち マ イ タ ー結合をベベル結合
に変更 し ます)。
shading
(表 7.2 に従っ たオプ シ ョ ン リ ス ト 。 範囲枠 ・ 表のみ) 範囲枠の長方形 (群) ま たは表領域の
シ ェ ーデ ィ ン グ を指定 し ます。 fillcolor オプ シ ョ ンの値が (指定 し ていれば)、 またはカ レ ン ト
塗 り 色が開始色 と し て用い られます。
strokecolor
(色) パスの描線色。 デ フ ォル ト : 通常は {gray 0} (PDF/A モー ド の場合 : {lab 0 0 0})、 ただ し
表 ・ 範囲枠の場合は none
144
第 7 章 : グ ラ フ ィ ッ ク 関数
表 7.2 グ ラ フ ィ ッ ク 書式オプ シ ョ ン shading のサブオプ シ ョ ン
オプ シ ョ ン
説明
antialias
(論理値) シ ェ ーデ ィ ングの際にア ン チエ イ リ ア シ ング を有効にするかど う かを指定 し ます。 デ
フ ォ ル ト : false
domain
(float 2 個の リ ス ト ) 変数 t の限界値を指定 し た 2 個の数値。 こ の変数は、 色勾配が軸の始点 と 終
点の間を変動するにつれて、 こ の 2 値の間を線形的に変動する と 考え られます。 デ フ ォ ル ト : {0
1}
end
(float 2 個かパーセ ン ト 値 2 個の リ ス ト ) シ ェ ーデ ィ ング軸に対する終点の (type=axial)、 または
半径を算出する ための円上の点の (type=radial) x ・ y 座標を、 長方形の幅 ・ 高 さ に対するパーセ
ン ト 値で、 ま たはユーザー座標で指定 し ます。 デ フ ォ ル ト : {100% 100%}
endcolor
(色。 必須) 終点の色
N
(float) 色遷移関数に対する累乗指数。 > 0 にする必要があ り ます。 デ フ ォ ル ト : 1
start
(float 2 個かパーセ ン ト 値 2 個の リ ス ト ) シ ェ ーデ ィ ング軸に対する始点の (type=axial)、 または
シ ェ ーデ ィ ング円の中心の (type=radial) x ・ y 座標を、 長方形の幅 ・ 高 さ に対するパーセ ン ト 値
で、 ま たはユーザー座標で指定 し ます。 デ フ ォ ル ト : {0% 0%}
type
(キーワー ド ) シ ェ ーデ ィ ングの種類 : axial (線形シ ェ ーデ ィ ング) か radial (放射シ ェ ーデ ィ
ング)。 デ フ ォル ト : axial
C++ Java C# void set_graphics_option(String optlist)
Perl PHP set_graphics_option(string optlist)
C void PDF_set_graphics_option(PDF *p, const char *optlist)
1 個ない し 複数のグ ラ フ ィ ッ ク 書式オプシ ョ ン を設定 し ます。
optlist 表 7.1 に従っ て グ ラ フ ィ ッ ク 書式オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト 。 以
下のオプシ ョ ン を使え ます :
cliprule ・ dasharray ・ dashphase ・ fillcolor ・ fillrule ・ flatness ・ gstate ・ initgraphicsstate ・
linecap ・ linejoin ・ linewidth ・ miterlimit ・ strokecolor
詳細
グ ラ フ ィ ッ ク 書式オプシ ョ ン群は、以下の関数のグループのためのグ ラ フ ィ ッ ク ス テー ト
を設定 し ます :
> 明示的描画関数 : PDF_stroke( ) ・ PDF_fill( ) な ど
> 暗黙的描画関数 : PDF_fit_textline( ) ・ PDF_fit_textflow( ) の showborder オプシ ョ ン な ど
> テ キ ス ト オプシ ョ ン群を用いて色が設定 さ れていない場合に、 単純テ キ ス ト 出力関数
群を用いて作成 さ れ る テ キ ス ト 出力 : PDF_show( ) な ど
すべてのグ ラ フ ィ ッ ク 書式オプシ ョ ンは、 ページ ・ パ タ ーン ・ テ ンプ レー ト ・ グ リ フ定義
の開始でそれ ら のデフ ォ ル ト 値へ リ セ ッ ト さ れ、 カ レ ン ト ページ ・ ページ ・ テ ン プ レ ー
ト ・ グ リ フ ス コ ープの終了ま でそれ ら の値を保持 し ます。 ただ し 、 こ のグ ラ フ ィ ッ ク 書式
オプシ ョ ン群を initgraphicsstate オプシ ョ ン を用いて リ セ ッ ト する こ と も で き ます。
以後の PDF_setcolor( ) への呼び出 し は、 fillcolor お よ び / ま たは strokecolor 値を オーバ
ラ イ ド し ます。 以後の PDF_setlinewidth( ) への呼び出 し は linewidth 値を オーバ ラ イ ド し
ます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
7.1 グ ラ フ ィ ッ ク書式オプ シ ョ ン
145
7.2 グ ラ フ ィ ッ ク ス テ ー タ ス
C++ Java C# void setlinewidth(double width)
Perl PHP setlinewidth(float width)
C void PDF_setlinewidth(PDF *p, double width)
カ レ ン ト 線幅を設定 し ます。
width
詳細
線幅を、 ユーザー座標系の単位で指定 し ます。
こ の関数は、 グ ラ フ ィ ッ ク 状態の線幅 (PDF_set_graphics_option( ) 参照) と テ キ ス ト 状態
の描線幅 (PDF_set_text_option( ) 参照) を設定 し ます。 width 引数は各ページの開始時に
デフ ォ ル ト 値 1 に リ セ ッ ト さ れます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
C++ Java C# void save( )
Perl PHP save( )
C void PDF_save(PDF *p)
カ レ ン ト グ ラ フ ィ ッ ク ス テー タ ス を ス タ ッ ク に保存 し ます。
詳細
グ ラ フ ィ ッ ク ス テー タ ス は、 あ ら ゆ る 種類の グ ラ フ ィ ッ ク オブジ ェ ク ト を制御す る オプ
シ ョ ン群を持っ てい ます。 グ ラ フ ィ ッ ク ス テー タ ス の保存は、 PDF に よ っ て必要 と さ れて
い る わけではな く 、 アプ リ ケーシ ョ ンが後で、 オプシ ョ ン をすべて明示的に設定 し なおす
こ と な し にいずれかのグ ラ フ ィ ッ ク ス テー タ ス (カ ス タ ムの座標系等) へ戻 り たい と き に
のみ必要です。 以下の項目が保存 ・ 復帰の対象にな り ます。
> グ ラ フ ィ ッ ク 書式オプシ ョ ン :
ク リ ッ ピ ン グパ ス ・ 座標系 ・ カ レ ン ト 点 ・ 平坦度許容量 ・ 線端ス タ イ ル ・ 破線パ タ ー
ン ・ 線結合ス タ イ ル ・ 線幅 ・ マ イ タ ー リ ミ ッ ト 。
> 色オプシ ョ ン : 塗 り ・ 描線色。
> PDF_set_gstate( ) で明示グ ラ フ ィ ッ ク ス テー タ ス に よ っ て設定 し てい る グ ラ フ ィ ッ ク
オプシ ョ ン。
> テ キ ス ト 位置 と 、 以下のテ キ ス ト 書式オプシ ョ ン :
charspacing・decorationabove・fakebold・font・fontsize・horizscaling・italicangle・leading・
strokewidth ・ textrendering ・ textrise ・ underlineposition ・ underlinewidth ・ wordspacing
PDF_save( ) と PDF_restore( ) のペアは、 ネ ス ト さ せる こ と も で き ます。 PDF 規格では、 保
存 ・ 復帰のペアのネ ス ト 階層の深 さ に制限はあ り ませんが、 さ ま ざ ま な PDF ビ ュ ーアが
生成す る PostScript 出力の持つ制約が引 き 起 こ す印刷上の問題を避け る ために も 、 ま た、
PDFlib が内部的に必要 と す る 保存階層を確保する ために も 、アプ リ ケーシ ョ ンではネ ス ト
階層の深 さ を 26 未満に抑え てお く 必要があ り ます。
多 く のテ キ ス ト オプシ ョ ンは、 保存 / 復帰に よ っ て影響を受け ます。 上記の一覧を参
照 し て く だ さ い。 以下のテ キ ス ト オプシ ョ ンは保存 / 復帰に影響を受け ません : fillrule ・
kerning ・ underline ・ overline ・ strikeout。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ 。 照応する PDF_restore( ) と 必ずペアに し て呼
び出す必要があ り ます。 PDF_save( ) と PDF_restore( ) への呼び出 し は、 ページ ・ パ タ ーン ・
テ ンプ レー ト ・ グ リ フ記述ご と に同数にす る 必要があ り ます。
146
第 7 章 : グ ラ フ ィ ッ ク 関数
C++ Java C# void restore( )
Perl PHP restore( )
C void PDF_restore(PDF *p)
も っ と も 最近に ス タ ッ ク に保存 し た グ ラ フ ィ ッ ク ス テー タ ス に復帰 し ます。
詳細 そのグ ラ フ ィ ッ ク ス テー タ ス は、同 じ ページかパ タ ーンかテ ンプ レー ト で保存 し て あ る 必
要があ り ます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ。 照応す る PDF_save( ) と 必ずペアに し て呼び
出す必要があ り ます。 PDF_save( ) と PDF_restore( ) への呼び出 し は、 ページ ・ パ タ ーン ・
テ ンプ レー ト ・ グ リ フ記述ご と に同数にす る 必要があ り ます。
C++ Java C# int create_gstate(String optlist)
Perl PHP int create_gstate(string optlist)
C int PDF_create_gstate(PDF *p, const char *optlist)
グ ラ フ ィ ッ ク ス テー タ ス オブジ ェ ク ト を、 さ ま ざ ま なオプシ ョ ンに従っ て作成 し ます。
optlist グ ラ フ ィ ッ ク ス テー タ ス オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト :
> 表 7.1 に従っ た グ ラ フ ィ ッ ク 書式オプシ ョ ン群 :
flatness ・ linecap ・ linejoin ・ linewidth ・ miterlimit
> 表 7.3 に従っ た グ ラ フ ィ ッ ク ス テー タ ス オプシ ョ ン群 :
alphaisshape ・ blendmode ・ opacityfill ・ opacitystroke ・ overprintfill ・ overprintmode ・
overprintstroke ・ renderingintent ・ smoothness ・ softmask ・ strokeadjust ・ textknockout
戻り値
グ ラ フ ィ ッ ク ス テー タ スハン ド ル。 以後の PDF_set_gstate( ) への呼び出 し で、 カ レ ン ト の
文書ス コ ープが続 く 限 り 使え ます。
詳細 オプシ ョ ン リ ス ト は、任意の数のグ ラ フ ィ ッ ク ス テー タ ス オプシ ョ ン を内容 と し て持つ こ
と がで き ます。
スコープ オブ ジ ェ ク ト 以外任意
表 7.3 PDF_create_gstate( ) のオプ シ ョ ン
キー
説明 ・ と り う る値
alphaisshape
(論理値) アルフ ァ の供給元の扱いを、 輪郭 (true) か不透過 (false) に し ます。 デ フ ォ
ル ト : false
blendmode
(キーワー ド の リ ス ト 。 PDF/X-1/3 ・ PDF/A-1 では値 Normal にする必要があ り ます) ブ レ
ン ド モー ド の名前。 複数のブ レ ン ド モー ド を指定する こ と も で き ます。 と り う る値 :
Color ・ ColorDodge ・ ColorBurn ・ Darken ・ Difference ・ Exclusion ・ HardLight ・ Hue ・
Lighten ・ Luminosity ・ Multiply ・ None ・ Normal ・ Overlay ・ Saturation ・ Screen ・
SoftLight。 デ フ ォ ル ト : None
opacityfill
(float かパーセ ン ト 値。 PDF/A-1 ・ PDF/X-1/3 では値 1 にする必要があ り ます) 塗 り 操作
での不透明度を、 範囲 0 ~ 1 で指定 し ます。 値 0 は完全に透過を意味 し ます。 値 1 は完全
に不透明を意味 し ます。
opacitystroke
(float かパーセ ン ト 値。 PDF/A-1 ・ PDF/X-1/3 では値 1 にする必要があ り ます) 描線操作
での不透明度を、 範囲 0 ~ 1 で指定 し ます。 値 0 は完全に透過を意味 し ます。 値 1 は完全
に不透明を意味 し ます。
7.2 グ ラ フ ィ ッ ク ス テー タ ス
147
表 7.3 PDF_create_gstate( ) のオプ シ ョ ン
キー
説明 ・ と り う る値
overprintfill
(論理値) 塗 り 操作でのオーバープ リ ン ト 。 デ フ ォ ル ト : false
overprintmode
(整数) オーバープ リ ン ト モー ド 。 こ れは、 1 個の色要素が 0 である場合の DeviceCMYK カ
ラ ー内の要素群のオーバープ リ ン ト 動作を変更 し ます。 こ のオーバープ リ ン ト モー ド は、
DeviceCMYK カ ラ ーで描画 さ れる テキス ト ・ ベ ク ト ル要素に影響を与え ますが、 画像 ・
シ ェ ーデ ィ ングパ タ ーン には影響を与え ません。 オーバープ リ ン ト モー ド 0 (ゼロ) にす
る と 、 それぞれの色要素が、 それ以前に配置 さ れたマー ク を置き換え ます (「前面色優
先」)。 オーバープ リ ン ト モー ド 1 にする と 、 0 の色要素が、 そ こ の要素を変更 し ないま ま
に し ます (「前面濃度値 0 を無視」)。 PDF/A-2/3 : カ レ ン ト 色空間が ICC ベース CMYK であ
り 、 かつ overprintfill か overprintstroke が true の場合には、 overprintmode=1 は許容
さ れません。 デ フ ォ ル ト : 0
overprintstroke
(論理値) 描線操作でのオーバープ リ ン ト 。 デ フ ォ ル ト : false
renderingintent
(キーワー ド ) 色域圧縮のために用いたい カ ラ ーレ ン ダ リ ング イ ン テ ン ト 。 と り う るキー
ワー ド : Auto ・ AbsoluteColorimetric ・ RelativeColorimetric ・ Saturation ・ Perceptual
smoothness
(float) シ ェ ーデ ィ ングにおける線形内挿の最大誤差。 ≧ 0 かつ≦ 1 にする必要があ り ます
softmask
(オプ シ ョ ン リ ス ト またはキーワー ド ) 透過画像処理のためのマ ス ク 画像または不透明度値
を持 っ た カ レ ン ト ソ フ ト マス ク 。 使え るオプ シ ョ ン と キーワー ド (デ フ ォ ル ト : none) :
backdropcolor
(float 1 個か 3 個か 4 個の リ ス ト 。 type=luminosity の場合のみ可) 透過グルー
プ テ ン プ レー ト を構築する際の背景 と し て用いたい色。 float 値の数は、 透過グ
ループ テ ン プ レー ト を作成 し た際に用いた transparencygroup オプ シ ョ ンの
colorspace サブオプ シ ョ ンに依存 し ます (DeviceGray な ら 1 個、 DeviceRGB な
ら 3 個、 DeviceCMYK な ら 4 個)。 デ フ ォル ト : それぞれのカ ラ ースペースにお
ける黒
(キーワー ド ) ソ フ ト マス ク な し 。 こ れは、 直前に設定 さ れたグ ラ フ ィ ッ ク ス
テー タ スから 効力を持っ ているか も し れない ソ フ ト マス ク を無効にする ために
必要です。
template (テ ン プ レー ト ハン ド ル。 必須) PDF_begin_template_ext( ) と transparencygroup
オプ シ ョ ン を用いて作成 さ れた透過グループ テ ン プ レー ト 。 type=luminosity の
と きは こ のテ ン プ レー ト は colorspace サブオプ シ ョ ン で none 以外の値を用い
て作成 さ れている必要があ り ます。
none
type
(キーワー ド 。 必須) 透過グループ テ ン プ レー ト か ら マス ク値を導出する ための
方式 :
alpha
透過グループのアル フ ァ 値を用い、 色を無視 し ます。
luminosity 透過グループの色を、 1 要素の輝度値へ変換 し ます。
strokeadjust
(論理値) 自動描線調整を適用するかど う か。 デ フ ォル ト : false
textknockout
(論理値) 色版合成に関 し て、 テキス ト 内のグ リ フ群を、 ばら ばら に扱 う (false) か、 単
体 と し て扱 う (true) かを指定 し ます。 デ フ ォ ル ト : true
C++ Java C# void set_gstate(int gstate)
Perl PHP set_gstate(int gstate)
C void PDF_set_gstate(PDF *p, int gstate)
グ ラ フ ィ ッ ク ス テー タ ス オブジ ェ ク ト を呼び出 し ます。
gstate
ル。
148
PDF_create_gstate( ) で取得 し た グ ラ フ ィ ッ ク ス テー タ ス オブ ジ ェ ク ト のハ ン ド
第 7 章 : グ ラ フ ィ ッ ク 関数
詳細
グ ラ フ ィ ッ ク ス テー タ ス オブジ ェ ク ト が持つすべてのオプシ ョ ンが設定 さ れます。 こ の関
数を複数回呼び出す と 、 グ ラ フ ィ ッ ク ス テー タ ス のオプシ ョ ンは蓄積 さ れてい き ます。 グ
ラ フ ィ ッ ク ス テー タ ス オブジ ェ ク ト の中で明示的に設定 さ れていないオプシ ョ ン につい
ては、 そのカ レ ン ト の値の ま ま にな り ます。 グ ラ フ ィ ッ ク ス テー タ ス のオプシ ョ ンはすべ
て、 ページの始ま り ご と に、 それぞれのデフ ォ ル ト 値に リ セ ッ ト さ れます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
7.2 グ ラ フ ィ ッ ク ス テー タ ス
149
C++ Java C# void setdash(double b, double w)
Perl PHP setdash(float b, float w)
C void PDF_setdash(PDF *p, double b, double w)
非推奨。 PDF_set_graphics_option( ) を使用 し て く だ さ い。
C++ Java C# void setdashpattern(String optlist)
Perl PHP setdashpattern(string optlist)
C void PDF_setdashpattern(PDF *p, const char *optlist)
非推奨。 PDF_set_graphics_option( ) を使用 し て く だ さ い。
C++ Java C# void setflat(double flatness)
Perl PHP setflat(float flatness)
C void PDF_setflat(PDF *p, double flatness)
非推奨。 PDF_set_graphics_option( ) を使用 し て く だ さ い。
C++ Java C# void setlinejoin(int linejoin)
Perl PHP setlinejoin(int linejoin)
C void PDF_setlinejoin(PDF *p, int linejoin)
非推奨。 PDF_set_graphics_option( ) を使用 し て く だ さ い。
C++ Java C# void setlinecap(int linecap)
Perl PHP setlinecap(int linecap)
C void PDF_setlinecap(PDF *p, int linecap)
非推奨。 PDF_set_graphics_option( ) を使用 し て く だ さ い。
C++ Java C# void setmiterlimit(double miter)
Perl PHP setmiterlimit(float miter)
C void PDF_setmiterlimit(PDF *p, double miter)
非推奨。 PDF_set_graphics_option( ) を使用 し て く だ さ い。
C++ Java C# void initgraphics( )
Perl PHP initgraphics( )
C void PDF_initgraphics(PDF *p)
非推奨。 PDF_set_graphics_option( ) を使用 し て く だ さ い。
150
第 7 章 : グ ラ フ ィ ッ ク 関数
7.3 座標系の変換
変換関数 (PDF_translate( ) ・ PDF_scale( ) ・ PDF_rotate( ) ・ PDF_align( ) ・ PDF_skew( ) ・ PDF_
concat( ) ・ PDF_setmatrix( ) ・ PDF_initgraphics( )
と 、 PDF_set_graphics_option( )
の
initgraphicsstate オプシ ョ ン) はすべて、以後のオブジ ェ ク ト を描 く ために使われ る 座標系
を変更 し ます。 ページにすでに存在 し てい る オブジ ェ ク ト では効力を持ち ません。
C++ Java C# void translate(double tx, double ty)
Perl PHP translate(float tx, float ty)
C void PDF_translate(PDF *p, double tx, double ty)
座標系の原点を平行移動 さ せます。
tx ・ ty
座標系の新 し い原点 (tx, ty) を、 古い座標系で測 り ます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
C++ Java C# void scale(double sx, double sy)
Perl PHP scale(float sx, float sy)
C void PDF_scale(PDF *p, double sx, double sy)
座標系を拡縮 し ます。
sx ・ sy
詳細
x ・ y 方向の拡縮倍率。
こ の関数は、 座標系を sx 倍 ・ sy 倍 し ます。 負の倍率を使っ て、 反転 (鏡映) を行わせ る
こ と も で き ます。 新 し い座標系におけ る x 方向の 1 単位は、 古い座標系におけ る x 方向の
sx 単位 と 等 し く な り ます。 y 座標について も 同様です。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
バインディング COM : VB のバグ を回避する ため、 こ の関数は pscale と い う 名前で も 得 ら れます。
C++ Java C# void rotate(double phi)
Perl PHP rotate(float phi)
C void PDF_rotate(PDF *p, double phi)
座標系を回転 さ せます。
phi
回転角を度単位で指定 し ます。
詳細 角度は、 カ レ ン ト 座標系の x 軸正の向 き か ら の反時計回 り で測 り ます。 新 し い座標軸は、
古い座標軸を phi 度回転 さ せ る こ と に よ っ て得 ら れます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
7.3 座標系の変換
151
C++ Java C# void align(double dx, double dy)
Perl PHP align(float dx, float dy)
C void PDF_align(PDF *p, double dx, double dy)
座標系の方向を相対ベ ク ト ル と 同 じ に し ます。
dx ・ dy
方向ベ ク ト ルの座標。 dx と dy を両方 0 に し てはいけ ません。
詳細 座標系を回転 し 、 新 し い座標系の x 軸の方向がベ ク ト ル (dx, dy) と 同 じ にな り 、 y 軸の方
向が (-dy, dx) と 同 じ にな る よ う に し ます。 こ れは PDF_rotate( ) で
phi=180°/ pi×atan2(dy/dx) と し た場合 と 等価です。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
C++ Java C# void skew(double alpha, double beta)
Perl PHP skew(float alpha, float beta)
C void PDF_skew(PDF *p, double alpha, double beta)
座標系を斜形化 し ます。
alpha ・ beta
x ・ y 方向の斜形化角を、 度単位で指定 し ます。
詳細 斜形化 (シ アー と も い う ) と は、 座標系を x ・ y 方向へ指定の角度だけ歪め ます。 alpha
は、 カ レ ン ト 座標系の x 軸正の向 き か ら の反時計回 り で表 さ れ、 beta は、 y 軸正の向 き か
ら の時計回 り で測 り ます。 ど ち ら の角度 も 、 90° の奇数倍に し てはいけ ません。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
C++ Java C# void concat(double a, double b, double c, double d, double e, double f)
Perl PHP concat(float a, float b, float c, float d, float e, float f)
C void PDF_concat(PDF *p, double a, double b, double c, double d, double e, double f)
カ レ ン ト 座標系に変換行列を適用 し ます。
a ・ b ・ c ・ d ・ e ・ f 変換行列の各要素。 6 個の値は、 PostScript ・ PDF と 同 じ 方式で行列
を構成 し ます (各 リ フ ァ レ ン ス を参照)。 縮退変換を避け る ため、 a×d を b×c に等 し く
し てはいけ ません。
詳細
こ の関数を使 う と 、 も っ と も 一般化 さ れた形で変換を行え ます。 変換行列の使い方が よ く
わか ら ないな ら 、 こ の関数でな く 、PDF_translate( )・PDF_scale( )・PDF_rotate( )・PDF_skew( )
の使用を推奨 し ます。 座標系は、 ページの始ま り ご と にデフ ォ ル ト 座標系 (すなわち、 カ
レ ン ト 変換行列が単位行列 [1, 0, 0, 1, 0, 0]) に リ セ ッ ト さ れます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
152
第 7 章 : グ ラ フ ィ ッ ク 関数
C++ Java C# void setmatrix(double a, double b, double c, double d, double e, double f)
Perl PHP setmatrix(float a, float b, float c, float d, float e, float f)
C void PDF_setmatrix(PDF *p, double a, double b, double c, double d, double e, double f)
カ レ ン ト 変換行列を明示的に設定 し ます。
a・b・c・d・e・f
詳細
PDF_concat( ) 参照。
こ の関数は PDF_concat( ) に似てい ます。 ただ し 、 カ レ ン ト 変換行列を捨てて、 新 し い行
列に置 き 換え ます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
7.3 座標系の変換
153
7.4 パス構築
注 こ の節の関数を使っ た後は、 必ず 158 ページ 「7.5 描画 と ク リ ッ ピ ング」 の関数のいずれ
かを呼び出 し て く だ さ い。 そ う でない と 、 作成 し たパスは何の効果も な く 、 その後の操作
が例外を発生 さ せる こ と があ り ます。
PDF/UA ベ ク ト ルグ ラ フ ィ ッ ク は、 PDF_begin_item( ) への呼び出 し を用いて Artifact か Figure と し
て タ グ付けす る 必要があ り ます。
C++ Java C# void moveto(double x, double y)
Perl PHP moveto(float x, float y)
C void PDF_moveto(PDF *p, double x, double y)
グ ラ フ ィ ッ ク 出力のためのカ レ ン ト 点を設定 し ます。
x・y
詳細
新 し いカ レ ン ト 点の座標。
カ レ ン ト 点は、 ページの始ま り ご と に、 デフ ォ ル ト 値であ る 未定義に設定 さ れます。 グ ラ
フ ィ ッ ク のカ レ ン ト 点 と 、 カ レ ン ト テ キ ス ト 位置は、 別々に保持 さ れます。
スコープ ページ ・パ タ ーン ・ テ ン プ レー ト ・ グ リ フ ・パス。こ の関数はパス ス コ ープを開始 さ せます。
C++ Java C# void lineto(double x, double y)
Perl PHP lineto(float x, float y)
C void PDF_lineto(PDF *p, double x, double y)
カ レ ン ト 点か ら 別の点へ線を描 き ます。
x・y
詳細
線の終点の座標。
こ の関数は、 カ レ ン ト 点か ら (x, y) ま での直線を、 カ レ ン ト パ ス に追加 し ます。 カ レ ン ト
点は、 こ の関数を使 う 前に設定 し てお く 必要があ り ます。 点 (x, y) が新たにカ レ ン ト 点に
な り ます。
こ の線は、 「理想の線」 を中心軸 と し て描かれます。 すなわち、 2 個の端点を結ぶ線の
両側に、 線幅 (linewidth オプシ ョ ンの値に よ っ て決定 さ れ る ) の半分ずつが描かれます。
終端での動作は、 linecap オプシ ョ ンに よ っ て決定 さ れます。
スコープ パス
C++ Java C# void curveto(double x1, double y1, double x2, double y2, double x3, double y3)
Perl PHP curveto(float x1, float y1, float x2, float y2, float x3, float y3)
C void PDF_curveto(PDF *p, double x1, double y1, double x2, double y2, double x3, double y3)
カ レ ン ト 点か ら 、 3 個の制御点を用いて、 ベジエ曲線を描 き ます。
x1 ・ y1 ・ x2 ・ y2 ・ x3 ・ y3
詳細
カ レ ン ト 点か ら (x3, y3) ま でのベジエ曲線を、 (x1, y1) と (x2, y2) を制御点 と し て使っ て、 カ
レ ン ト パ ス に追加 し ます。 カ レ ン ト 点は、 こ の関数を使 う 前に設定 し てお く 必要があ り ま
す。 曲線の終点が新たにカ レ ン ト 点にな り ます。
スコープ パス
154
3 個の制御点の座標。
第 7 章 : グ ラ フ ィ ッ ク 関数
C++ Java C# void circle(double x, double y, double r)
Perl PHP circle(float x, float y, float r)
C void PDF_circle(PDF *p, double x, double y, double r)
円を描 き ます。
x・y
r
詳細
円の中心の座標。
円の半径。
こ の関数は、 円を完全なサブパス と し て、 カ レ ン ト パ ス に追加 し ます。 点 (x + r, y) が新た
にカ レ ン ト 点にな り ます。 描かれ る 形は、 ユーザー座標系において円にな り ます。 座標系
を、 x ・ y 方向で違 う 倍率で拡縮 し てい る と き は、 描かれ る 曲線は楕円にな り ます。 こ の
円は反時計回 り の向 き に作成 さ れます。
スコープ ページ ・パ タ ーン ・ テ ン プ レー ト ・ グ リ フ ・パス。 こ の関数はパス ス コ ープ を開始 さ せます。
バインディング COM : VB 6 のバグ を回避す る ため、 こ の関数は pcircle と い う 名前で も 得 ら れます。
C++ Java C# void arc(double x, double y, double r, double alpha, double beta)
Perl PHP arc(float x, float y, float r, float alpha, float beta)
C void PDF_arc(PDF *p, double x, double y, double r, double alpha, double beta)
円弧を、 反時計周 り で描 き ます。
x・y
r
円弧の中心の座標。
円弧の半径。 r は非負にす る 必要があ り ます。
alpha ・ beta
詳細
円弧の開始角 と 終了角を、 度単位で指定 し ます。
こ の関数は、 alpha 度か ら beta 度ま での反時計回 り の円弧を、 カ レ ン ト パ ス に追加 し ま
す。 PDF_arc( ) で も PDF_arcn( ) で も 、 角度は、 カ レ ン ト ユーザー座標系におけ る x 軸正の
向 き か ら の反時計回 り で指定 し ます。 カ レ ン ト 点があ る と き は、 カ レ ン ト 点か ら 円弧の始
点ま での直線 も 描かれます。 円弧の終点が新たにカ レ ン ト 点にな り ます。
円弧は、 ユーザー座標系において部分円にな り ます。 座標系を、 x ・ y 方向で違 う 倍率
で拡縮 し てい る と き は、 描かれ る 曲線は部分楕円にな り ます。
スコープ ページ ・パ タ ーン ・ テ ン プ レー ト ・ グ リ フ ・パス。 こ の関数はパス ス コ ープ を開始 さ せます。
C++ Java C# void arcn(double x, double y, double r, double alpha, double beta)
Perl PHP arcn(float x, float y, float r, float alpha, float beta)
C void PDF_arcn(PDF *p, double x, double y, double r, double alpha, double beta)
円弧を、 時計回 り で描 き ます。
詳細 描画方向以外は、 こ の関数は PDF_arc( ) と ま っ た く 同 じ 動作を し ます。 特に角度は、 こ の
関数で も x 軸正の向 き か ら の反時計回 り で指定 し ます。
7.4 パス構築
155
C++ Java C# void circular_arc(double x1, double y1, double x2, double y2)
Perl PHP circular_arc(float x1, float y1, float x2, float y2)
C void PDF_circular_arc(PDF *p, double x1, double y1, double x2, double y2)
3 個の点に よ っ て定義 さ れ る 円弧線分を描 き ます。
詳細
x1 ・ y1
円弧線分上の任意の点の座標。
x2 ・ y2
円弧線分の終点の座標。
こ の関数は、 カ レ ン ト パス に円弧線分を追加 し ます。 こ の円弧線分はカ レ ン ト 点を始点 と
し 、 (x1, y1) を通っ て、 (x2, y2) を終点 と し ます。 こ の関数を使 う 前にカ レ ン ト 点を設定す る
必要があ り ます。 こ の曲線の終点が新たにカ レ ン ト 点 と な り ます。
こ の円弧線分はユーザー座標系において円形にな り ます。 座標系が x 方向 と y 方向で
異な る 拡縮を さ れてい る と き は、 生成 さ れ る 曲線は楕円形にな り ます。
スコープ パス
C++ Java C# void ellipse(double x, double y, double rx, double ry)
Perl PHP ellipse(float x, float y, double rx, double ry)
C void PDF_ellipse(PDF *p, double x, double y, double rx, double ry)
楕円を描き ます。
x・y
rx ・ ry
詳細
楕円の中心の座標。
楕円の x 半径 と y 半径。
こ の関数は、 カ レ ン ト パ ス に楕円を、 完全なサブパ ス と し て追加 し ます。 点 (x + rx, y) が
新たにカ レ ン ト 点 と な り ます。 こ の楕円は反時計回 り の向き に作成 さ れます。
スコープ ページ ・パ タ ーン ・ テ ン プ レー ト ・ グ リ フ ・パス。こ の関数はパス ス コ ープを開始 さ せます。
C++ Java C# void elliptical_arc(double x, double y, double rx, double ry, String optlist)
Perl PHP elliptical_arc(float x, float y, double rx, double ry, string optlist)
C void PDF_elliptical_arc(PDF *p, double x, double y, double rx, double ry, const char *optlist)
カ レ ン ト 点か ら 楕円弧を描 き ます。
x・y
楕円弧の終点の座標。
rx ・ ry 楕円の x ・ y 半径。 こ れ ら の値の う ち少な く と も 1 つを、 カ レ ン ト 点 と (x, y) と の
間の距離の半分 よ り も 大 き く す る 必要があ り ます。
optlist
詳細
表 7.4 に従っ て楕円弧のための構築オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト 。
こ の関数は、 カ レ ン ト パス に楕円弧を追加 し ます。 こ の楕円弧は、 カ レ ン ト 点か ら 開始 し
て、 (x, y) で終わ り ます。 カ レ ン ト 点は、 こ の関数を使 う 前に設定 さ れてい る 必要があ り
ます。 楕円弧の終点はが新たな カ レ ン ト 点 と な り ます。 4 個の可能な楕円弧の う ち、 2 個
は ³ 180° の楕円弧 (小 さ い楕円弧) を表 し 、 も う 2 個は ¹ 180° の楕円弧 (大 き い楕円
弧) を表 し ます。
スコープ ページ ・パ タ ーン ・ テ ン プ レー ト ・ グ リ フ ・パス。こ の関数はパス ス コ ープを開始 さ せます。
156
第 7 章 : グ ラ フ ィ ッ ク 関数
表 7.4 PDF_elliptical_arc( ) に対する オプ シ ョ ン
オプ シ ョ ン
説明
clockwise
(論理値) true の場合、 時計回 り 楕円弧の う ちの 1 つが作成 さ れます。 そ う でない場合は、 反時計
回 り 楕円弧が作成 さ れます。 デ フ ォ ル ト : false
largearc
(論理値) true の場合、 大き い楕円弧の う ちの 1 つが作成 さ れます。 そ う でない場合は、 小 さ い楕
円弧が作成 さ れます。 デ フ ォ ル ト : false
rectify
(論理値) true の場合、 小 さ すぎ る半径は、 楕円が構築で き る よ う 変更 さ れます。 そ う でない場合
は、 例外が発生 し ます。 デ フ ォル ト : false
xrotate
(float) 楕円に対する回転角、 すなわち、 楕円の x 軸の、 カ レ ン ト 座標系の x 軸に対する角度を、
度単位で表 し た もの。 楕円弧の開始点 と 終了点は固定 さ れた ま ま です。 デ フ ォル ト : 0
C++ Java C# void rect(double x, double y, double width, double height)
Perl PHP rect(float x, float y, float width, float height)
C void PDF_rect(PDF *p, double x, double y, double width, double height)
長方形を描 き ます。
x・y
長方形の左下隅の座標。
width ・ height
詳細
長方形の寸法。
こ の関数は、 長方形を完全なサブパ ス と し て、 カ レ ン ト パス に追加 し ます。 こ の関数の前
にカ レ ン ト 点を設定 し てお く こ と は、 必須ではあ り ません。 点 (x, y) が新たにカ レ ン ト 点
にな り ます。 線は、 「理想の線」 を中心軸 と し て描かれ ます。 すなわち、 それぞれの端点
を結ぶ線の両側に、 線幅 (linewidth オプシ ョ ンの値に よ っ て決定 さ れ る ) の半分ずつが
描かれます。 こ の長方形は反時計回 り の向 き に作成 さ れます。
スコープ ページ ・パ タ ーン ・ テ ン プ レー ト ・ グ リ フ ・パス。 こ の関数はパス ス コ ープ を開始 さ せます。
C++ Java C# void closepath( )
Perl PHP closepath( )
C void PDF_closepath(PDF *p)
カ レ ン ト パ ス を閉 じ ます。
詳細
こ の関数は、 カ レ ン ト サブパ ス を閉 じ ます。 すなわち、 カ レ ン ト 点か ら サブパ ス の開始点
ま での線を追加 し ます。
スコープ パス
7.4 パス構築
157
7.5 描画 と ク リ ッ ピ ン グ
注 こ の節の関数の多 く は、 パス を ク リ ア し て、 カ レ ン ト 点を未定義に し ます。 ですので、 こ
れ ら の関数のいずれかを呼び出 し た後の描画操作では、 カ レ ン ト 点を明示的に設定する必
要があ り ます (PDF_moveto( ) を使 う 等)。
C++ Java C# void stroke( )
Perl PHP stroke( )
C void PDF_stroke(PDF *p)
パ ス を、 カ レ ン ト 線幅 と カ レ ン ト 描線色で描線 し た後、 ク リ ア し ます。
スコープ パス。 こ の関数はパス ス コ ープを終了 さ せます。
C++ Java C# void closepath_stroke( )
Perl PHP closepath_stroke( )
C void PDF_closepath_stroke(PDF *p)
パ ス を閉 じ た後、 描線 し ます。
詳細
こ の関数は、 カ レ ン ト サブパ ス を閉 じ た後 (カ レ ン ト 点か ら パ ス の開始点への線分を追
加)、 カ レ ン ト パ ス全体を、 カ レ ン ト 線幅 と カ レ ン ト 描線色で描線 し ます。
スコープ パス。 こ の関数はパス ス コ ープを終了 さ せます。
C++ Java C# void fill( )
Perl PHP fill( )
C void PDF_fill(PDF *p)
パ ス の内部を、 カ レ ン ト 塗 り 色で塗 り ます。
詳細
こ の関数は、 カ レ ン ト パ ス の内部を、 カ レ ン ト 塗 り 色で塗 り ます。 パ ス の内部は、 2 種の
アルゴ リ ズ ムのいずれかに よ っ て決定 さ れます (fillrule オプシ ョ ン参照)。 開いてい る パ
ス は、 塗 る 前に暗黙的に閉 じ ら れます。
スコープ パス。 こ の関数はパス ス コ ープを終了 さ せます。
C++ Java C# void fill_stroke( )
Perl PHP fill_stroke( )
C void PDF_fill_stroke(PDF *p)
パ ス を、 カ レ ン ト 塗 り 色 と カ レ ン ト 描線色で、 塗 り 、 描線 し ます。
スコープ パス。 こ の関数はパス ス コ ープを終了 さ せます。
158
第 7 章 : グ ラ フ ィ ッ ク 関数
C++ Java C# void closepath_fill_stroke( )
Perl PHP closepath_fill_stroke( )
C void PDF_closepath_fill_stroke(PDF *p)
パ ス を閉 じ た後、 塗 り 、 描線 し ます。
詳細
こ の関数は、 カ レ ン ト サブパ ス を閉 じ た後 (カ レ ン ト 点か ら パ ス の開始点への線分を追
加)、 カ レ ン ト パ ス全体を塗 り 、 描線 し ます。
スコープ パス。 こ の関数はパス ス コ ープ を終了 さ せます。
C++ Java C# void clip( )
Perl PHP clip( )
C void PDF_clip(PDF *p)
カ レ ン ト パ ス を ク リ ッ ピ ン グパ ス と し て使っ て、 パ ス を終了 さ せます。
詳細
こ の関数は、 カ レ ン ト パ ス と カ レ ン ト ク リ ッ ピ ン グパス の共通部分を、 以後の操作に対す
る ク リ ッ ピ ン グパ ス と し て使い ま す。 ク リ ッ ピ ン グパ ス は、 ページの始 ま り ご と に、 デ
フ ォ ル ト 値であ る ページサ イ ズ と 同 じ に設定 さ れます。 ク リ ッ ピ ン グパス は、PDF_save( )・
PDF_restore( ) の対象に な り ま す。 ク リ ッ ピ ン グ パ ス を 大 き く で き る のは、 PDF_save( ) ・
PDF_restore( ) を使っ た と き だけです。 ク リ ッ ピ ン グ領域は、 cliprule オプシ ョ ン を用いて
選択 さ れた アルゴ リ ズ ムに従っ て決定 さ れます。
スコープ パス。 こ の関数はパス ス コ ープ を終了 さ せます。
C++ Java C# void endpath( )
Perl PHP endpath( )
C void PDF_endpath(PDF *p)
カ レ ン ト パ ス を、 塗 ら ずに、 描線せずに、 終了 さ せます。
詳細
こ の関数は、 ページに対 し て何の視覚的効力 も 持ち ません。 目に見え ないパ ス をページに
生成す る だけです。
スコープ パス。 こ の関数はパス ス コ ープ を終了 さ せます。
7.5 描画 と ク リ ッ ピ ング
159
7.6 パス オ ブ ジ ェ ク ト
C++ Java C# int add_path_point(int path, double x, double y, String nametype, String optlist)
Perl PHP int add_path_point(int path, float x, float y, string type, string optlist)
C int PDF_add_path_point(PDF *p, int path, double x, double y, const char *type,
const char *optlist)
新規の、 ま たは既存のパ ス オブジ ェ ク ト に点かパ ス を追加 し ます。
path それ以前に PDF_add_path_point( ) を呼び出 し て返 さ れた有効なパ スハン ド ルか、ま
たは新規パ ス を作成す る には -1 (PHP では 0)。
x ・ y 新規カ レ ン ト 点の座標。 polar=false にする と 、 こ の 2 個の数は、 点のデカル ト 座標
(x, y) を表 し ます。 polar=true にす る と 、 こ の 2 個の数は、 点の動径 r と 偏角 phi (radians
オ プ シ ョ ン に従 っ て度単位 ま た は ラ ジ ア ン 単位で) を 表 し ま す。 type=circle ・ circular ・
elliptical・ellipse・move・line・curve・rect の と き は、 こ の点が新たにカ レ ン ト 点 と な り ます。
type
点の種別を、 表 7.5 に従っ て指定 し ます。
表 7.5 PDF_add_path_point( ) の点の種別
キーワー ド
説明
addpath
パスに、 svgpath オプ シ ョ ン で指定 さ れたパス定義を完全なサブパス と し て追加。 (x, y) を中心
と し て用います。
circle
パスに、 完全なサブパス と し て円を追加。 (x, y) を中心、 radius をサイ ズ と し て用います。1
circular
カ レ ン ト 点か ら (x, y) への円弧を追加。 あ らか じ め、 3 番目の円弧点 と し て制御点を定義 し てお
く 必要があ り ます。 新規点を カ レ ン ト 点 と 同一にする と 、 カ レ ン ト 点 と 制御点を結ぶ線分を直径
と する円が作成 さ れます。2
control
ベジ エ曲線の、 ま たは円弧の制御点。 2
curve
カ レ ン ト 点か ら新規点へ、 あ らか じ め定義 し ておいた制御点群を用いてベジ エ曲線を追加。 少な
く と も 1 個の制御点を与え る必要があ り ます。 制御点を 1 個だけ与え る と 、 これは曲線の 2 番目
の制御点 と し て用い られ、 1 番目の制御点は、 2 番目の制御点に対する、 直前のベジ エ曲線の終点
における鏡像 と し て算出 さ れます。 2
ellipse
パスに、 完全なサブパス と し て楕円を追加。 (x, y) を中心、 radius オプ シ ョ ンの値群をサイ ズ と
し て用います。 1 こ の楕円は、 xrotate オプ シ ョ ン を用いて回転する こ と も で き ます。
elliptical
カ レ ン ト 点か ら (x, y) への楕円弧を追加。 楕円のサイ ズ と 向きは、 radius ・ xrotate ・ largearc ・
clockwise オプ シ ョ ンに よ っ て定義 さ れます。 radius と し て値を 1 個だけ与えた場合には、 円弧が
作成 さ れます。 この場合には、 適切な円弧点が自動的に作成 さ れます。 radius オプ シ ョ ン で 2 個
の値を与えた場合には、 ベジ エ曲線の集合が作成 さ れます。 2
line
カ レ ン ト 点か ら (x, y) への線分を追加。 2
move
新規サブパス を開始。 サブパスは連続的に付番 さ れます (1, 2, …)。 最初のサブパスは原点を始点
と し ます。
pathref
path オプ シ ョ ン で指定 さ れたパスへの参照を、 完全なサブパス と し て追加。 (x, y) を原点 と し て
用います。 パスは参照 さ れますので (複製は さ れませんので)、 path に対する以後の偏向は、 パス
を描 く 際に反映 さ れます。
rect
パスに、 完全なサブパス と し て長方形を追加。 (x, y) を中心、 width ・ height をサイ ズ と し て用
います。 1 長方形の隅を、 round オプ シ ョ ン を用いて、 描 く 前に丸める こ と も で き ます。 あるいは、
隅を、 radius オプ シ ョ ン を用いて楕円弧で丸める こ と も で き ます。
160
第 7 章 : グ ラ フ ィ ッ ク 関数
1. パスの後に自動的に、 type=move と 、 同 じ 座標 と グ ラ フ ィ ッ ク 書式オ プ シ ョ ン群を持つ新たな点が作成 さ れます。
2. こ れ ら の種別では、 グ ラ フ ィ ッ ク 書式オプ シ ョ ン群 と パス操作オ プ シ ョ ン群は許容 さ れません。
optlist パ ス構築オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト :
> 点 1 個に対する 、 表 7.6 に従っ たパ ス計算 ・ 命名オプシ ョ ン :
name ・ polar ・ radians ・ relative
> 表 7.6 に従っ たパ ス操作オプシ ョ ン :
close ・ fill ・ round ・ stroke
> 表 7.6 に従っ た、 パ ス定義を追加す る ためのオプシ ョ ン :
path ・ svgpath
> 表 7.6 に従っ た、 パ ス要素を構築す る ためのオプシ ョ ン :
clockwise ・ height ・ largearc ・ radius ・ rectify ・ width ・ xrotate
> 表 7.1 に従っ た グ ラ フ ィ ッ ク 書式オプシ ョ ン (type=addpath ・ circle ・ ellipse ・ move ・
rect ・ pathref のいずれかの場合のみ) :
dasharray ・ dashphase ・ fillcolor ・ fillrule ・ flatness ・ gstate ・ linecap ・ linejoin ・
linewidth ・ miterlimit ・ strokecolor
戻り値 パ ス ハン ド ル。 PDF_delete_path( ) で削除す る ま で使え ます。
詳細 パ ス オブジ ェ ク ト は、 ベ ク ト ル図形のための コ ン テナ と し て機能 し ます。 パ ス オブジ ェ ク
ト には、 パ ス と サブパ ス を 1 個ずつ加えてい く こ と がで き ます。 こ こ で新規パ ス要素は、
個々のパ ス ノ ー ド を指定す る こ と に よ っ て、 あ る いはパ スハン ド ルか SVG パ ス記述を通
じ て指定 さ れたパ ス定義を追加す る こ と に よ っ て、 作成する こ と がで き ます。 作成 さ れた
パ ス は、 その後、 PDF_draw_path( ) な ど の関数で用い る こ と がで き ます。
パス オブジ ェ ク ト は、 任意の数のパ ス を保持す る こ と がで き ます。 各パス は さ ら に、 1
個ない し 複数のサブパ ス を含む こ と がで き ます。サブパ ス は、PDF_draw_path( ) の subpaths
オプシ ョ ンで、 描 く ために選択す る こ と がで き ます。 すべてのパス は、 指定 し たオプシ ョ
ンに従っ て個別に、 閉 じ ら れ、 塗 ら れ、 描線 さ れ、 丸め ら れます。
種別 addpath ・ circle ・ ellipse ・ move ・ rect ・ pathref のいずれか を用いた操作は、 新規
サ ブ パ ス を 開始 さ せ ま す。 グ ラ フ ィ ッ ク 書式 オ プ シ ョ ン 群 と パ ス 操作 オ プ シ ョ ン 群
(stroke ・ fill な ど) は、 type=addpath ・ circle ・ ellipse ・ move ・ rect ・ pathref のいずれかの
ためにのみ変更で き ます。 こ の場合には、 パ ス オブジ ェ ク ト 内の新規パ ス が自動的に開始
さ れます。 種別 circle ・ ellipse ・ elliptical ・ rect の形状は、 デフ ォ ル ト では反時計回 り の向
き に作成 さ れますが、 こ れを オプシ ョ ン clockwise で変更す る こ と も で き ます。
スコープ 任意
C++ Java C# void draw_path(int path, double x, double y, String optlist)
Perl PHP draw_path(int path, float x, float y, string optlist)
C void PDF_draw_path(PDF *p, int path, double x, double y, const char *optlist)
パ ス オブジ ェ ク ト を描 き ます。
path PDF_add_path_point( ) を、 ま たはパ スハン ド ルを返すその他の関数 (例 : PDF_info_
image( ) で boundingbox キー ワー ド を指定) を呼び出 し て返 さ れた有効なパ スハン ド ル。
x ・ y 参照点の座標を、 ユーザー座標で指定 し ます。 こ の参照点は さ ま ざ ま なオプシ ョ ン
で用い ら れ、 かつパ ス の原点のカ レ ン ト ユーザー座標系におけ る 位置を指定 し ます。 こ れ
7.6 パスオブ ジ ェ ク ト
161
表 7.6 PDF_add_path_point( ) のオプ シ ョ ン
オプ シ ョ ン
説明
clockwise
(論理値。 type=circle ・ ellipse ・ elliptical ・ rect のみ) true の場合、 その形状は時計回 り の
向き に作成 さ れます。 そ う で ない場合は反時計回 り 。 デ フ ォ ル ト : false
close
(論理値。 type=move のみ) true にする と 、 サブパスは直線で閉 じ られます。 デ フ ォル ト : 脚注参
照1
fill
(論理値。 type=move のみ) true にする と 、 サブパスは閉 じ られて塗られます。 デ フ ォ ル ト : 脚注
参照 1
height
(float。 type=rect のみ。 こ の場合は必須) 長方形の高 さ
largearc
(論理値。 type=elliptical のみ) true の場合、 大き い楕円弧の う ちの 1 つが作成 さ れます。 そ う
で ない場合は、 小 さ い楕円弧の う ちの 1 つが作成 さ れます。 デ フ ォ ル ト : false
name
(文字列) 点の名前。 デ フ ォル ト : p<i> (例 : p1)、 こ こ で i は、 与えた点の連続番号です。
path
(パスハン ド ル。 type=pathref のみ) 指定 さ れたパスが、 カ レ ン ト パスに、 参照に よ っ て追加 さ れ
ます。 追加 さ れるパスの座標は、 カ レ ン ト 点を原点 と し て参照 し ます。 グ ラ フ ィ ッ ク 書式オプ
シ ョ ン群 と name オプ シ ョ ンは無視 さ れます。
polar
(論理値) true にする と 、 引数 (x, y) は極座標で動径 r と 偏角 phi を表 し 、 そ う で ないな ら デ カ
ル ト 座標で値 x ・ y を表 し ます。 デ フ ォ ル ト : false
radians
(論理値) true にする と 、 極座標における偏角はラ ジ ア ン で表 さ れ、 そ う でないな ら度単位で表 さ
れます。 デ フ ォ ル ト : false
radius
(1 個か 2 個の float。 type=circle ・ ellipse ・ elliptical の場合には必須。 type=rect で も 可) 1
つ目の値は、 円の半径ま たは楕円の x 半径を指定 し ます。 2 つ目の float 値は、 存在する場合には、
楕円の y 半径を指定 し ます。 1 つ目の値が、 2 つ目の値に対するデ フ ォ ル ト と し て用い られます。
type=rect の場合には、 これ らの値は、 長方形の角の楕円弧の x ・ y 半径を指定 し ます。 こ の楕円弧
はただ ちに作成 さ れます。 デ フ ォ ル ト : 0
rectify
(論理値。 type=ellipse ・ elliptical のみ) true の場合、 小 さ すぎ る半径は、 楕円が構築で き る
よ う 変更 さ れます。 そ う でない場合は、 例外が発生 し ます。 デ フ ォ ル ト : false
relative
(論理値) true にする と 、 (x, y) はカ レ ン ト 点に対 し て相対的 と な り 、 そ う で ないな ら カ レ ン ト
原点に対 し て相対的 と な り ます。 デ フ ォ ル ト : 脚注参照 1
162
第 7 章 : グ ラ フ ィ ッ ク 関数
表 7.6 PDF_add_path_point( ) のオプ シ ョ ン
オプ シ ョ ン
説明
round
(float。 type=move のみ) サブパス内の隣 り あ う 線の頂点が、 それ らの接合点で、 指定 し た半径を
持ち、 それらの線分を接線 と する円弧に よ っ て丸め ら れます。 半径を負にする と 、 角が円形にへ
こ むよ う に弧が切 り 取 られます。 close=true と する と 、 終了点から 開始点への線を指定 し ていな
いな らば、 最初の線 と 閉 じ る線も 丸め ら れます。 round=0 と する と 丸めは行われません。 円弧は、
パスが描かれる時点で作成 さ れます。 デ フ ォル ト : 脚注参照 1
stroke
(論理値。 type=move のみ) true にする と 、 サブパスは描線 さ れます。 デ フ ォル ト : 脚注参照 1
svgpath
(文字列。 type=addpath のみ) www.w3.org/TR/SVG11/paths.html#PathData に従っ た SVG 文法の
パス記述を内容 と する文字列。 指定 さ れたパスはカ レ ン ト パスに追加 さ れます。 指定 さ れた SVG
パスの座標は、 カ レ ン ト 点を原点 と し て参照 し ます。 グ ラ フ ィ ッ ク 書式オプ シ ョ ン群を こ の SVG
パスに対 し て指定する こ と も で き ます。 オプ シ ョ ン rectify が、 挿入 さ れた SVG パスに対 し て考
慮 さ れます。 そのパスが SVG フ ァ イルか ら下向き座標系に よ っ て生 じ ている場合には、 それを反
転 さ せる必要があ り ます (た と え PDFlib が topdown モー ド で動作 し ていて も )。 こ れは PDF_draw_
path( ) でオプ シ ョ ン scale={1 -1} を用いて実現で き ます。
width
(float。 type=rect のみ。 こ の場合は必須) 長方形の幅
xrotate
(float。 type=ellipse ・ elliptical のみ) 楕円に対する回転角を カ レ ン ト 単位で表 し た もの (オプ
シ ョ ン radians を参照)、 すなわち、 楕円の x 軸の、 カ レ ン ト 座標系の x 軸に対する角度を、 度単
位で表 し た もの。 楕円弧の開始点 と 終了点は固定 さ れたま ま です。 こ のオプ シ ョ ンは、 radius と
し て値 1 個だけが与え られた場合には無視 さ れます。 デ フ ォ ル ト : 0
1. デ フ ォル ト は、PDF_draw_path( ) で も 、PDF_info_path( ) で も 、PDF_fit_textline( ) の textpath オ プ シ ョ ン で も 、PDF_fit_textflow( )
の wrap オ プ シ ョ ン で も 、 PDF_add_table_cell( ) の fitpath オプ シ ョ ン で も 指定 さ れます。
に よ り 、 パ ス オブジ ェ ク ト が平行移動 し ます。
boxsize オプシ ョ ン を指定す る と 、 (x, y) は、 パ ス オブジ ェ ク ト がはめ込まれ る はめ込み枠
(表 6.1 参照) の左下隅 と な り ます。
optlist パ ス描画オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト :
> 表 6.1 に従っ たはめ込みオプシ ョ ン群 :
align ・ attachmentpoint ・ boxsize ・ fitmethod ・ orientate ・ position ・ scale
> 表 7.7 に従っ たパ ス操作 ・ サブパ ス選択オプシ ョ ン :
clip ・ close ・ fill ・ round ・ stroke ・ subpaths
> 表 7.7 に従っ て外接枠を変更す る ためのオプシ ョ ン : bboxexpand ・ boundingbox
> 表 7.1 に従っ た、 fill ・ stroke オプシ ョ ンのためのグ ラ フ ィ ッ ク 書式オプシ ョ ン :
dasharray ・ dashphase ・ fillcolor ・ flatness ・ gstate ・ linecap ・ linejoin ・ linewidth ・
miterlimit ・ strokecolor
> 表 7.1 に従っ た clip オプシ ョ ンのための、表 7.1 に従っ た グ ラ フ ィ ッ ク 書式オプシ ョ ン:
cliprule ・ fillrule
> 表 14.5 に従っ た、 短縮構造エ レ メ ン ト タ グ付けのためのオプシ ョ ン (ページ ス コ ープ
でのみ可) : tag
詳細 パ ス (群) は、 参照点 (x, y) に配置 さ れ、 その後、 指定 し たオプシ ョ ン群に従っ て、 描線
さ れた り 、 塗 ら れた り 、 ク リ ッ ピ ン グパ ス と し て用い ら れた り し ます。 こ の関数は、 clip
オプシ ョ ン を用いていない限 り 、カ レ ン ト グ ラ フ ィ ッ ク ス テー タ ス に変更を加え る こ と は
あ り ま せん。 書式 ・ 操作オプシ ョ ン群はデフ ォ ル ト 設定を オーバ ラ イ ド し ま すが、 PDF_
add_path_point( ) の中のサブパス に対 し て書式オプシ ョ ン を指定 し ていた場合は、 それを
オーバ ラ イ ド す る こ と は一切あ り ません。
7.6 パスオブ ジ ェ ク ト
163
PDF/UA すべてのパ ス オブジ ェ ク ト は、tag オプシ ョ ン を用いて、あ る いは事前の PDF_begin_item( )
への呼び出 し を用いて、 Artifact か Figure と し て タ グ付け さ れ る 必要があ り ます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
表 7.7 パスオブ ジ ェ ク ト 内のすべてのサブパス を制御する ための PDF_draw_path( ) のパス操作オプ シ ョ ン
オプ シ ョ ン
bboxexpand
説明
(float の リ ス ト 。 boundingbox オプ シ ョ ンが指定 さ れている場合には無視 さ れます)
自動的に算出 さ れた外接枠 (パスオブ ジ ェ ク ト を囲む最小の長方形) の拡張を示す 1 個か 2 個の
float。 デ フ ォ ル ト : {0 0}
boundingbox
(長方形) パスオブ ジ ェ ク ト をはめ込み枠内へはめ込むための外接枠 と し て用い ら れる、 パスオブ
ジ ェ ク ト の長方形を座標系で表 し た もの。 デ フ ォ ル ト : パスオブ ジ ェ ク ト を囲む最小の長方形、
ただ し bboxexpand オプ シ ョ ンに従っ て拡張 さ れている可能性も あ り ます
clip
(論理値) true にする と 、 パスは閉 じ られ、 ク リ ッ ピ ン グパス と し て用い ら れます。 デ フ ォ ル ト :
false
close
(論理値) true にする と 、 各サブパスが直線で閉 じ られます。 デ フ ォ ル ト : パスが構築 さ れた際に
指定 さ れた値、 あるいは値が何も 指定 さ れなか っ たな ら false
fill
(論理値。 clip を オーバラ イ ド し ます) true にする と 、 各パスが塗 られます。 デ フ ォル ト : パス
が構築 さ れた際に指定 さ れた値、 あるいは値が何も指定 さ れなかっ たな ら false
round
(float) 各サブパスについて、 隣 り あ う 線の頂点が、 それらの接合点で、 指定 し た半径を持ち、 そ
れらの線分を接線 と する円弧に よ っ て丸め られます。 半径を負にする と 、 角が円形にへこ むよ う
に弧が切 り 取 られます。 close=true と する と 、 終了点から開始点への線を指定 し ていないな ら ば、
最初の線 と 閉 じ る線 も丸め られます。 round=0 と する と 丸めは行われません。 デ フ ォ ル ト : パスが
構築 さ れた際に指定 さ れた値、 あ るいは値が何 も指定 さ れなかっ たな ら 0
stroke
(論理値。 clip を オーバラ イ ド し ます) true にする と 、 パスは描線 さ れます。 デ フ ォル ト : false
subpaths
(整数の リ ス ト 、 またはキーワー ド 1 個) 描き たいサブパスの番号の リ ス ト 。 最初のサブパスは番
号 1 です。 キーワー ド all ですべてのサブパスが指定 さ れます。 デ フ ォル ト : all
C++ Java C# double info_path(int path, String keyword, String optlist)
Perl PHP float info_path(int path, string keyword, string optlist)
C double PDF_info_path(PDF *p, int path, const char *keyword, const char *optlist)
パ ス オブジ ェ ク ト を描いた結果を、 実際にそれを描 く こ と な く 取得 し ます。
path PDF_add_path_point( ) を、 ま たはパ スハン ド ルを返すその他の関数 (例 : PDF_info_
image( ) で boundingbox キーワ ー ド を指定) を呼び出 し て返 さ れた有効なパ スハン ド ル。
keyword 求め る 情報を指定 し た キー ワー ド :
> 表 6.3 に従っ た、 オブジ ェ ク ト はめ込みの結果を ク エ リ す る ためのキーワ ー ド :
boundingbox ・ fitscalex ・ fitscaley ・ height ・ objectheight ・ objectwidth ・ width ・ x1 ・ y1 ・
x2 ・ y2 ・ x3 ・ y3 ・ x4 ・ y4
> 表 7.8 に従っ た さ ら な る キーワ ー ド :
bboxwidth ・ bboxheight ・ numpoints ・ px ・ py
optlist パス描画オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト :
> 表 7.7 に従っ た PDF_draw_path( ) のすべてのオプシ ョ ン
> お よ び、 表 6.1 に従っ たはめ込みオプシ ョ ン : refpoint
164
第 7 章 : グ ラ フ ィ ッ ク 関数
表 7.8 PDF_info_path( ) のキーワー ド
キーワー ド
説明
bboxwidth ・ パスに対する外接枠の幅 と 高 さ
bboxheight
numpoints
与え られた点の数。 subpaths オプ シ ョ ンは無視 さ れます。
px ・ py
name オプ シ ョ ン で指定 し たパス点の x ・ y 座標 (ユーザー座標系における)。 subpaths オプ シ ョ ン
は無視 さ れます。
> お よ び、 表 7.9 に従っ たオプシ ョ ン : name
戻り値
詳細
キーワー ド で求め ら れた何 ら かのパ ス特性の値。
こ の関数は、 PDF_add_path_point( ) と 同 じ 計算を実行 し ますが、 ページ上に目に見え る 出
力を一切生成 し ません。
スコープ 任意
表 7.9 PDF_info_path( ) のオプ シ ョ ン
オプ シ ョ ン
説明
name
px ま たは py に対するパス点の名前。 PDF_add_path_point( ) で明示的な名前を指定 し てあ っ て も 、
デ フ ォル ト 名 (p1 等) も用いる こ と がで き ます。
C++ void delete_path(int path)
Perl PHP delete_path(int path)
C void PDF_delete_path(PDF *p, int path)
パ ス オブジ ェ ク ト を削除 し ます。
path PDF_add_path_point( ) を、 ま たはパ スハン ド ルを返すその他の関数 (例 : PDF_info_
image( ) で boundingbox キー ワー ド を指定) を呼び出 し て返 さ れた有効なパ スハン ド ル。
詳細 パ ス オブ ジ ェ ク ト と 、 それに関連 し たすべての内部デー タ 構造を削除 し ま す。 パ ス オブ
ジ ェ ク ト は、 PDF_end_document( ) で自動的に削除 さ れ る わけではない こ と に留意 し て く
だ さ い。
スコープ 任意
7.6 パスオブ ジ ェ ク ト
165
166
第 7 章 : グ ラ フ ィ ッ ク 関数
8 色関数
8.1 色を設定
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルが ク ッ ク ブ ッ クの color/starter_color ト ピ ッ ク にあ り ます。
こ の節に関連す る グ ロ ーバルオプシ ョ ン を表 8.1 に挙げます (25 ページ 「2.3 グ ロ ーバル
オプシ ョ ン」 参照)。
表 8.1 PDF_set_option( ) の色関連キー
オプ シ ョ ン
説明
preserveoldpantonenames
(論理値) false な ら 、 旧形式の Pantone スポ ッ ト カ ラ ー名は、 照応する新 し い カ ラ ー名に
変換 さ れます。 そ う で ないな ら、 そのま まにな り ます。 デ フ ォル ト : false
spotcolorlookup
(論理値) false な ら 、 PDFlib は、 スポ ッ ト カ ラ ー名の内蔵デー タ ベース を使いません。 そ
の場合は、 既知のスポ ッ ト カ ラ ーに カ ス タ ムの定義を与え る こ と がで き ます。 カ ス タ ム定
義は、 他のア プ リ ケーシ ョ ン で使われる定義 と の整合を と る手段 と し て必要にな る こ と が
あ り ます。 こ の機能は、 使用には注意が必要であ り 、 推奨 し ません。 デ フ ォル ト : true
C++ Java C# void setcolor(String fstype, String colorspace, double c1, double c2, double c3, double c4)
Perl PHP setcolor(string fstype, string colorspace, float c1, float c2, float c3, float c4)
C void PDF_setcolor(PDF *p,
const char *fstype, const char *colorspace, double c1, double c2, double c3, double c4)
グ ラ フ ィ ッ ク ・ テ キ ス ト ス テー ト のためのカ レ ン ト 色空間 と 色を設定 し ます。
fstype fill ・ stroke ・ fillstroke のいずれかで、 塗 り ・ 描線 ・ 両方のいずれに色を設定 し た
いのか を指定 し ます。
colorspace 指定す る カ ラ ー値群に対 し て用いたい色空間を指定す る か、 ま たは RGB カ
ラ ー値を名前か 16 進値で指定 し ます。
1 番目の形式:gray・rgb・cmyk・spot・pattern・iccbasedgray・iccbasedrgb・iccbasedcmyk・
lab のいずれか 1 つで、 色空間を指定 し ます。
2 番目の形式 : RGB カ ラ ー名 (例 : pink) か、 ま たはハ ッ シ ュ キ ャ ラ ク タ の後に 6 桁の
16 進数 (例 : #FFC0CB)。
c1 ・ c2 ・ c3 ・ c4 選んでい る 色空間におけ る 色要素。 こ れ ら の値の解釈は、 colorspace 引
数に よ っ て異な り ます。
> gray : c1 でグ レー値を指定 し ます。
> rgb : c1 ・ c2 ・ c3 で赤 ・ 緑 ・ 青の値を指定 し ます。
> cmyk : c1 ・ c2 ・ c3 ・ c4 でシ ア ン ・ マゼン タ ・ イ エ ロ ー ・ 黒の値を指定 し ます。
> iccbasedgray : c1 でグ レー値を指定 し ます。
> iccbasedrgb : c1 ・ c2 ・ c3 で赤 ・ 緑 ・ 青の値を指定 し ます。
> iccbasedcmyk : c1 ・ c2 ・ c3 ・ c4 でシ ア ン ・ マゼン タ ・ イ エ ロ ー ・ 黒の値を指定 し ます。
> spot : c1 で、PDF_makespotcolor( ) に よ っ て返 さ れた ス ポ ッ ト カ ラ ーハン ド ルを指定 し 、
c2 で、 0 か ら 1 ま での濃度値を指定 し ます。
8.1 色を設定
167
> lab : c1 ・ c2 ・ c3 で、 D50 光源に よ る CIE L*a*b* 色空間内のカ ラ ー値を指定 し ます。 c1 で
L*(輝度)を範囲0~100で指定 し 、c2・c3でa*・b*(色度)値を範囲-128~127で指定 し ます。
> pattern : c1 で、 PDF_begin_pattern_ext( ) か PDF_shading_pattern( ) に よ っ て返 さ れたパ
タ ーンハン ド ルを指定 し ます。 painttype=uncolored を用いたパ タ ーン を使っ て塗 り や
描線を行 う と き は、 カ レ ン ト の塗 り 色や描線色が適用 さ れ ます。 カ レ ン ト 色空間は他
のパ タ ーン色空間であ っ てはいけ ません。
詳細 gray ・ rgb ・ cmyk 色空間におけ る すべてのカ ラ ー値 と 、 spot 色空間におけ る 濃度値は、 0
以上 1 以下の数値にす る 必要があ り ます。 使わない引数は、 0 に設定する べき です。 色空
間 と カ ラ ー値に関 し て さ ら に詳 し い情報は 14 ページ 「色オプシ ョ ン」 にあ り ます。
gray ・ rgb ・ cmyk 色空間におけ る 描線 ・ 塗 り 色の値は、 ページの始ま り ご と に、 デフ ォ
ル ト 値であ る 黒に設定 さ れます。 ス ポ ッ ト ・ パ タ ーン カ ラ ーの場合はデフ ォ ル ト はあ り ま
せん。
iccbasedgray/rgb/cmyk 色空間を使 う 場合には、 iccprofilegray/rgb/cmyk オプシ ョ ンの う
ちのいずれか 1 つを使 う 前に、 適切な ICC プ ロ フ ァ イ ルを設定 し てお く 必要があ り ます。
こ の関数は、fillcolorお よ び/ ま たはstrokecolorオプシ ョ ン を伴 う PDF_set_text_option( )・
PDF_set_graphics_option( ) と 等価です。PDF_setcolor( ) は こ れ ら のオプシ ョ ンの値を オーバ
ラ イ ド し ます。
PDF/A colorspace=gray は、出力 イ ン テ ン ト (任意の種類) か、PDF_begin_page_ext( ) で defaultgray
オプシ ョ ン を必要 と し ます。
colorspace=rgb は、 RGB 出力 イ ン テ ン ト か、 PDF_begin_page_ext( ) で defaultrgb オプ
シ ョ ン を必要 と し ます。
colorspace=cmyk は、 CMYK 出力 イ ン テ ン ト か、 PDF_begin_page_ext( ) で defaultcmyk
オプシ ョ ン を必要 と し ます。
PDF/X PDF/X-1a : colorspace=rgb ・ iccbasedgray/rgb/cmyk ・ lab は許 さ れません。
PDF/X-3 : iccbasedgray/rgb/cmyk ・ lab カ ラ ーは、 出力 イ ン テ ン ト の中に ICC プ ロ フ ァ
イ ルを必要 と し ます ( こ の場合、 標準名では不十分です)。
PDF/X-3/4/5 : colorspace=gray は、 グ レース ケールか CMYK デバ イ ス イ ン テ ン ト か、
PDF_begin_page_ext( ) で defaultgray オプシ ョ ン を必要 と し ます。
colorspace=rgb は、 RGB 出力 イ ン テ ン ト か、 PDF_begin_page_ext( ) で defaultrgb オプ
シ ョ ン を必要 と し ます。
colorspace=cmykは、CMYK出力 イ ン テ ン ト か、PDF_PDF_begin_page_ext( )でdefaultcmyk
オプシ ョ ン を必要 と し ます。
PDF/UA 情報を色か コ ン ト ラ ス ト だけで伝達す る べ き ではあ り ません。
スコープ ページ ・ パ タ ーン (painttype=colored の場合のみ) ・ テ ン プ レー ト ・ グ リ フ (Type 3 フ ォ
ン ト の colorized オプシ ョ ンが true の場合のみ) ・ 文書。 パ タ ーン カ ラ ーは、 それ自身の定
義の中では使え ません。 文書ス コ ープ内での色の設定は、 PDF_makespotcolor( ) で ス ポ ッ
ト カ ラ ーを定義す る 際に有用です。
168
第 8 章 : 色関数
C++ Java C# int makespotcolor(String spotname)
Perl PHP int makespotcolor(string spotname)
C int PDF_makespotcolor(PDF *p, const char *spotname, int reserved)
組み込み ス ポ ッ ト カ ラ ーの名前を検索す る か、 ま たは、 カ レ ン ト 塗 り 色か ら 名前付 き ス
ポ ッ ト カ ラ ーを作 り ます。
spotname 組み込みス ポ ッ ト カ ラ ーの名前か、 ま たは、 定義 し たい ス ポ ッ ト カ ラ ーにつ
けたい任意の名前。 こ の名前は最長 126 バ イ ト に制限 さ れてい ます。
特殊な ス ポ ッ ト カ ラ ー名 All を使 う と 、色をすべての色分版に適用す る こ と がで き ます
ので、 ト ン ボに色をつけ る 際に便利です。 ス ポ ッ ト カ ラ ー名 None を指定する と 、 ど の色
分版に も 目に見え る 出力が ま っ た く 生成 さ れな く な り ます。
reserved
戻り値
(C 言語バ イ ンデ ィ ン グのみ) 予約済。 0 にする 必要があ り ます。
カ ラ ーハン ド ル。 以後の PDF_setcolor( ) への呼び出 し で、 ま た、 PDF_set_graphics_option( )
な ど の関数の fillcolor ・ strokecolor オプシ ョ ンに対 し て使え ます。 ス ポ ッ ト カ ラ ーハン ド
ルは、 すべてのページにわた っ て再利用で き ますが、 文書を越え た再利用はで き ません。
1 文書内の ス ポ ッ ト カ ラ ーの数に制限はあ り ません。
詳細 spotname が、 PANTONE ・ HKS カ ラ ー群を持つ内蔵のカ ラ ーテーブルで既知であ り 、 か
つ、 spotcolorlookup オプシ ョ ンが true ( こ れがデフ ォ ル ト です) の場合には、 指定 さ れた
ス ポ ッ ト カ ラ ー名 と 、 照応す る 内部代替カ ラ ー値群が使われます。 それ以外な ら 、 カ レ ン
ト 塗 り 色のカ ラ ー値を使っ て、 新規ス ポ ッ ト カ ラ ーの視覚表現が定義 さ れます。 こ の代替
色は、 画面プ レ ビ ュ ー と 低品位印刷でのみ使われます。 色分版製版の際は、 こ の代替値で
はな く 、 ス ポ ッ ト カ ラ ー名が使われます。
spotname が、 以前に PDF_makespotcolor( ) を呼び出 し た時に も う 使っ ていた も のな ら
ば、 戻 り 値は前回の呼び出 し と 同 じ にな り 、 カ レ ン ト カ ラ ーの反映 も さ れません。
こ の関数は通常、 色型のオプシ ョ ン群を与え る こ と に よ っ て、 使わずに済みます。 こ
の方法であれば、 ス ポ ッ ト カ ラ ー名ま たは定義 と ス ポ ッ ト カ ラ ーの利用 と を、 ス ポ ッ ト カ
ラ ーハン ド ルを受け渡す必要な し に、 ただ 1 つのオプシ ョ ン リ ス ト の中で実現で き ます :
表 1.2 に例があ り ますので参照 し て く だ さ い。
PDF/X PANTONE® カ ラ ーは PDF/X-1a モー ド では対応 し てい ません。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ (Type 3 フ ォ ン ト の colorized オプシ ョ ンが true
の場合のみ) ・ document。 カ ス タ ム カ ラ ーを定義 し たい と き は、 カ レ ン ト 塗 り 色は ス ポ ッ
ト カ ラ ーかパ タ ーンであ っ てはいけ ません。
8.1 色を設定
169
8.2 ICC プ ロ フ ァ イ ル
C++ Java C# int load_iccprofile(String profilename, String optlist)
Perl PHP int load_iccprofile(string profilename, string optlist)
C int PDF_load_iccprofile(PDF *p, const char *profilename, int len, const char *optlist)
ICC プ ロ フ ァ イ ルを検索 し て、 以後の使用に備え ます。
profilename (名前文字列) ICCProfile リ ソ ース の名前か、 ま たはデ ィ ス ク ベース の フ ァ
イ ルか仮想フ ァ イ ルの名前。
len (C 言語バ イ ンデ ィ ン グのみ) profilename の長 さ (バ イ ト 単位)。 len=0 にする と null
終了文字列を与え る 必要があ り ます。
optlist プ ロ フ ァ イ ル処理の諸特性を記述 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> 表 8.2 に従っ たプ ロ フ ァ イ ル処理オプシ ョ ン群 : description ・ embedprofile ・ metadata ・
urls ・ usage
表 8.2 PDF_load_iccprofile( ) のオプ シ ョ ン
キー
説明 ・ と り う る値
description
(文字列。 usage=outputintent かつ非標準出力条件の場合のみ) 出力イ ン テ ン ト と と も に用い られ
る ICC プ ロ フ ァ イルに関する人間向けの説明。
embedprofile
(論理値。 PDF/X-1a/3 かつ usage=outputintent の場合のみ。 PDF/X-4 と PDF/X-5g では true を
強制 さ れます) PDF/X-1a/3 で標準出力イ ン テ ン ト を profilename と し て与えている と き に も 、
ICC プ ロ フ ァ イルを埋め込みます。 デ フ ォル ト : false
metadata
(オプ シ ョ ン リ ス ト 。 PDF/X-4p ・ PDF/X-5pg で usage=outputintent の場合には無視 さ れます) プ
ロ フ ァ イルに対する メ タ デー タ を与え ます (281 ページ 「14.2 XMP メ タ デー タ 」 参照)
urls
(文字列 1 個ない し 複数の リ ス ト 。 PDF/X-4p と PDF/X-5pg, の場合のみ。 かつその場合には必須)
参照 さ れている出力イ ン テ ン ト ICC プ ロ フ ァ イルを入手で き る場所を示 し た URL 群の リ ス ト 。 送
り 手 と 受け手が、 適切な URL 項目を ア レ ン ジする必要があ り ます。 こ の文字列は自由に選ぶ こ と
がで き ますが、 有効な URL 文法を内容 と する必要があ り ます。
usage
(キーワー ド ) ICC プ ロ フ ァ イルの想定用途。 使え るキーワー ド (デ フ ォ ル ト : iccbased) :
ICC プ ロ フ ァ イルは、 テキス ト かグ ラ フ ィ ッ クのための ICC ベース色空間 と し て使われ
るか、 画像に適用 さ れるか、 デ フ ォ ル ト 色空間 と し て使われるか、 透過グループのため
のブ レ ンデ ィ ング色空間 と し て使われます。
outputintent
ICC プ ロ フ ァ イルは、 PDF/A か PDF/X 出力イ ン テ ン ト を指定 し ます。
iccbased
戻り値 プ ロ フ ァ イ ルハン ド ル。 以後の PDF_load_image( ) への呼び出 し か、 ま たはプ ロ フ ァ イ ル
関連のオプシ ョ ンの設定で使え ます。 errorpolicy=return の場合、 戻 り 値 -1 (PHP では 0)
はエ ラ ーを示 し ますので、 そ う でないか を呼び出 し 側で検査す る 必要があ り ます。 返 さ れ
たプ ロ フ ァ イ ルハン ド ルは、 複数の PDF 文書にわた っ て再利用する こ と はで き ません。 1
文書内の ICC プ ロ フ ァ イ ルの数に制限はあ り ません。 関数の呼び出 し が失敗 し た と き は、
その失敗の原因は、 PDF_get_errmsg( ) を使っ て取得す る こ と がで き ます。
詳細 usage=iccbased にす る と 、 プ ロ フ ァ イ ル検索戦略に従っ て、 名前付 き プ ロ フ ァ イ ルが検索
さ れます。 使用目的に応 じ て、 ICC プ ロ フ ァ イ ルは、 PDFlib チ ュ ー ト リ アルに挙げ る 条件
170
第 8 章 : 色関数
を満たす必要があ り ます。 sRGB プ ロ フ ァ イ ルは、 つねに内部的に得 ら れ る ので、 構成 し
てはいけ ません。
PDF/A 出力 イ ン テ ン ト は、 こ の関数を使 う か、 ま たは、 PDF_process_pdi( ) を使っ て取 り 込み文書
の出力 イ ン テ ン ト を コ ピー し て、 設定す る こ と がで き ます。 デバ イ ス独立な色だけ を文書
で使っ てい る と き は、 出力 イ ン テ ン ト は必要あ り ません。
PDF/X 出力 イ ン テ ン ト は、 こ の関数を使 う か、 ま たは、 PDF_process_pdi( ) を使っ て取 り 込み文書
の出力 イ ン テ ン ト を コ ピー し て、 設定す る 必要があ り ます。
PDF/X-1/3 : 以下の標準出力条件名の う ちの 1 つを、 照応す る ICC プ ロ フ ァ イ ルを埋
め込まずに使用で き ます :
CGATS TR 001・CGATS TR 002・CGATS TR 003・CGATS TR 005・CGATS TR 006・
FOGRA30・FOGRA31・FOGRA32・FOGRA33・FOGRA34・FOGRA35・FOGRA36・FOGRA38・FOGRA39・
FOGRA40・FOGRA41・FOGRA42・FOGRA43・FOGRA44・FOGRA45・FOGRA46・FOGRA47・
IFRA26・IFRA30・
EUROSB104・EUROSB204・
JC200103・JC200104・JCN2002・JCW2003
PDF/X-4 : 出力 イ ン テ ン ト プ ロ フ ァ イ ルが、 PDF を生成す る 際に得 ら れ る 必要があ り 、
埋め込ま れます。
PDF/X-4/5 : CMYK 出力 イ ン テ ン ト プ ロ フ ァ イ ル (すなわち usage=outputintent を用
いて読み込ま れた も の) を、 同一文書内で ICC ベース色空間 (すなわち usage=iccbased を
用いて読み込ま れた も の) のために使 う こ と はで き ません。 こ の必要条件は、 PDF/X 規
格に よ っ て義務付け ら れてい る も のであ り 、 CMYK プ ロ フ ァ イ ルにのみ適用 さ れ、 グ レー
ス ケール ・ RGB プ ロ フ ァ イ ルには適用 さ れません。 出力 イ ン テ ン ト 内 と 同 じ CMYK ICC
プ ロ フ ァ イ ルを ICC ベース カ ラ ー と し て も 用いたい (画像に タ グ付けする ため等) と い う
必要があ る 場合には、 単にその ICC プ ロ フ ァ イ ルを省略すれば足 り ます。 なぜな ら PDF/
X では、 その出力 イ ン テ ン ト プ ロ フ ァ イ ルがいずれにせ よ 用い ら れ る こ と を暗黙に前提 し
てい る か ら です。
PDF/X-4p/5pg : プ ロ フ ァ イ ルは埋め込まれませんが、 外部プ ロ フ ァ イ ルへの参照が作
成 さ れます。 こ のプ ロ フ ァ イ ルは、 PDF を生成す る 際に得 ら れ る 必要があ り 、 かつ、 PDF
消費者がその文書を閲覧ま たは印刷す る 際に得 ら れ る 必要があ り ます。PDFlib チ ュ ー ト リ
アルに、 参照 ICC プ ロ フ ァ イ ルでの Acrobat での諸問題に関する 重要な注記があ り ます。
上に挙げた標準出力 イ ン テ ン ト の う ちの 1 つを PDF/X-4 か PDF/X-5 で使いたい場合
には、照応す る ICC プ ロ フ ァ イ ルを、ICCProfile リ ソ ース と 同様に構成す る 必要があ り ます。
スコープ 文書。出力 イ ン テ ン ト は、PDF_begin_document( ) の直後に設定す る 必要があ り ます。usage
オプシ ョ ン を iccbased に し てい る と き は、 次の ス コ ープ も 許 さ れ ます : ページ ・ パ タ ー
ン ・ テ ン プ レー ト ・ グ リ フ。
8.2 ICC プ ロ フ ァ イル
171
8.3 パ タ ー ン と シ ェ ーデ ィ ン グ
C++ Java C# int begin_pattern_ext(double width, double height, string optlist)
Perl PHP int begin_pattern_ext(float width, float height, string optlist)
C int PDF_begin_pattern_ext(PDF *p, double width, double height, const char *optlist)
パ タ ーン定義を オプシ ョ ン群を用いて開始 し ます。
width, height
こ のパ タ ーンの外接枠の寸法をパ タ ーン座標系で表 し た も の。
optlist パ タ ーンの詳細を記述 し たオプシ ョ ン リ ス ト :
> 表 8.3 に従っ た、 以下のテ ンプ レー ト 独自オプシ ョ ン を使え ます :
boundingbox ・ painttype ・ tilingtype ・ topdown ・ xstep ・ ystep
> 以下の共通 XObject オプシ ョ ン を使え ます (表 9.11 参照) : transform
戻り値 パ タ ーンハン ド ル。 こ のハン ド ルは、 以後の PDF_setcolor( ) への呼び出 し で、 お よ び、 こ
れを囲 う 文書ス コ ープの間にオプシ ョ ン fillcolor ・ strokecolor に対 し て、 使 う こ と がで き
ます。
詳細
こ の関数は、 すべてのテ キ ス ト ・ グ ラ フ ィ ッ ク ・ カ ラ ー ス テー ト パ ラ メ タ 群を、 そのデ
フ ォ ル ト 値へ リ セ ッ ト し ます。transform オプシ ョ ンは、パ タ ーン座標系か ら 、 そのパ タ ー
ン が使用 さ れ る ページかテ ン プ レ ー ト か グ リ フ定義の座標系へのマ ッ ピ ン グ を定義 し ま
す。 パ タ ーン定義上では、 すべてのテ キ ス ト ・ グ ラ フ ィ ッ ク 操作を使用で き ますが、 ハ イ
パーテ キ ス ト 関数群、 お よ び画像か PDF ページかグ ラ フ ィ ッ ク を開 く ための関数群は避
け る 必要があ り ます。 色操作は、 painttype オプシ ョ ンに従っ て使用で き ます。
スコープ オブ ジ ェ ク ト 以外任意。 こ の関数は、 パ タ ーン ス コ ープ を開始 さ せます。 マ ッ チす る PDF_
end_pattern( ) 呼び出 し と 必ずペアにす る 必要があ り ます。
C++ Java C# void end_pattern( )
Perl PHP end_pattern( )
C void PDF_end_pattern(PDF *p)
パ タ ーン定義を完了 し ます。
スコープ パ タ ーン。 こ の関数はパ タ ーン ス コ ープを終了 さ せます。 照応する
ext( ) と 必ずペアに し て呼び出す必要があ り ます。
172
第 8 章 : 色関数
PDF_begin_pattern_
表 8.3 PDF_begin_pattern_ext( ) のオプ シ ョ ン : い く つかのオプ シ ョ ンは PDF_begin_template_ext( ) で も 使え ます。
オプ シ ョ ン
説明
boundingbox
(四角形) そのパ タ ーン セルの外接枠の左 ・ 下 ・ 右 ・ 上辺の座標。 こ の外接枠は、 パ タ ーン セルま
たはテ ン プ レー ト を切 り 抜 く ために、 あ るいは、 パ タ ーン セルまたはテ ン プ レー ト の周 り に余白
を作る ために用いる こ と がで き ます。 デ フ ォル ト : {0 0 width height}
painttype
(キーワー ド ) このパ タ ーンが、 自身の色指定を内容 と し て持っ ているか、 それ と も こ のパ タ ーン
が塗 り か描線のために使用 さ れる際に カ レ ン ト の塗 り または描線色を用いて着色 さ れる ス テ ン シ
ル と し て使われるかを示 し ます (デ フ ォ ル ト : colored) :
colored
(非推奨の関数 PDF_begin_pattern( ) における painttype=1 と 等価) こ のパ タ ーンは、PDF_
setcolor( ) への 1 回ない し 複数回の呼び出 し を用いて、 またはオプ シ ョ ン fillcolor/
strokecolor を用いて、 着色 さ れる。 そのパ タ ーン記述は、 画像か PDF ページかグ ラ
フ ィ ッ ク を配置する こ と がで き ます。
uncolored (非推奨の関数 PDF_begin_pattern( ) における painttype=2 と 等価) こ のパ タ ーンは、 色指
定を一切内容 と し て持 っ ていない。 こ のパ タ ーンが塗 り か描線のために使用 さ れる際に
カ レ ン ト の塗 り または描線色が適用 さ れます。 画像マス ク を使 う こ と がで き ますが、 画
像、 配置 さ れた PDF ページ、 グ ラ フ ィ ッ ク は一切使え ません。 こ のパ タ ーン を使用す
る前には、 PDF_setcolor( ) かオプ シ ョ ン fillcolor/strokecolor を呼び出 し て、 パ タ ー
ン に基づかない色空間を持っ た カ レ ン ト カ ラ ーを設定する必要があ り ます。
tilingtype
(キーワー ド ) パ タ ーン タ イル群のスペーシ ングへの調整を制御 し ます (デ フ ォ ル ト :
constantspacing) :
constantspacing
パ タ ーン セル群を、 一貫性を も っ て、 すなわち 1 つのデバイ ス ピ ク セルの倍数に よ っ て
スペーシ ング。 PDF 消費 ソ フ ト ウ ェ アは、 xstep ・ ystep ・ 変換行列に微細な調整を行 う
こ と によ っ てパ タ ーン セルをわずかに変形 さ せなければな ら ない可能性があ り ます。
nodistortion
パ タ ーン セルを歪めない。 し か し 、 こ のパ タ ーンが描かれる際に、 パ タ ーン セル群の間
のスペーシ ングが、 最大 1 デバイ ス ピ ク セルだけ、 縦横 と も に変動する可能性があ り ま
す。 こ れは平均 と し て、 求め られる スペーシ ング を実現 し ますが、 個別のパ タ ーン セル
についてはこ の限 り ではあ り ません。
fastertiling
パ タ ーン セル群を、 constanttiling と 同様に一貫性を持 っ て スペーシ ングするが、 た
だ し 、 よ り 効率的な実装を実現する ために さ ら な る変形を許容する。
topdown
(論理値) true の場合、 そのパ タ ーン またはテ ン プ レー ト 定義の開始時における座標系の原点はそ
の外接枠の左上隅にあ る と 見な さ れ、 y 座標は下方増加する と 見な さ れます。 そ う でない場合、 そ
の座標系が直接用い ら れます。 デ フ ォル ト : false
xstep
(float) パ タ ーン セル群の間の横スペーシ ング をパ タ ーン座標で表 し た もの。 デ フ ォ ル ト : width
ystep
(float) パ タ ーン セル群の間の縦スペーシ ング をパ タ ーン座標で表 し た もの。 デ フ ォ ル ト : height
8.3 パ タ ーン と シ ェ ーデ ィ ング
173
C++ Java C# int begin_pattern(double width, double height, double xstep, double ystep, int painttype)
Perl PHP int begin_pattern(float width, float height, float xstep, float ystep, int painttype)
C int PDF_begin_pattern(PDF *p,
double width, double height, double xstep, double ystep, int painttype)
非推奨。 PDF_begin_pattern_ext( ) を使用 し て く だ さ い
C++ Java C# int shading_pattern(int shading, String optlist)
Perl PHP int shading_pattern(int shading, string optlist)
C int PDF_shading_pattern(PDF *p, int shading, const char *optlist)
シ ェ ーデ ィ ン グパ タ ーン を、 シ ェ ーデ ィ ン グオブジ ェ ク ト を使っ て定義 し ます。
shading
PDF_shading( ) に よ っ て返 さ れたシ ェ ーデ ィ ン グハン ド ル。
optlist シ ェ ーデ ィ ン グパ タ ーンのグ ラ フ ィ ッ ク 書式を表 7.1 に従っ て記述 し たオプシ ョ
ン リ ス ト : gstate
戻り値 パ タ ーンハン ド ル。 以後の PDF_setcolor( ) への呼び出 し で、 ま た、 オプシ ョ ン fillcolor ・
strokecolor のために、 文書ス コ ープが終わ る ま で使え ます。
詳細
こ の関数を使 う と 、 任意のオブジ ェ ク ト を シ ェーデ ィ ン グで塗 る こ と がで き ます。 そのた
めには、 PDF_shading( ) を使っ てシ ェーデ ィ ン グハン ド ルを取得す る 必要があ り 、 それか
ら 、 こ のシ ェ ーデ ィ ン グに も と づいて PDF_shading_pattern( ) を使っ てパ タ ーン を定義す
る 必要があ り ます。 そ し て最終的に、 こ のパ タ ーンハン ド ルを PDF_setcolor( ) に、 ま たは
オプシ ョ ン fillcolor ・ strokecolor に与えれば、 カ レ ン ト カ ラ ーを シ ェーデ ィ ン グパ タ ーン
に設定す る こ と がで き ます。
スコープ オブ ジ ェ ク ト 以外任意
C++ Java C# void shfill(int shading)
Perl PHP shfill(int shading)
C void PDF_shfill(PDF *p, int shading)
領域を シ ェ ーデ ィ ン グで、 シ ェ ーデ ィ ン グオブジ ェ ク ト に も と づいて塗 り ます。
shading
詳細
PDF_shading( ) に よ っ て返 さ れたシ ェ ーデ ィ ン グハン ド ル。
こ の関数を使えば、 PDF_shading_pattern( ) ・ PDF_setcolor( ) ま たはオプシ ョ ン fillcolor ・
strokecolor を使わな く て も 、 シ ェ ーデ ィ ン グ を使 う こ と がで き ます。 ただ し こ れは、 塗 る
べ き オブジ ェ ク ト の形がシ ェ ーデ ィ ン グ自体の形 と 同 じ と い う 、単純な形に対 し てのみ動
作 し ま す。 カ レ ン ト 切 り 抜 き 領域がシ ェ ーデ ィ ン グ で塗 ら れ る ので (シ ェ ーデ ィ ン グ の
extend0 ・ extend1 オプシ ョ ンに従っ て)、 一般に こ の関数は、 PDF_clip( ) と 組み合わせて使
い ます。
スコープ ページ ・ パ タ ーン (painttype=colored の場合のみ) ・ テ ン プ レー ト ・ グ リ フ (Type 3 フ ォ
ン ト の colorized オプシ ョ ンが true の場合のみ)
174
第 8 章 : 色関数
C++ Java C# int shading(String shtype, double x0, double y0, double x1, double y1,
double c1, double c2, double c3, double c4, String optlist)
Perl PHP int shading(string shtype, float x0, float y0, float x1, float y1,
float c1, float c2, float c3, float c4, string optlist)
C int PDF_shading(PDF *p, const char *shtype, double x0, double y0, double x1, double y1,
double c1, double c2, double c3, double c4, const char *optlist)
カ レ ン ト 塗 り 色か ら 別の色へのブ レ ン ド を定義 し ます。
shtype シ ェ ーデ ィ ン グの種類。 線形シ ェ ーデ ィ ン グ を表す axial か、 ま たは円形の放射
シ ェーデ ィ ン グ を表す radial にす る 必要があ り ます。
x0 ・ y0 ・ x1 ・ y1 線形シ ェーデ ィ ン グの場合、 (x0, y0) と (x1, y1) はシ ェーデ ィ ン グの始点
と 終点の座標。 放射シ ェ ーデ ィ ン グの場合、 こ れ ら の点は開始円 と 終了円の中心を指定 し
ます。
c1 ・ c2 ・ c3 ・ c4 シ ェーデ ィ ン グの終点のカ ラ ー値であ り 。PDF_setcolor( ) の色引数 と オプ
シ ョ ン fillcolor ・ strokecolor と 同様にカ レ ン ト 塗 り 色空間で解釈 さ れます。 カ レ ン ト 塗 り
色空間が ス ポ ッ ト カ ラ ーの と き は c1 は無視 さ れ、 c2 で色の濃 さ を指定 し ます。
optlist シ ェ ーデ ィ ン グの諸特性を表 8.4 に従っ て記述 し たオプシ ョ ン リ ス ト 。 次のオプ
シ ョ ンが使え ます :
antialias ・ boundingbox ・ domain ・ extend0 ・ extend1 ・ N ・ r0 ・ r1 ・ startcolor
戻り値 シ ェーデ ィ ン グハン ド ル。 以後の PDF_shading_pattern( ) ・ PDF_shfill( ) への呼び出 し で、
カ レ ン ト の文書ス コ ープ を終え る ま で使え ます。
詳細
カ レ ン ト 塗 り 色が開始色 と し て使われます。それはパ タ ーンに も と づいた色であ っ てはい
け ません。
スコープ オブ ジ ェ ク ト 以外任意
表 8.4 PDF_shading( ) のオプ シ ョ ン
オプ シ ョ ン
説明 ・ と り う る値
antialias
(論理値) シ ェ ーデ ィ ングにおいて ア ン チエ イ リ アシ ングを有効にするかど う かを指定 し ます。 デ
フ ォ ル ト : false
boundingbox
(長方形) シ ェ ーデ ィ ングの外接枠をユーザー座標で定義 し た長方形。 こ の外接枠は、 シ ェ ーデ ィ
ングが塗 られる際に一時的な ク リ ッ ピ ングパス と し て適用 さ れます (カ レ ン ト ク リ ッ ピ ングパス
が効力を持っ ている と きはそれに加え て)。 こ のオプ シ ョ ンは、 PDF_clip( ) を適用せずにシ ェ ー
デ ィ ング を切 り 抜 く のに有用で し ょ う 。
domain
(float 2 個の リ ス ト ) 媒介変数 t の限界値を指定 し た 2 個の数値。 こ の変数は、 色勾配が軸の始点
と 終点の間を変動するにつれて、 こ の 2 値の間を線形的に変動する と 考え られます。 デ フ ォル ト :
{0 1}
extend0
(論理値) シ ェ ーデ ィ ング を始点よ り 先へ拡げるかど う かを指定 し ます。 デ フ ォ ル ト : false
extend1
(論理値) シ ェ ーデ ィ ング を終点よ り 先へ拡げるかど う かを指定 し ます。 デ フ ォ ル ト : false
N
(float) 色遷移関数に対する累乗指数。 > 0 にする必要があ り ます。 デ フ ォ ル ト : 1
r0
(float。 放射シ ェ ーデ ィ ングのみ。 その場合は必須) 開始円の半径
r1
(float。 放射シ ェ ーデ ィ ングのみ。 その場合は必須) 終了円の半径
8.3 パ タ ーン と シ ェ ーデ ィ ング
175
表 8.4 PDF_shading( ) のオプ シ ョ ン
オプ シ ョ ン
説明 ・ と り う る値
startcolor
(色) 開始点の色。 このオプ シ ョ ンは、 この関数を カ レ ン ト カ ラ ーから 独立にするのに有用で し ょ
う 。 デ フ ォル ト : カ レ ン ト 塗 り 色
176
第 8 章 : 色関数
9 画像 ・ SVG ・ テ ン プ レー ト 関数
9.1 画像
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルが ク ッ ク ブ ッ クの images/starter_image ト ピ ッ ク にあ り ます。
C++ Java C# int load_image(String imagetype, String filename, String optlist)
Perl PHP int load_image(string imagetype, string filename, string optlist)
C int PDF_load_image(PDF *p,
const char *imagetype, const char *filename, int len, const char *optlist)
デ ィ ス ク ベース か仮想の画像フ ァ イ ルを、 さ ま ざ ま なオプシ ョ ンに従っ て開 き ます。
imagetype 文字列 auto にす る と 、 PDFlib に画像フ ァ イ ル形式を自動検出す る よ う 指示
し ます (CCITT ・ raw 画像では不可能です)。 画像形式を明示的に文字列 bmp ・ ccitt ・ gif ・
jbig2 ・ jpeg ・ jpeg2000 (PDF 1.5 以上) ・ png ・ raw ・ tiff のいずれかで指定する と 、 若干速
度が向上 し ます。 すべての画像形式の詳細は PDFlib チ ュ ー ト リ アルで説明 し てい ます。
filename (名前文字列。グ ロ ーバル filenamehandling オプシ ョ ンに従っ て解釈 さ れます、
表 2.3 参照) 一般に、 開 き たい画像フ ァ イ ルの名前。 こ れは、 ロ ーカル フ ァ イ ルか仮想
フ ァ イ ルの名前にす る 必要があ り ます。 PDFlib は、 URL か ら は画像デー タ を取 り 寄せま
せん。
指定 し た フ ァ イ ル名の フ ァ イ ルが見つか ら ず、 かつ imagetype=auto に し てい る と き
は、 PDFlib は自動的に適切な フ ァ イ ル名拡張子を決定 し よ う と し ます。 PDFlib は、 与え ら
れた filename に以下の一覧の拡張子をすべてつけ てみて (小文字 と 大文字の両方で) 、
searchpath で指定 し てい る デ ィ レ ク ト リ の中にその名前の フ ァ イ ルを見つけ よ う と し ま
す:
.bmp・.ccitt・.g3・.g4・.fax・.gif・.jbig2・.jb2・.jpg・.jpeg・.jpx・.jp2・.jpf・.j2k・
.png・.raw・.tif・.tiff
len (C 言語バ イ ンデ ィ ン グのみ) filename の長 さ (バ イ ト 単位)。 len=0 にする と null 終
了文字列を与え る 必要があ り ます。
optlist 画像関連の特性を表 9.1 に従っ て指定 し たオプシ ョ ン リ ス ト 。 以下のオプシ ョ ン
が使え ます :
> 一般オプシ ョ ン群 : errorpolicy (表 2.1 参照) ・ hypertextencoding (表 2.3 参照)
> 色関連オプシ ョ ン群 : colorize ・ honoriccprofile ・ iccprofile ・ invert ・ renderingintent
> ク リ ッ ピ ン グ ・ マ ス ク ・ 等価オプシ ョ ン群 :
alphachannelname ・ clippingpathname ・ downsamplemask ・ honorclippingpath ・
ignoremask ・ mask ・ masked
> 画像を使 う ための特殊な PDF 機能群 : createtemplate ・ interpolate
> 以下の共通 XObject オプシ ョ ン を使え ます (表 9.11 参照) :
associatedfiles・georeference・iconname・layer・metadata・OPI-1.3・OPI-2.0・pdfvt・reference
> PDF 出力を書かずに画像を分析す る ためのオプシ ョ ン : infomode
9.1 画像
177
> 画像デー タ を処理す る ためのオプシ ョ ン :
cascadedflate ・ ignoreorientation ・ page ・ passthrough
> 表 9.2 に従っ た、 CCITT ・ JBIG2 ・ raw 画像のためのオプシ ョ ン :
bitreverse ・ bpc ・ components ・ copyglobals ・ height ・ imagehandle ・ inline ・ K ・ width
戻り値 画像ハン ド ル (ま たは createtemplate=true の場合にはテ ンプ レー ト ハン ド ル)。 以後の画
像関連の呼び出 し で使え ます。 errorpolicy=return の場合、 戻 り 値 -1 (PHP では 0) はエ
ラ ーを示すので、 そ う でないか を呼び出 し 側で検査す る 必要があ り ます。 返 さ れた画像ハ
ン ド ルは、 複数の PDF 文書にわた っ て再利用す る こ と はで き ません。 関数の呼び出 し が
失敗 し た と き は、 その失敗の原因を PDF_get_errmsg( ) で取得する こ と がで き ます。
詳細
こ の関数は、 imagetype 引数で決定 さ れ る 、 対応形式のいずれかの ラ ス タ グ ラ フ ィ ッ ク
フ ァ イ ルを開いて分析 し 、 その画像デー タ を出力文書へコ ピー し ます。 こ の関数は、 出力
上にいかな る 視覚効果を も 与え ません。 取 り 込んだ画像を、 生成す る 出力文書の ど こ かに
実際に配置す る には、 PDF_fit_image( ) を使 う 必要があ り ます。 同 じ 画像を、 1 つの生成文
書内で複数回開 く こ と は推奨 し ません。 なぜな ら 、 画像デー タ 本体が出力文書へい く つ も
コ ピ ー さ れて し ま う か ら です。 ア プ リ ケーシ ョ ン が こ の状況 を 回避で き な い場合には、
PDF_begin_document( ) の optimize オプシ ョ ン を用いて冗長な画像デー タ を除去す る こ と
も で き ます。
PDFlib は、 与え ら れた filename の画像フ ァ イ ルを開き 、 内容を処理 し て、 呼び出 し か
ら 戻 る 前に フ ァ イ ルを閉 じ ます。 画像は 1 つの文書内に何回で も 貼 る こ と がで き ますが
(PDF_fit_image( ) を用いて) 、 画像フ ァ イ ル自体は、 こ の呼び出 し の後 も 開かれた ま ま に
な っ てい る のではあ り ません。
PDF/A い く つかのオプシ ョ ンは制約 さ れます。
グ レース ケール画像は、 出力 イ ン テ ン ト (任意の種類) か、 PDF_begin_page_ext( ) で
defaultgray オプシ ョ ン を必要 と し ます。
RGB 画像は、 RGB 出力 イ ン テ ン ト か、 PDF_begin_page_ext( ) で defaultrgb オプシ ョ ン
を必要 と し ます。
CMYK 画像は、 CMYK 出力 イ ン テ ン ト か、 PDF_begin_page_ext( ) で defaultcmyk オプ
シ ョ ン を必要 と し ます。
PDF/A-2/3 : JPEG 2000 画像は、 一定の条件を満たす必要があ り ます。 詳 し く は PDFlib
チ ュ ー ト リ アルを参照 し て く だ さ い。
PDF/X い く つかのオプシ ョ ンは制約 さ れます。
PDF/X-1a : RGB 画像は許 さ れません。
PDF/X-1a/3 : JBIG2 画像は許 さ れません。
PDF/X-3・4・5: グ レース ケール画像の場合は、出力 イ ン テ ン ト がグ レース ケールか CMYK
のデバ イ ス でない と き は、 PDF_begin_page_ext( ) で defaultgray オプシ ョ ン を設定 し てお
く 必要があ り ます。
RGB 画像の場合は、 出力 イ ン テ ン ト が RGB デバ イ ス でない と き は、 PDF_begin_page_
ext( ) で defaultrgb オプシ ョ ン を設定 し てお く 必要があ り ます。
CMYK 画像の場合は、 出力 イ ン テ ン ト が CMYK デバ イ ス でない と き は、 PDF_begin_
page_ext( ) で defaultcmyk オプシ ョ ン を設定 し てお く 必要があ り ます。 JBIG2 画像は許 さ
れません。
JPEG 2000 画像は、 一定の条件を満たす必要があ り ます。 詳 し く は PDFlib チ ュ ー ト リ
アルを参照 し て く だ さ い。
178
第 9 章 : 画像 ・ SVG ・ テ ン プ レー ト 関数
PDF/VT
こ の呼び出 し は、 PDF_begin_document( ) で usestransparency=false オプシ ョ ンが指定 さ れ
たに も かかわ ら ず、 取 り 込まれた画像が透過を含んでいた場合には、 失敗 し ます。
PDF/UA 画像は、 Figure か Artifact と し て タ グ付けする べき です。
スコープ オブ ジ ェ ク ト 以外任意。 照応す る PDF_close_image( ) と ペアに し て呼び出すべ き です。
表 9.1 PDF_load_image( ) のオプ シ ョ ン
キー
説明
alphachannel- (名前文字列。 TIFF 画像では不可。 ignoremask=true にする と 無視 さ れます) 指定 し た名前のアル
name
フ ァ チ ャ ン ネルを画像 フ ァ イルか ら読み取 り 、 それを ソ フ ト マス ク と し て画像に適用 し ます。 そ
の名前のチ ャ ンネルが画像フ ァ イル内に存在 し ている必要があ り ます。 デ フ ォル ト : 画像内の最
初のアル フ ァ チ ャ ン ネル
cascadedflate
(論理値。 imagetype=jpeg のみ) true にする と 、 JPEG 圧縮 さ れた画像デー タ に、 Flate 圧縮の追
加のレ イ ヤーが適用 さ れます。 こ れは、 同色の広い領域を持つ画像等、 特定の場合には、 出力
フ ァ イルサイ ズを減ら す可能性があ り ます。 ただ し 、 多 く の タ イ プの画像内容について、 このオ
プ シ ョ ンはフ ァ イルサイ ズを減ら さ ず、 む し ろ出力が大き く な る可能性も あ り ます。 デ フ ォル ト :
false
clippingpathname
(文字列。 imagetype=tiff ・ jpeg のみ。 honorclippingpath=false にする と 無視 さ れます) 指定 し
た名前のパス を画像フ ァ イルから 読み込んで、 それを ク リ ッ ピ ングパス と し て使います。 その名
前のパスが画像 フ ァ イル内に存在 し ている必要があ り ます。 特別な名前 Work Path を使 う と 、
Photoshop で作成 さ れた一時パス を指定する こ と がで き ます。 デ フ ォ ル ト : 画像フ ァ イル内で ク
リ ッ ピ ングパス と し て与え ら れているパスの名前
colorize
(カ ラ ーま たはスポ ッ ト カ ラ ーハン ド ル。 iccprofile オプ シ ョ ン を与え る と 無視 さ れます) スポ ッ
ト カ ラ ーで画像に着色 し ます。 画像は、 白黒かグ レースケールの画像で なければな り ません。
createtemplate
(論理値) true の場合、 プ レーン な画像 XObject ではな く フ ォ ーム XObject (PDFlib ではテ ン プ
レー ト と 呼びます) の中に埋め込まれた PDF 画像 XObject を生成 し ます。 こ れは、 画像のみから
成る フ ォ ーム フ ィ ール ド ア イ コ ンのためのテ ン プ レー ト を作成する ために有用な場合があ り ます。
生成 さ れた テ ン プ レー ト に対するハン ド ルが返 さ れます。 デ フ ォル ト : false
downsamplemask
(論理値。 type=TIFF ・ PNG のみ) true の場合、 16 ビ ッ ト アルフ ァ チ ャ ン ネルを 8 ビ ッ ト へダウン
サン プル し ます。 このオプ シ ョ ン を true に設定する こ と は、 Acrobat 9 で 16 ビ ッ ト マ ス ク が正 し
く 表示 さ れないのを直すために使 う こ と がで き ます。 デ フ ォ ル ト : false
honorclippingpath
(論理値。 imagetype=tiff ・ jpeg のみ) 画像フ ァ イルから、 も し あればク リ ッ ピ ングパス を読み込
んで、 それを画像に適用 し ます。 デ フ ォ ル ト : true
honoriccprofile
(論理値。 imagetype=jpeg ・ png ・ tiff のみ。 colorize オプ シ ョ ンが指定 さ れている と きは強制的
に false にな り ます) 画像に よ っ て ICC プ ロ フ ァ イルが要求 さ れた場合には、 それが埋め込みに
よ っ て直接であれ、 あ るいは間接的に (例 : Exif マー カ内の参照を通 じ て) であれ、 それに従い、
そ し てそれを その画像に適用 し ます。 デ フ ォル ト : true
iccprofile
(ICC ハン ド ルかキーワー ド ) 画像に適用 さ れる ICC プ ロ フ ァ イルのハン ド ル。 キーワー ド srgb は
sRGB 色空間を選択 し ます。 デ フ ォル ト : プ ロ フ ァ イルが画像内に存在 し 、 かつ
honoriccprofile=true に し ている と きは、 その埋め込まれた プ ロ フ ァ イル (またはその画像フ ァ
イル内の等価な Exif 情報)。
ignoremask
(論理値。 PDF/X-1/3 ・ PDF/A-1 では、 アルフ ァ チ ャ ン ネルを持つ画像では true に設定する必要
があ り ます) 画像内の透過情報 と アルフ ァ チ ャ ン ネルを無視 し ます。 デ フ ォ ル ト : false
ignoreorientation
(論理値。 imagetype=tiff・jpeg のみ) 画像内の向き情報をすべて無視 し ます。 こ れは、 画像デー
タ 内の誤 っ た向き情報を補正 し たい と き に有用です。 デ フ ォ ル ト : false
9.1 画像
179
表 9.1 PDF_load_image( ) のオプ シ ョ ン
キー
説明
infomode
(論理値) true の場合、 画像は読み込まれますが、 そのピ ク セルデー タ は一切出力へ書き出 さ れま
せん。 画像特性群を PDF_info_image( ) を用いて ク エ リ する こ と はで き ますが、 画像を PDF_fit_
image( ) やその他の関数を用いてページ上に配置する こ と はで き ません。 こ のオプ シ ョ ンは、 画像
を、 PDF 出力に副作用を一切及ぼ さ ずにチ ェ ッ ク する ために有用で し ょ う 。 false の場合、 そのピ
ク セルデー タ は PDF 出力へただ ちに書き だ さ れます。 デ フ ォ ル ト : false
interpolate
(論理値。 PDF/A では false にする必要があ り ます) 画像の内挿を有効に し て、 画面や紙の上での
見ばえ を向上 さ せます。 こ れは、 Type 3 フ ォ ン ト 内のグ リ フ記述のためのビ ッ ト マ ッ プ画像の場
合に有用です。 デ フ ォ ル ト : false
invert
(論理値。 imagetype=jpeg2000 では mask=true に し ていなければ不可) 画像を反転 さ せます (明る
い色 と 暗い色を入れ換え)。 こ れを使 う と 、 ア プ リ ケーシ ョ ンに よ っ て異な っ て解釈 さ れる画像
を、 適切に扱 う こ と がで き ます。 デ フ ォ ル ト : false
mask
(論理値。 イ ンデ ッ ク ス カ ラ ーを含め、 色要素が 1 個の画像のみ) 画像はマス ク と し て使われま
す。 こ れは 1 ビ ッ ト のマス ク では必須ですが、 ピ ク セルあた り のビ ッ ト 数が 1 よ り 大き いマス ク
では必須ではあ り ません。 デ フ ォ ル ト : false。 マス ク には 2 通 り の使い方があ り ます :
> 他の画像を マス ク : 返 さ れた画像ハン ド ルは、 以後の呼び出 し で他の画像を開 く と き に使 う こ と
がで き、 masked オプ シ ョ ンに与え る こ と がで き ます。
> 着色 さ れた透過画像を配置 : 画像内の、 0 のビ ッ ト のピ ク セルを透過 と し て扱い、 1 のビ ッ ト のピ
ク セルを カ レ ン ト 塗 り 色で着色 し ます。
こ のオプ シ ョ ンは ignoremask=true を強制 し ます。 なぜな ら、 マス ク と し て用い ら れる画像は、
それ自身が内部マス ク を持つ こ と はで き ないか ら です。
masked
(画像ハン ド ル。 画像がアルフ ァ チ ャ ン ネルを含んでお り 、 かつ ignoremask=false の場合には無
視 さ れます) カ レ ン ト 画像に対 し て マス ク と し て適用 し たい画像の画像ハン ド ル。 こ の画像ハン
ド ルは、 あ ら か じ め PDF_load_image( ) を呼び出 し て返 さ れ、 ま だ閉 じ ていない ものです。 PDF 1.3
互換モー ド では、 マス クハン ド ルは 1 ビ ッ ト 画像を参照 し ている必要があ り 、 かつ、 mask オプ
シ ョ ン を指定 し て読み込んであ る必要があ り ます。 PDF/A-1 ・ PDF/X-1/3 では、 こ のオプ シ ョ ン
は 1 ビ ッ ト マス クの場合のみ許 さ れます。
page
(整数。 imagetype=gif ・ jbig2 ・ tiff のみ。 それ以外の形式で使 う と きは 1 にする必要があ り ま
す) 複数ページ画像 フ ァ イルから 、 指定番号の画像を取 り 出 し ます。 最初の画像の番号は 1 です。
要求 し たページが画像フ ァ イル内に見つから ない と きは、 その呼び出 し は失敗 し ます。 デ フ ォ ル
ト :1
passthrough
(論理値。 imagetype=tiff ・ jpeg のみ) TIFF ・ JPEG 画像デー タ の処理を制御 し ます。
TIFF 画像 (デ フ ォル ト : true) : true にする と 、 圧縮 さ れた TIFF 画像デー タ は、 可能な ら ば PDF
出力へ直接パス スルー さ れます。 こ のオプ シ ョ ン を false に設定する と 、 TIFF 画像が損傷 し た
デー タ や不完全なデー タ を含む と き に役立つ場合があ り ます。
JPEG 画像 (デ フ ォ ル ト : false) : false にする と 、 PDFlib は、 Acrobat と の互換性のために JPEG
画像デー タ を変換 し ます。 true にする と 、 JPEG 画像デー タ は PDF 出力へ直接 コ ピー さ れます。
マルチスキ ャ ンおよびある種の CMYK JPEG 画像では、 こ のオプ シ ョ ンは無視 さ れます。 こ のオプ
シ ョ ン を true に設定する と 、 処理は若干速 く な る こ と があ り ますが、 ある種のまれな種類の
JPEG 画像が Acrobat 上で正 し く 表示 さ れな く な り ます。
180
第 9 章 : 画像 ・ SVG ・ テ ン プ レー ト 関数
表 9.1 PDF_load_image( ) のオプ シ ョ ン
キー
renderingintent
説明
(キーワー ド ) 画像に対する レ ン ダ リ ング イ ン テ ン ト (デ フ ォル ト : Auto) :
PDF フ ァ イル内のレ ン ダ リ ング イ ン テ ン ト を指定せず、 デバイ スのデ フ ォ ル ト イ ン テ ン
ト を使用 し ます。 典型的用途 : 未知の場合
AbsoluteColorimetric
デバイ スの白色点 (紙色な ど) の補正が行われません。 色域外の色は、 デバイ スの色域
内の最も 近い値へマ ッ プ さ れます。 典型的用途 : 特色の正確な再現。 他の用途には推奨
し ません。
RelativeColorimetric
色デー タ がデバイ スの色域内へスケール さ れます。 この際、 白色点を互いにマ ッ プ し
て、 色をわずかに偏移 さ せます。 典型的用途 : ベ ク ト ルグ ラ フ ィ ッ ク
Saturation
色の彩度が温存 さ れます。 こ の際、 カ ラ ー値は偏移 さ れる可能性があ り ます。 典型的用
途 : ビ ジネスグ ラ フ ィ ッ ク
Auto
Perceptual 美 し い見た目を提供する ために色域内外両方の色を変更する こ と に よ っ て色の関係が温
存 さ れます。 典型的用途 : スキ ャ ン画像
template
非推奨。 createtemplate を使用 し て く だ さ い
表 9.2 PDF_load_image( ) で imagetype=ccitt か jbig2 か raw の場合のオプ シ ョ ン
キー
説明
bitreverse
(論理値。 imagetype=ccitt のみ) true にする と 、 圧縮デー タ 内のすべてのバイ ト のビ ッ ト 反転を
し ます。 デ フ ォ ル ト : false
bpc
(整数。 imagetype=raw のみ。 その場合は必須) 色要素あた り のビ ッ ト 数。 1 ・ 2 ・ 4 ・ 8 ・ 16 のいず
れかにする必要があ り ます (PDF 1.4 では値 16 は許容 さ れません)
components
(整数。 imagetype=raw のみ。 その場合は必須) 画像要素 (チ ャ ン ネル) の数。 1 ・ 3 ・ 4 のいずれ
かにする必要があ り ます。
copyglobals
(キーワー ド 。 imagetype=jbig2 のみ) JBIG2 ス ト リ ーム内のどのグローバルセグ メ ン ト が PDF へ
複製 さ れるかを指定 し ます。 JBIG2 ス ト リ ーム内にグローバルセグ メ ン ト が全然ない と きは、 こ の
オプ シ ョ ンは全 く 効力を持ち ません (デ フ ォル ト : current) :
height
all
JBIG2 ス ト リ ーム内のすべてのページに対するグローバルセグ メ ン ト を PDF へ複製 し
ます。 こ れは、 同 じ JBIG2 ス ト リ ームから 複数のページが取 り 込まれる場合には、 用い
る必要があ り ます。 同 じ JBIG2 ス ト リ ームから さ ら な るページ群が後で取 り 込まれる場
合には、 imagehandle オプ シ ョ ン を用いる必要があ り ます。
current
JBIG2 ス ト リ ーム内のカ レ ン ト ページ (すなわち、 page オプ シ ョ ン で指定 し たページ)
に対 し て必要なグローバルセグ メ ン ト のみを PDF へ複製 し ます。 これは、 同 じ JBIG ス
ト リ ーム内から さ ら な るページが取 り 込まれない場合には、 用いる必要があ り ます。
(整数。 imagetype=raw ・ ccitt のみ。 その場合は必須) 画像の高 さ を、 ピ ク セル単位で指定 し ま
す。
imagehandle (画像ハン ド ル。 imagetype=jbig2 のみ) 同 じ JBIG2 ス ト リ ームから作成 さ れた別の画像に付け ら
れた既存のグ ローバルセグ メ ン ト への参照を追加 し ます。 こ の画像は、 以前に copyglobals=all
オプ シ ョ ン で読み込まれている必要があ り ます。 カ レ ン ト JBIG2 ス ト リ ーム以外のフ ァ イルか ら
作成 さ れている画像を参照する こ と はエ ラ ーです。 指定 し た画像ハン ド ルは、 閉 じ られていては
いけません。 デ フ ォル ト : 画像ハン ド ルな し 、 すなわち、 新規 PDF オブ ジ ェ ク ト が、 カ レ ン ト
ページのみに対するすべての必要なグローバルセグ メ ン ト を持っ て生成 さ れます
9.1 画像
181
表 9.2 PDF_load_image( ) で imagetype=ccitt か jbig2 か raw の場合のオプ シ ョ ン
キー
説明
inline
(論理値。 imagetype=ccitt ・ jpeg ・ raw のみ。 オプ シ ョ ン iccprofile か colorize のいずれか 1 つ
が与え られている場合には不可) true にする と 、 画像は直接、 ページ ・ パ タ ーン ・ テ ン プ レー
ト ・ グ リ フのいずれかの記述の内容ス ト リ ーム内へ書き込まれます。 このオプ シ ョ ンは暗黙的に、
PDF_fit_image( ) と PDF_close _image( ) を呼び出 し ます (PDFlib チ ュ ー ト リ アル参照)。 こ のオプ
シ ョ ン を用いる こ と は、 Type 3 フ ォ ン ト のビ ッ ト マ ッ プグ リ フ に対 し て推奨 さ れますが、 それ以
外の場面では用いるべき ではあ り ません。 このオプ シ ョ ン を与えた場合には PDF_close_image( ) を
呼び出 し てはいけません。 デ フ ォ ル ト : false
K
(整数。 imagetype=ccitt のみ) 圧縮方式選択のための CCITT のパラ メ ー タ 。 デ フ ォ ル ト : 0
width
-1
G4 圧縮
0
一次元 G3 圧縮 (G3-1D)
1
一 ・ 二次元混合圧縮 (G3, 2-D)
(整数。 imagetype=raw ・ ccitt のみ。 その場合は必須) 画像の幅を、 ピ ク セル単位で指定 し ます
C++ Java C# void close_image(int image)
Perl PHP close_image(int image)
C void PDF_close_image(PDF *p, int image)
画像かテ ンプ レー ト を閉 じ ます。
image PDF_load_image( ) か PDF_begin_template_ext( ) で取得 し た有効な画像かテ ンプ
レー ト ハン ド ル。
詳細
こ の関数は、 PDFlib 内部の関連す る 画像構造に対 し てのみ効力を持ち ます。 画像を フ ァ イ
ルか ら 開いていた と し て も 、 画像フ ァ イ ル本体は、 その PDF_load_image( ) への呼び出 し
が完了 し た時点ですでに閉 じ ら れてい る ため、 こ の呼び出 し には影響 さ れません。 画像ハ
ン ド ルは、 こ の関数で閉 じ た後は も う 使え ません。
スコープ オブ ジ ェ ク ト 以外任意。 照応す る PDF_load_image( ) (inline オプシ ョ ンが用い ら れてい る
場合を除き ) か PDF_begin_template_ext( ) と 必ずペアに し て呼び出す必要があ り ます。
C++ Java C# void fit_image(int image, double x, double y, String optlist)
Perl PHP fit_image(int image, float x, float y, string optlist)
C void PDF_fit_image(PDF *p, int image, double x, double y, const char *optlist)
画像ま たはテ ンプ レー ト をページ上に、 さ ま ざ ま なオプシ ョ ンに従っ て配置 し ます。
image PDF_load_image( ) ま たは PDF_begin_template_ext( ) で取得 し た有効な画像ま たは
テ ンプ レー ト ハン ド ル。 こ の画像は、 infomode=true を用いて読み込まれていてはいけ ま
せん。
x ・ y 画像ま たはテ ンプ レー ト を、さ ま ざ ま なオプシ ョ ンに従っ て貼 り たい参照点の座標
を、 ユーザー座標系で指定 し ます。
optlist 画像はめ込み ・ 処理オプシ ョ ン群を指定 し たプシ ョ ン リ ス ト 。 以下のオプシ ョ ン
が使え ます :
182
第 9 章 : 画像 ・ SVG ・ テ ン プ レー ト 関数
> 表 6.1 に従っ たはめ込みオプシ ョ ン群 :
boxsize・blind・dpi・fitmethod・matchbox・orientate・position・rotate・scale・showborder
> 表 9.3 に従っ た、 画像処理のためのオプシ ョ ン群 :
adjustpage ・ gstate ・ ignoreclippingpath ・ ignoreorientation
> 表 14.5 に従っ た、 短縮構造エ レ メ ン ト タ グ付けのためのオプシ ョ ン (ページ ス コ ープ
でのみ可) : tag
詳細 画像ま たはテ ンプ レー ト (以下、 ま と めてオブジ ェ ク ト と いい ます) は、 参照点 (x, y) に
合わせて配置 さ れ ま す。 デフ ォ ル ト では、 オブジ ェ ク ト の左下隅が参照点に配置 さ れ ま
す。 し か し こ の動作は、 orientate ・ boxsize ・ position ・ fitmethod オプシ ョ ン で変え る こ と
も で き ま す。 デ フ ォ ル ト では、 画像はその解像度の値に従っ て拡縮 さ れ ま す。 こ の動作
は、 dpi ・ scale ・ fitmethod オプシ ョ ンで変え る こ と も で き ます。
PDF/UA すべての ラ ス タ 画像は、 tag オプシ ョ ン を用いて、 あ る いは事前の PDF_begin_item( ) への
呼び出 し を用いて、 Artifact か Figure と し て タ グ付け さ れ る 必要があ り ます。
スコープ ページ ・ パ タ ーン (パ タ ーンの painttype が colored であ る か、 ま たは画像がマ ス ク であ
る 場合のみ) ・ テ ン プ レー ト ・ グ リ フ (Type 3 フ ォ ン ト の colorized オプシ ョ ンが true であ
る か、 ま たは画像がマ ス ク の場合のみ)。 こ の関数は、 画像ハン ド ルを PDF_close_image( )
で閉 じ ない限 り 、 任意のページ上で任意の回数呼び出す こ と がで き ます。 .
表 9.3 PDF_fit_image( ) ・ PDF_fit_graphics( ) ・ PDF_fit_pdi_page( ) ・ PDF_fill_imageblock( ) ・ PDF_fill_graphicsblock( ) ・ PDF_
fill_pdfblock( ) を用いた画像 ・ グ ラ フ ィ ッ ク ・ PDF ページ ・ テ ン プ レー ト 処理のためのオプ シ ョ ン
オプ シ ョ ン
説明
adjustpage
(論理値。 ページス コ ープ でのみ効力を持ち ます。 PDF_begin_page_ext( ) で topdown オプ シ ョ ン を与
えている と きは不可。 PDF_fill_*block( ) では不可) カ レ ン ト ページの寸法を、 オブ ジ ェ ク ト に合わ
せて調整 し 、 ページの右上隅がオブ ジ ェ ク ト の右上隅プ ラ ス (x, y) と 一致する よ う に し ます。 こ こ
で x ・ y は関数の引数です。 MediaBox が調整 さ れ、 それ以外の枠項目はすべてデ フ ォ ル ト に リ セ ッ
ト さ れます。 position オプ シ ョ ン を値 0 に し て、 以下のよ う な使い方がで き ます :
x ≧ 0 かつ y ≧ 0
オブ ジ ェ ク ト は余白で囲まれます。 こ の余白は、 横方向の厚 さ が y、 縦方向の厚 さ が x
にな り ます。
x < 0 かつ y < 0
画像から 横 と 縦の帯が切 り 取 られます。
デ フ ォル ト : false
gstate
(グ ラ フ ィ ッ ク ス テー タ スハン ド ル) PDF_create_gstate( ) で取得 し たグ ラ フ ィ ッ ク ス テー タ スのハ
ン ド ル。 こ のグ ラ フ ィ ッ ク ス テー タ スは、 こ の関数で作成 さ れるすべてのグ ラ フ ィ ッ ク 要素に対
し て効力を持ち ます。 デ フ ォ ル ト : グ ラ フ ィ ッ ク ス テー タ スな し (すなわち、 カ レ ン ト ス テー タ
スが用い られます)
ignoreclippingpath
(論理値。 TIFF ・ JPEG 画像のみ) 画像フ ァ イルの中に ク リ ッ ピ ングパスがあ っ て も無視 さ れます。
デ フ ォル ト : false、 すなわち ク リ ッ ピ ングパスは適用 さ れます
ignoreorientation
(論理値。 TIFF ・ JPEG 画像のみ) 画像内の向き情報をすべて無視 し ます。 こ れは、 誤 っ た向き情
報を補正 し たい と き に有用です。 デ フ ォ ル ト : PDF_load_image( ) の ignoreorientation オプ シ ョ ン
の値
9.1 画像
183
C++ Java C# double info_image(int image, String keyword, String optlist)
Perl PHP float info_image(int image, string keyword, string optlist)
C double PDF_info_image(PDF *p, int image, const char *keyword, const char *optlist)
画像かテ ンプ レー ト を組版す る 際の、 寸法な ど の特性群を取得 し ます。
image
関数 PDF_load_image( ) か PDF_begin_template_ext( ) で取得 し た有効な画像かテ
ンプ レー ト ハン ド ル。
keyword 求め る 情報を指定 し た キー ワー ド :
> 表 6.3 に従っ た、 オブジ ェ ク ト はめ込みの結果を ク エ リ す る ためのキーワ ー ド :
boundingbox ・ fitscalex ・ fitscaley ・ height ・ objectheight ・ objectwidth ・ width ・ x1 ・ y1 ・
x2 ・ y2 ・ x3 ・ y3 ・ x4 ・ y4
> 表 9.4 に従っ た さ ら な る キーワ ー ド :
clippingpath・checkcolorspace・filename・iccprofile・imageheight・imagemask・imagetype・
imagewidth・infomode・mirroringx・mirroringy・orientation・resx・resy・strips・transparent・
xid
optlist 以下のオプ シ ョ ン を使え ます :
> PDF_fit_image( ) に対す る オプシ ョ ン群。 求め ら れた キー ワー ド の値を決定す る のに関
係のないオプシ ョ ンは無視 さ れます。
> 基礎を なす画像 と テ ンプ レー ト の間を切 り 替え る ためのオプシ ョ ン :
useembeddedimage
戻り値 キーワ ー ド で要求 し た何 ら かの画像特性の値。要求 し た特性が画像フ ァ イ ル内で得 ら れな
い と き は、こ の関数は 0 を返 し ます。オブジ ェ ク ト ハン ド ルを要求 し た と き は(clippingpath
等) 、 こ の関数はそのオブジ ェ ク ト のハン ド ルを返すか、 あ る いはそのオブジ ェ ク ト が得
ら れない と き は -1 (PHP では 0) を返 し ます。 要求 さ れた キーワー ド がテ キ ス ト を生み出
す場合には、 文字列番号が返 さ れ、 照応す る 文字列を、 PDF_get_string( ) を用いて取得す
る 必要があ り ます。
詳細
こ の関数は、与えたオプシ ョ ン群に従っ て画像を配置す る ために必要なすべての計算を実
行 し ますが、 ページ上には実際の出力を一切生成 し ません。 画像の参照点は {0 0} と 見な
さ れます。
スコープ オブ ジ ェ ク ト 以外任意
表 9.4 PDF_info_image( ) のキーワー ド
キーワー ド
説明
clippingpath
画像のク リ ッ ピ ン グパスのパスハン ド ルか、 あるいはク リ ッ ピ ン グパスが存在 し ない と き
は -1 (PHP では 0)
checkcolorspace
その画像かテ ン プ レ ー ト が、 カ レ ン ト ページ上に、 PDF/A か PDF/X の色関係の違反の リ ス
ク を冒 さ ずに安全に配置で き る な ら 1、 そ う でないな ら 0。 こ のチ ェ ッ クは、 そのページの
デ フ ォ ル ト 色空間を考慮に入れます。 こ のデ フ ォル ト 色空間は、 その画像を読み込む際に
はチ ェ ッ ク さ れません。
filename
画像 フ ァ イル (あてはま る場合は searchpath デ ィ レ ク ト リ を含む) の名前に対する文字列
番号、 あるいはテ ン プ レー ト の場合には -1
iccprofile
画像内に埋め込まれている ICC プ ロ フ ァ イルのハン ド ルか、 あるいはプ ロ フ ァ イルが全然
存在 し ない と きは -1 (PHP では 0)
184
第 9 章 : 画像 ・ SVG ・ テ ン プ レー ト 関数
表 9.4 PDF_info_image( ) のキーワー ド
キーワー ド
説明
imageheight
画像 : 高 さ を ピ ク セル単位で表 し た もの
テ ン プ レー ト : ユーザーが与えた高 さ 、 あるいは reference オプ シ ョ ンの場合には自動的
に決定 さ れた高 さ
imagemask
画像に関連付け られたマス クの画像ハン ド ルか、 あ るいはマス クが付け ら れていないな ら
-1 (PHP では 0)
imagetype
画像の種別 (形式) に対する文字列番号 :
ラ ス タ 画像の場合には bmp ・ ccitt ・ gif ・ jbig2 ・ jpeg ・ jpeg2000 ・ png ・ raw ・ tiff。 与え
られたハン ド ルに関連付け られたオブ ジ ェ ク ト が PDF_begin_template_ext( ) を用いて作成 さ
れている場合には、 文字列 template が返 さ れます。
imagewidth
画像 : 幅を ピ ク セル単位で表 し た もの
テ ン プ レー ト : ユーザーが与えた幅、 あ るいは reference オプ シ ョ ンの場合には自動的に
決定 さ れた幅
infomode
その画像が infomode オプ シ ョ ン を用いて読み込まれている場合には 1、 そ う でないな ら 0
mirroringx ・
mirroringy
指定 し たオプ シ ョ ン群に従 っ た画像の横反転 ・ 縦反転 (1 か -1 かで表 さ れます)
orientation
画像の向きの値。 orientation タ グ を含む TIFF 画像については この タ グの値が返 さ れ、 それ
以外の場合にはすべて -1 が返 さ れます。 PDFlib は、 1 以外の向きの値を自動的に補償 し ま
す。
resx ・ resy
画像の横解像度 ・ 縦解像度。 正の値は、 画像の解像度を イ ン チあた り ピ ク セル数 (dpi) で
表 し ます。 値 0 は、 解像度が未知である こ と を意味 し ます。 負の値は、 非正方ピ ク セルの
縦横比を決定する ために縦横相伴 っ て用い られる こ と があ り ますが、 絶対的な意味は一切
持ち ません。
strips
画像ページの数 (あ る種の複数ページ TIFF 画像の場合のみ 1 以外にな る こ と があ り ます)
transparent
画像が透過 (> 1 ビ ッ ト のアルフ ァ チ ャ ン ネル) を含んでいる な ら 1、 そ う でないな ら 0。
アルフ ァ チ ャ ン ネルが元画像フ ァ イルか ら読み込まれた場合、 ま たは画像が mask オプ シ ョ
ン を用いて読み込まれている場合には、 透過が存在する と 見な さ れます。
xid
(PDF/VT のみ) 画像かテ ン プ レー ト の GTS_XID エ ン ト リ に対する文字列番号、 あ るいは
GTS_XID 値が割 り 当て ら れていない場合には -1。こ の文字列は、DPI のための CIP4/Summary/
Content/Referenced メ タ デー タ プ ロパテ ィ で使用で き ます。
表 9.5 PDF_info_image( ) のオプ シ ョ ン
キー
説明
useembedded- (論理値。 createtemplate=false の場合は無視 さ れます) true の場合、 テ ン プ レー ト 内に埋め込
image
まれている画像の情報がク エ リ さ れ、 そ う で ないな ら テ ン プ レ ー ト の情報がク エ リ さ れます。
useembeddedimage=true の場合には、 い く つかのキーワー ド (dpi な ど) は、 元画像に対 し てのみ
意味を持ち、 生成 さ れた テ ン プ レー ト では意味を持ち ません。 と り わけ、 こ れら の値を、 その画
像のために作成 さ れたテ ン プ レー ト をはめ込むために使用するべき ではあ り ません。 デ フ ォル ト :
false
9.1 画像
185
9.2 SVG グ ラ フ ィ ッ ク
ク ッ ク ブ ッ ク フ ル コ ー ド サン プルが、 ク ッ ク ブ ッ ク ト ピ ッ ク graphics/starter_svg にあ り ます。
C++ Java C# int load_graphics(String type, String filename, String optlist)
Perl PHP int load_graphics(string type, string filename, string optlist)
C int PDF_load_graphics(PDF *p, const char *type, const char *filename, int len, const char *optlist)
さ ま ざ ま なオプシ ョ ンに従っ て、デ ィ ス ク ベース か仮想ベ ク ト ルグ ラ フ ィ ッ ク フ ァ イ ルを
開 き ます。
type ベ ク ト ルグ ラ フ ィ ッ ク フ ァ イ ルの種別。 キーワー ド auto は、 自動的に フ ァ イ ル種
別を決定 し ます。 こ れは、 SVG グ ラ フ ィ ッ ク を指定する svg と 等価です。
filename (名前文字列。グ ロ ーバル filenamehandling オプシ ョ ンに従っ て解釈 さ れます。
表 2.3 参照) 開 き たいグ ラ フ ィ ッ ク フ ァ イ ルの名前。 こ れは、 デ ィ ス ク ベース か仮想フ ァ
イ ルの名前であ る 必要があ り ます。 PDFlib は、 URL か ら グ ラ フ ィ ッ ク を引っ張っ て き ま
せん。
指定 さ れた フ ァ イ ル名を持つフ ァ イ ルが見つか ら ない と き は、 PDFlib は、 適切な フ ァ
イ ル名接尾辞を自動的に決定 し よ う と 試みます。 こ れは、 以下の リ ス ト か ら すべての接頭
辞を (小文字 と 大文字の両方で)、 指定 さ れた filename に付加 し て、 その名前を持つフ ァ
イ ルを、 検索パ ス で指定 さ れたデ ィ レ ク ト リ 群の中で見つけ よ う と 試みます :
.svg・.svgz
len (C 言語バ イ ンデ ィ ン グのみ) filename の長 さ (バ イ ト 単位で)。 len = 0 の場合は、
ヌ ル終端文字列を与え る 必要があ り ます。
optlist グ ラ フ ィ ッ ク 関連特性群を指定 し たオプシ ョ ン リ ス ト 。 以下のオプシ ョ ン を使え
ます :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照) ・ hypertextencoding (表 2.3 参照)
> 表 9.6 に従っ た フ ォ ン ト 関連オプシ ョ ン :
defaultfontfamily ・ defaultfontoptions ・ fallbackfontfamily ・ fallbackfontoptions
> 表 9.6 に従っ たサ イ ズオプシ ョ ン :
fallbackheight ・ fallbackwidth ・ forcedheight ・ forcedwidth
> 表 9.6 に従っ た画像関連オプシ ョ ン : defaultimageoptions ・ fallbackimage
> 表 9.6 に従っ たその他の SVG 処理オプシ ョ ン : errorconditions ・ lang
> 表 9.6 に従っ た特殊 PDF 機能 : devicergb ・ templateoptions
戻り値 以後のグ ラ フ ィ ッ ク 関連呼び出 し で使用で き る グ ラ フ ィ ッ ク ハン ド ル。errorpolicy= return
の場合には、 戻 り 値 -1 (PHP では 0) がエ ラ ーを知 ら せますので、 呼び出 し 側は こ れを
チ ェ ッ ク する 必要があ り ます。 返 さ れた グ ラ フ ィ ッ ク ハン ド ルは、 複数の PDF 文書にわ
た っ て再利用す る こ と が可能です。 こ の関数呼び出 し が失敗 し た場合には、 その失敗の原
因を、 PDF_get_errmsg( ) を用いて要求す る こ と も で き ます。
詳細
186
こ の関数は、 type 引数に よ っ て決定 さ れた通 り の、 対応フ ォーマ ッ ト 群の う ちの 1 つのベ
ク ト ルグ ラ フ ィ ッ ク フ ァ イ ルを、 開いて分析 し ます。 そのグ ラ フ ィ ッ ク デー タ は、 こ のグ
ラ フ ィ ッ ク が PDF_close_graphics( ) を用いて閉 じ ら れ る か、 あ る いは PDFlib オブジ ェ ク ト
の継続期間の終了ま で格納 さ れます。 こ の関数は、 PDF 出力上に何の視覚的影響 も 与え ま
せん。 取 り 込まれた グ ラ フ ィ ッ ク を、 生成 さ れ る 文書内の ど こ かに実際に配置す る ために
第 9 章 : 画像 ・ SVG ・ テ ン プ レー ト 関数
は、 PDF_fit_graphics( ) を使 う 必要があ り ます。 同一生成文書上で同一グ ラ フ ィ ッ ク を複
数回開 く こ と は、そのグ ラ フ ィ ッ ク デー タ がその出力文書へ複数回複製 さ れ る こ と にな り
ますので、 推奨 し ません。
PDFlib は、 与え ら れた filename を持つグ ラ フ ィ ッ ク フ ァ イ ルを開き 、 その内容を処理
し て、 こ の呼び出 し か ら 返 る 前にその フ ァ イ ルを閉 じ ます。
フ ォ ン ト 埋め込み ( と り わけ PDF/A ・ PDF/X ・ PDF/UA の場合に意味を持ち ます) : そ
のグ ラ フ ィ ッ ク の中で使われてい る すべての フ ォ ン ト (ま たは然 る べ き デフ ォ ル ト フ ォ ン
ト 群) に対す る フ ォ ン ト ア ウ ト ラ イ ン フ ァ イ ル を 構成す る 必要が あ り ま す。 こ れは、
enumeratefonts オプシ ョ ン を用いて実現で き ます (25 ページ 「2.3 グ ロ ーバルオプシ ョ ン」
参照)。
PDF/A すべての必要な フ ォ ン ト を埋め込む必要があ り ます(上述)。devicergb オプシ ョ ンは、PDF_
begin_page_ext( ) で defaultrgb オプシ ョ ンが設定 さ れてい る か、 ま たは出力 イ ン テ ン ト が
RGB デバ イ ス であ る 場合にのみ許容 さ れます。
PDF/A-1 : 透過を持つグ ラ フ ィ ッ ク は許容 さ れません。
PDF/A-2a/3a : グ ラ フ ィ ッ ク が、 PUA キ ャ ラ ク タ を 持つ テ キ ス ト を 含む場合 に は、
ActualText サブオプシ ョ ン を伴 う tag オプシ ョ ン を与え る 必要があ り ます。
PDF/X すべての必要な フ ォ ン ト を埋め込む必要があ り ます (上述)。
PDF/X-1a : こ の関数を呼び出 し てはいけ ません。
PDF/X-3 : 透過を持つグ ラ フ ィ ッ ク は許容 さ れません。
PDF/X-3/4/5 : devicergb オプシ ョ ンは、 PDF_begin_page_ext( ) で defaultrgb オプシ ョ ン
が設定 さ れてい る か、 ま たは出力 イ ン テ ン ト が RGB デバ イ ス であ る 場合にのみ許容 さ れ
ます。
PDF/VT PDF_begin_document( )でusestransparency=false オプシ ョ ンが指定 さ れたに も かかわ ら ず、
取 り 込ま れた グ ラ フ ィ ッ ク が透過を含んでい る 場合、 こ の呼び出 し は失敗す る おそれがあ
り ます。
PDF/UA グ ラ フ ィ ッ ク を、 Figure か Artifact と し て タ グ付けす る べ き です。 すべての必要な フ ォ ン
ト を埋め込む必要があ り ます (上述)。 グ ラ フ ィ ッ ク が、 PUA キ ャ ラ ク タ を持つテ キ ス ト
を含む場合には、 ActualText サブオプシ ョ ン を伴 う tag オプシ ョ ン を与え る 必要があ り ま
す。
スコープ 任意。 templateoptions が指定 さ れてい る 場合には、 オブ ジ ェ ク ト ス コ ープは許容 さ れま
せん。
表 9.6 PDF_load_graphics( ) のオプ シ ョ ン
キー
説明
defaultfontfamily
(名前文字列) そのグ ラ フ ィ ッ ク フ ァ イルの中のいずれかのテキス ト に対する フ ォ ン ト が指定 さ れ
ていないか得ら れない と き に用い られる フ ォ ン ト フ ァ ミ リ の名前。 デ フ ォ ル ト : Arial Unicode
MS が得 られる な ら それ、 得 られないな ら Helvetica
defaultfontoptions
(オプ シ ョ ン リ ス ト ) 表 4.2 に従っ た フ ォ ン ト 読み込みオプ シ ョ ン群。 グ ラ フ ィ ッ ク フ ァ イル内の
テキス ト に対 し て フ ォ ン ト が必要な際に、 こ の フ ォ ン ト がそれま でにまだ読み込まれていなか っ
た場合には、 こ こ で指定 さ れたオプ シ ョ ン群が PDF_load_font( ) に与え られます。 デ フ ォ ル ト :
{subsetting embedding skipembedding={latincore standardcjk} }
defaultimageoptions
(オプ シ ョ ン リ ス ト ) 表 9.1 に従っ た画像読み込みオプ シ ョ ン群。 埋め込まれた、 または外部の画
像が処理 さ れる際には、 こ こ で指定 さ れたオプ シ ョ ン群が PDF_load_image( ) に与え ら れます。 デ
フ ォル ト : { }
9.2 SVG グ ラ フ ィ ッ ク
187
表 9.6 PDF_load_graphics( ) のオプ シ ョ ン
キー
説明
devicergb
(論理値。 PDF/A と PDF/X-3/4/5 では、 こ のオプ シ ョ ンは、 PDF_begin_page_ext( ) に defaultrgb
オプ シ ョ ンが与え ら れているか、 または出力イ ン テ ン ト が RGB デバイ ス である場合にのみ許容 さ
れます) true の場合、 SVG 内のグ ラ フ ィ ッ ク ・ テキス ト 色は sRGB で な く DeviceRGB 色空間で解
釈 さ れ、 ま た、 埋め込まれた ラ ス タ 画像は honoriccprofile=false を用いて処理 さ れます。 デ
フ ォル ト : false
errorconditions
(オプ シ ョ ン リ ス ト ) エ ラ ーを引き起 こ す条件の リ ス ト (デ フ ォ ル ト : 空) :
attributes (文字列の リ ス ト ) 指定 さ れた SVG 属性群の う ちの 1 つが存在 し 、 し か し PDFlib がそ
れに対応 し ていない場合に、 エ ラ ーが発生 し ます (非対応属性の一覧については PDFlib
チ ュ ー ト リ アルを参照)。 デ フ ォ ル ト では、 非対応属性は無視 さ れます。
elements (文字列の リ ス ト )指定 さ れた SVG エ レ メ ン ト 群の う ちの 1 つが存在 し 、し か し PDFlib が
それに対応 し ていない場合に、 エ ラ ーが発生 し ます (非対応エ レ メ ン ト の一覧について
は PDFlib チ ュ ー ト リ アルを参照)。 デ フ ォル ト では、 非対応エ レ メ ン ト は無視 さ れま
す。
references
(キーワー ド の リ ス ト ) 以下の種別の参照の う ちの 1 つが解決または実行で き ない場合に
エ ラ ーが発生 し ます (デ フ ォ ル ト では、 image 以外のすべての種別が黙 っ て無視 さ れ、
警告が出力 さ れます) :
image
画像ま たはグ ラ フ ィ ッ ク フ ァ イルへの参照。 デ フ ォ ル ト 動作についてはオプ
シ ョ ン fallbackimage を参照
internal SVG エ レ メ ン ト への内部参照
external 画像かグ ラ フ ィ ッ ク以外のフ ァ イルへの参照
fontfamily フ ォ ン ト フ ァ ミ リ への参照
font
フ ォ ン ト フ ァ ミ リ ・ ウ ェ イ ト ・ ス タ イルを通 じ て指定 さ れた フ ルフ ォ ン ト 名
への参照
fallbackfontfamily
(名前文字列) 各 フ ォ ン ト のための予備フ ォ ン ト を作成する ために用い られる フ ォ ン ト フ ァ ミ リ の
名前。 そのグ ラ フ ィ ッ ク フ ァ イル内で予備フ ォ ン ト 群がすでに指定 さ れている場合にはそれに付
加 さ れます。 デ フ ォ ル ト : 空
fallbackfontoptions
(オプ シ ョ ン リ ス ト ) fallbackfontfamily オプ シ ョ ン を通 じ て作成 さ れた予備 フ ォ ン ト 群に適用 さ
れる オプ シ ョ ン群。 表 4.3 (74 ページ) に従 っ た、 以下のオプ シ ョ ン を使え ます : fontsize・
forcechars・textrise。 デ フ ォ ル ト : 空
fallbackheight
(float。 forcedheight が与え られている場合には無視 さ れます) はめ込み処理のための SVG グ ラ
フ ィ ッ クの高 さ (ユーザー座標で)。 デ フ ォ ル ト : SVG の viewBox 属性で与え ら れている高 さ が存
在する な ら それ、 ないな ら 1000
188
第 9 章 : 画像 ・ SVG ・ テ ン プ レー ト 関数
表 9.6 PDF_load_graphics( ) のオプ シ ョ ン
キー
説明
fallbackimage
(オプ シ ョ ン リ ス ト ) グ ラ フ ィ ッ クか画像要素のはめ込み枠のために確保 さ れている スペース を、
その要素が得ら れない と き にどのよ う に視覚化するかを指定 し ます (色は、 devicergb=false の場
合には sRGB で解釈 さ れ、 そ う でない場合には RGB で解釈 さ れます)。 こ のオプ シ ョ ン を何も サブ
オプ シ ョ ン な し で与え る と 、 グ レーの半透明の市松模様が描かれます (デ フ ォル ト : 代替表示な
し) :
fillcolor
(RGB カ ラ ーかキーワー ド ) その領域を市松模様で塗る ために用い ら れる色
(gridsize > 0 の場合)。 こ の場合、 半数の正方形はこ の指定 し た色で描かれ、 残 り 半
数の正方形は透明にな り ます。 あるいは gridsize=0 の場合には、 その領域を無地で塗
る ために用い ら れる色。 キーワー ド none と する と 、 その領域は塗 られません。 デ フ ォ
ル ト : LightGrey
gridsize
(float かパーセ ン ト 値) 市松模様の中の正方形の幅を、 デ フ ォ ル ト 座標で、 またはその
はめ込み枠の幅に対するパーセ ン ト 値 と し て表 し た もの。 パーセ ン ト 値は、 その領域内
に整数個の正方形が収ま る よ う に丸め られます。 gridsize=0 と する と 、 その領域は、
市松模様でな く 無地で塗られます。 デ フ ォル ト : 10
image
(画像またはテ ン プ レ ー ト ハン ド ル) そのはめ込み枠の中へ fitmethod=entire を用いて
配置 さ れる画像かテ ン プ レー ト 。 デ フ ォル ト ; 画像ま たはテ ン プ レー ト な し
opacity
(範囲 0 ~ 1 の float、またはパーセ ン ト 値)市松模様の正方形かその領域内部の不透明度。
デ フ ォル ト : 0.5
strokecolor (RGB カ ラ ーかキーワー ド ) その境界領域 と その領域内部の十字を描線する ために用い
ら れる色。 キーワー ド none と する と 、 境界 と 十字は描線 さ れません。 デ フ ォル ト : Red
fallbackwidth
(float。 forcedwidth が与え られている場合には無視 さ れます) はめ込み処理のための SVG グ ラ
フ ィ ッ ク の幅 (ユーザー座標で)。 デ フ ォル ト : SVG の viewBox 属性で与え られている幅が存在す
る な ら それ、 ないな ら 1000
forcedheight (float) その SVG グ ラ フ ィ ッ クの高 さ (も し あれば) が無視 さ れ、 そのかわ り に、 指定 さ れた値が
デ フ ォル ト 座標系で適用 さ れます。 デ フ ォ ル ト : そのグ ラ フ ィ ッ ク の高 さ
forcedwidth
(float) その SVG グ ラ フ ィ ッ クの幅 ( も し あれば) が無視 さ れ、 そのかわ り に、 指定 さ れた値がデ
フ ォ ル ト 座標系で適用 さ れます。 デ フ ォ ル ト : そのグ ラ フ ィ ッ クの幅
lang
(文字列) そのグ ラ フ ィ ッ ク フ ァ イルに対する自然言語。 こ れはた と えば、 SVG の switch エ レ メ
ン ト で使用で き ます。 こ の言語指定の形式は、 PDF_begin_document( ) の lang オプ シ ョ ン と 同 じ で
す (表 3.3 参照)。 デ フ ォル ト : LANG 環境変数で見つか っ た言語識別子。
templateoptions
(オプ シ ョ ン リ ス ト ) この与え ら れたオプ シ ョ ン リ ス ト に従っ て テ ン プ レ ー ト (PDF フ ォ ーム
XObject) を作成 し ます。 このオプ シ ョ ンは、 このグ ラ フ ィ ッ ク が複数回配置 さ れる場合、 または
特定のテ ン プ レー ト 機能群が必要な場合 (例 : PDF/VT のために) に推奨 さ れます。
こ の与え られたオプ シ ョ ン リ ス ト (空で も よい) は、 PDF_begin_template_ext( ) に対 し て用い ら れ
ます。 以下の共通 XObject オプ シ ョ ン群を使え ます (表 9.11 参照) : associatedfiles ・ iconname ・
layer ・ metadata ・ pdfvt ・ transparencygroup。
そのテ ン プ レー ト の幅 と 高 さ は、 そのグ ラ フ ィ ッ クのサイ ズに基づいて決定 さ れます。 そのテ ン
プ レー ト は、 PDF 出力へ、 PDF_close_graphics( ) で、 ま たはその文書の終了で書き だ さ れます (後
者は、 こ のグ ラ フ ィ ッ ク フ ァ イルに対 し て PDF_fit_graphics( ) が少な く と も 1 回呼び出 さ れた場合
のみ)。
9.2 SVG グ ラ フ ィ ッ ク
189
C++ Java C# void close_graphics(int graphics)
Perl PHP close_graphics(int graphics)
C void PDF_close_graphics(PDF *p, int graphics)
ベ ク ト ルグ ラ フ ィ ッ ク を閉 じ ます。
graphics
PDF_load_graphics( ) を用いて取得 さ れた有効な グ ラ フ ィ ッ ク ハン ド ル。
詳細 PDFlib
の関連付いた内部グ ラ フ ィ ッ ク 構造は削除 さ れます。 PDF_load_graphics( )
で
templateoptions オプシ ョ ンが指定 さ れた場合には、そのグ ラ フ ィ ッ ク を閉 じ る 前に、それ
に照応す る PDF テ ンプ レー ト が作成 さ れます。 そのグ ラ フ ィ ッ ク が フ ァ イ ルか ら 開かれ
ていた場合には、そのグ ラ フ ィ ッ ク フ ァ イ ル自体は こ の呼び出 し に よ っ て影響を受け ませ
ん。 なぜな ら それはすでに、 それに照応す る PDF_load_graphics( ) 呼び出 し の終了で閉 じ
ら れてい る か ら です。 グ ラ フ ィ ッ ク ハン ド ルは、 こ の関数を用いて閉 じ ら れた後は、 も う
使 う こ と がで き ません。
スコープ 任意。 照応す る PDF_load_graphics( ) への呼び出 し でが指定 さ れ、 かつそのグ ラ フ ィ ッ ク
が少な く と も 1 回配置 さ れた場合には、 オブ ジ ェ ク ト ス コ ープは許容 さ れません。 組にな
る PDF_load_graphics( ) への呼び出 し と 必ずペアにする 必要があ り ます。
C++ Java C# void fit_graphics(int graphics, double x, double y, String optlist)
Perl PHP fit_graphics(int graphics, float x, float y, string optlist)
C void PDF_fit_graphics(PDF *p, int graphics, double x, double y, const char *optlist)
ベ ク ト ルグ ラ フ ィ ッ ク を内容 ス ト リ ーム上に、 さ ま ざ ま なオプシ ョ ン に従っ て配置 し ま
す。
graphics
x・y
PDF_load_graphics( ) を用いて取得 さ れた有効な グ ラ フ ィ ッ ク ハン ド ル。
グ ラ フ ィ ッ ク が配置 さ れ る 参照点の座標をユーザー座標系で表 し た も の。
optlist グ ラ フ ィ ッ ク はめ込み ・ 処理オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト 。 以下の
オプシ ョ ンが使え ます :
> 表 6.1 に従っ たはめ込みオプシ ョ ン :
blind ・ boxsize ・ fitmethod ・ matchbox ・ orientate ・ position ・ refpoint ・ rotate ・ scale ・
showborder
> 表 9.3 に従っ た、 グ ラ フ ィ ッ ク 処理のためのオプシ ョ ン :
adjustpage ・ gstate
> 表 9.7 に従っ た、 グ ラ フ ィ ッ ク 内の イ ン タ ラ ク テ ィ ブ リ ン ク 群を処理す る ためのオプ
ション:
convertlinks
> 表 14.5 に従っ た、 短縮構造エ レ メ ン ト タ グ付けのためのオプシ ョ ン (ページ ス コ ープ
でのみ可) : tag
詳細
190
グ ラ フ ィ ッ ク は、参照点 (x, y) を基準 と し て配置 さ れます。デフ ォ ル ト では、そのオブジ ェ
ク ト の左下隅が参照点に配置 さ れます。 ただ し 、 orientate ・ boxsize ・ position ・ fitmethod
オプシ ョ ンで こ の動作を変更す る こ と も で き ます。 デフ ォ ル ト では、 グ ラ フ ィ ッ ク はその
内部で指定 さ れたサ イ ズに従っ て拡縮 さ れます。 こ の動作は、 scale ・ fitmethod オプシ ョ
ンで変更す る こ と も で き ます。
第 9 章 : 画像 ・ SVG ・ テ ン プ レー ト 関数
PDF_fit_graphics( ) を呼び出す前に、 PDF_fit_graphics( ) が成功す る か ど う か をチ ェ ッ ク
す る ために (そ し て失敗 し て例外が発生す る こ と を避け る ために) 、 PDF_info_graphics( )
で fittingpossible キーワー ド を用い る こ と を推奨 し ます。
PDF/UA グ ラ フ ィ ッ ク か ラ ス タ 画像を含むグ ラ フ ィ ッ ク は、 Figure か Artifact と し て タ グ付けす る
必要があ り ます。
スコープ ページ ・ パ タ ーン (そのパ タ ーンの painttype が 1 の場合のみ) ・ テ ン プ レー ト ・ グ リ フ
(Type 3 フ ォ ン ト の colorized オプシ ョ ンが true の場合のみ)。こ の関数は、そのグ ラ フ ィ ッ
ク ハン ド ルが PDF_close_graphics( ) を用いて閉 じ ら れない限 り 、 任意の回数、 任意のペー
ジ上で呼び出す こ と がで き ます。
表 9.7 PDF_fit_graphics( ) の さ ら な るオプ シ ョ ン
キー
説明
convertlinks
(論理値) true の場合、 グ ラ フ ィ ッ ク フ ァ イル内のイ ン タ ラ ク テ ィ ブ リ ン クが PDF 内のイ ン タ ラ
ク テ ィ ブ Link 注釈へ変換 さ れます。 こ の設定にかかわら ず、 リ ン クは以下の状況では作成 さ れま
せん (デ フ ォル ト : true) :
> こ の関数がページ以外のス コ ープ で呼び出 さ れている。
> PDF_load_graphics( ) で templateoptions オプ シ ョ ンが与え られている。
> タ グ付き PDF モー ド : カ レ ン ト でア ク テ ィ ブ な構造ア イ テムが Artifact であ る。
> PDF/X : その リ ン ク注釈が BleedBox (あ るいは BleedBox が存在 し ない場合には TrimBox/ArtBox)
内に置かれている。
C++ Java C# double info_graphics(int graphics, String keyword, String optlist)
Perl PHP float info_graphics(int graphics, string keyword, string optlist)
C double PDF_info_graphics(PDF *p, int graphics, const char *keyword, const char *optlist)
ベ ク ト ルグ ラ フ ィ ッ ク を整形 し 、 メ ト リ ッ ク その他特性群を ク エ リ し ます。
graphics PDF_load_graphics( ) を用いて取得 さ れた有効な グ ラ フ ィ ッ ク ま たはテ ンプ レー
ト ハン ド ル。
keyword 求め る 情報を指定す る キーワ ー ド :
> 表 6.3 に従っ た、 オブジ ェ ク ト はめ込みの結果を ク エ リ す る ためのキーワ ー ド :
boundingbox ・ fitscalex ・ fitscaley ・ height ・ objectheight ・ objectwidth ・ width ・ x1 ・ y1 ・
x2 ・ y2 ・ x3 ・ y3 ・ x4 ・ y4
> 表 9.8 に従っ た さ ら な る キー ワー ド :
description ・ filename ・ fittingpossible ・ graphicswidth ・
graphicsheight ・ istemplate ・
metadata ・ title ・ type ・ xid
optlist PDF_fit_graphics( ) に対す る オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト 。求め ら れ
た キー ワー ド の値を決め る のに関係のないオプシ ョ ン群は無視 さ れます。
戻り値 keyword に よ っ て求め ら れた通 り の何 ら かのグ ラ フ ィ ッ ク 特性の値。 視覚的な特性がペー
ジの外で求め ら れた と き は、 こ の関数は -1 (PHP では 0) を返 し ます。 オブジ ェ ク ト ハン
ド ルが求め ら れた と き は、 こ の関数はそのオブジ ェ ク ト へのハン ド ルを返 し ますが、 も し
そのオブジ ェ ク ト が得 ら れない場合には -1 (PHP では 0) を返 し ます。 求め ら れた キー
ワ ー ド がテ キ ス ト を生み出す場合には、 文字列番号が返 さ れ、 それに照応す る 文字列を、
PDF_get_string( ) を用いて取得す る 必要があ り ます。
9.2 SVG グ ラ フ ィ ッ ク
191
詳細
こ の関数は、与え ら れたオプシ ョ ン群に従っ てそのグ ラ フ ィ ッ ク を配置す る ために必要な
すべての計算を行い ますが、 し か し ページ上に実際に出力を作成 し ません。 グ ラ フ ィ ッ ク
参照点は {0 0} であ る と 見な さ れます。
スコープ 任意
表 9.8 PDF_info_graphics( ) のキーワー ド
キーワー ド
説明
description
一番外側の svg エ レ メ ン ト が存在する な らばそれの、 あるいは一番外側の g エ レ メ ン ト が
存在する な らばそれの desc エ レ メ ン ト の内容に対する文字列番号、 それ以外の場合には 1。 こ の文字列はマー ク ア ッ プ を含む場合があ り ます。
filename
そのグ ラ フ ィ ッ ク フ ァ イルの名前に対する文字列番号 (あてはま る場合には検索パスデ ィ
レ ク ト リ を含みます)
fittingpossible
そのグ ラ フ ィ ッ ク がカ レ ン ト の コ ン テキス ト で PDF_fit_graphics( ) を用いて配置で き るかど
う かを チ ェ ッ ク し ます。 そのグ ラ フ ィ ッ クが配置で き る な ら値 1 が返 さ れます。 以下のい
ずれかの理由ではめ込みが失敗する (すなわち PDF_fit_graphics( ) が例外を発生 さ せる であ
ろ う ) な ら 値 0 が返 さ れます :
> そのグ ラ フ ィ ッ ク フ ァ イル内の内部的問題。
> カ レ ン ト の規格の必要条件群 と の衝突 (透過が許 さ れていない、 フ ォ ン ト を埋め込む必
要があるのに フ ォ ン ト フ ァ イルが得ら れないな ど)
0 が返 さ れた場合には、 その問題の性質を、 PDF_get_errmsg( ) を用いて ク エ リ する こ と も で
き ます。 こ の結果はカ レ ン ト の コ ン テキス ト に対 し てのみ有効ですので、 このチ ェ ッ クは
ページ上への配置を試みる直前に行 う べき です。
graphicswidth ・
graphicsheight
そのグ ラ フ ィ ッ ク の、 そのグ ラ フ ィ ッ ク フ ァ イル内の情報に従っ た幅 と 高 さ を、 デ フ ォ ル
ト 座標系で表 し た もの。 そのグ ラ フ ィ ッ ク フ ァ イル内で値が得ら れない場合には 0 が返 さ
れます。
istemplate
templateoptions オプ シ ョ ンが与え ら れている場合には 1、 そ う でないな ら 0
metadata
最も 外の svg エ レ メ ン ト の metadata エ レ メ ン ト の内容に対する文字列番号、 あるいはその
エ レ メ ン ト が存在 し ない場合には -1。 こ の文字列はマー ク ア ッ プ を含む場合があ り ます。
title
最も 外の svg エ レ メ ン ト の title エ レ メ ン ト の内容に対する文字列番号、 あるいはそのエ
レ メ ン ト が存在 し ない場合には -1。 こ の文字列はマー ク ア ッ プ を含む場合があ り ます。
type
そのグ ラ フ ィ ッ ク の種別 (形式) に対する文字列イ ンデ ッ ク ス : つねに svg
xid
(PDF/VT のみ) グ ラ フ ィ ッ ク のために作成 さ れた テ ン プ レ ー ト の GTS_XID エ ン ト リ に対す
る文字列番号、 あ るいはテ ン プ レ ー ト が作成 さ れなかっ たか GTS_XID 値がそのテ ン プ レー
ト に割 り 当て られていない場合には -1。 こ の文字列は、 DPM のための CIP4/Summary/
Content/Referenced メ タ デー タ プ ロパテ ィ 内で使用する こ と がで き ます。
192
第 9 章 : 画像 ・ SVG ・ テ ン プ レー ト 関数
9.3 テ ン プ レ ー ト
注 「テ ン プ レー ト 」 と い う 言葉を こ こ では PDF フ ォ ーム XObject と 同義に用います。 こ の節
で解説する テ ン プ レー ト 関数は、 PDFlib ブ ロ ッ ク によ る可変デー タ 処理 と は無関係です。
PDFlib Block Plugin で作成 し たブ ロ ッ クへの流 し 込みを行 う には PDF_fill_*block( ) を使いま
す (221 ページ 「11 章 ブ ロ ッ ク 流 し 込み関数 (PPS)」 参照)。
C++ Java C# int begin_template_ext(double width, double height, String optlist)
Perl PHP int begin_template_ext(float width, float height, string optlist)
C int PDF_begin_template_ext(PDF *p, double width, double height, const char *optlist)
テ ンプ レー ト 定義を開始 し ます。
width ・ height テ ンプ レー ト の外接枠の寸法を、ポ イ ン ト 単位で指定 し ます。こ の width・
height 引数は 0 にす る こ と も で き ます。 こ の場合、 それ ら は PDF_end_template_ext( ) 内
で、 あ る いは boundingbox オプシ ョ ン を用いて与え る 必要があ り ます。 結局ど ち ら の値 も
0 以外 と す る 必要があ り ます。 ただ し postscript ま たは watermark オプシ ョ ンが指定 さ れ
てい る 場合を除 き ます。
optlist テ ンプ レー ト 関連の特性群を指定 し たオプシ ョ ン リ ス ト 。
> 以下の共通 XObject オプシ ョ ン を使え ます (表 9.11 参照) :
associatedfiles・iconname・layer・metadata・ OPI-1.3・ OPI-2.0・pdfvt ・reference・transform・
transparencygroup
> PDF_begin_page_ext( ) の以下の図形オプシ ョ ン を使え ます (表 8.3 参照) :boundingbox・
topdown
> 特殊テ ンプ レー ト 機能群のための以下のオプシ ョ ン を使え ます (表 9.9 参照) :
postscript ・ watermark
戻り値 以後の PDF_fit_image( ) ・ PDF_info_image( ) お よ び PDF_end_template_ext( ) への呼び出 し
で使え る テ ンプ レー ト ハン ド ル、 あ る いはエ ラ ーの場合には -1 (PHP では 0)。
詳細
こ の関数は、 テ キ ス ト ・ グ ラ フ ィ ッ ク ・ 色 ス テー タ ス パ ラ メ ー タ 群をすべて それ ら のデ
フ ォ ル ト 値に リ セ ッ ト し て、 topdown オプシ ョ ン に従っ て座標系を定義 し ます。 テ ン プ
レー ト 定義の最中は、 ハ イ パーテ キ ス ト 関数は使っ てはいけ ませんが、 テ キ ス ト ・ 画像 ・
グ ラ フ ィ ッ ク ・ 色関数はすべて使え ます。
テ ンプ レー ト サ イ ズ : 最 も 単純な場合では、 幅 と 高 さ は PDF_begin_template_ext( ) で
与え ら れます。 し か し 、 も し それ ら が未知の場合には、 それ ら を 0 と し て指定す る こ と も
で き ます。 こ の場合にはそれ ら を、 それに照応す る PDF_end_template_ext( ) への呼び出
し で与え る 必要があ り ます。
referenceオプシ ョ ンが与え ら れてい る 場合には、サ イ ズはその タ ーゲ ッ ト PDFページの
サ イ ズか ら 自動的に決定 さ れますので、 値を指定する こ と は不要です。 ただ し 、 も し それ
で も width と height が指定 さ れた場合には、 それ ら は用い ら れますが、 タ ーゲ ッ ト ペー
ジ と 同 じ ア スペ ク ト 比に自動的に調整 さ れます。
watermark オプシ ョ ンが与え ら れてい る 場合には、 こ のテ ンプ レー ト は、 Acrobat で編
集 ま たは削除が可能な透か し を定義 し ま す。 こ の場合 こ のテ ン プ レ ー ト の中では、 PDF_
fit_textline( ) と 、 文書ま たはオブ ジ ェ ク ト ス コ ープ内で許 さ れ る 関数のみを用い る こ と が
で き ます。そのテ キ ス ト 行の外接枠が、こ のテ ンプ レー ト の幅 と 高 さ を定義 し ます:width・
height 引数 と オプシ ョ ン boundingbox ・ transform は無視 さ れます。 透か し のテ キ ス ト 行
9.3 テ ン プ レー ト
193
の外接枠は、 その回転角 と 寸法、 と り わけオプシ ョ ン boxheight か ら 算出 さ れます。 透か
し に使われ る テ キ ス ト 行では、boxheightのデフ ォ ル ト 値が{capheight 0}ではな く {ascender
descender} にな り ます (表 6.4 (139 ページ) 参照)。 PDF_fit_textline( ) の引数 x ・ y は無視
さ れます。
こ の透か し テ ンプ レー ト は、 サブオプシ ョ ン startpage/endpage/pagesubset で指定 さ
れたすべてのページに自動的に配置 さ れ ます。 それはページ装飾 と し てマー ク さ れ ます。
透か し テ ンプ レー ト を作成 し て使用す る 際には、 以下の規則に従 う 必要があ り ます :
> 透か し テ ン プ レー ト は、 それが使用 さ れ る 最初のページ よ り 前に作成 さ れ る 必要があ
り ます。
> watermark オプシ ョ ンは、 文書ご と に 1 回 し か用い る こ と がで き ません。
> 透か し テ ンプ レー ト のハン ド ルを、 PDF_fit_image( ) への呼び出 し の中で、 ま たは画像
ハン ド ルを持つオプシ ョ ン リ ス ト の中で (PDF_add_table_cell( ) の中な ど) 、 一切用い
てはいけ ません。 なぜな ら 透か し は自動的に配置 さ れ る か ら です。
透か し テ ンプ レー ト の内容について、 以下の規則に従 う 必要があ り ます :
> PDF_fit_textline( ) を ち ょ う ど 1 回呼び出す必要があ り ます。かつ、その text 引数を空に
し てはいけ ません。
> fillcolor ・ strokecolor オプシ ョ ンに対 し ては、 以下の色空間のみを使用で き ます : gray、
iccbasedgray、 グ レース ケールま たは RGB プ ロ フ ァ イ ルを持つ iccbased、 rgb (ま たは
HTML カ ラ ー名か 16 進 RGB 値)、 iccbasedrgb
PDF/A postscript オプシ ョ ン を使用 し てはいけ ません。
PDF/X postscript オプシ ョ ン を使用 し てはいけ ません。
スコープ オブ ジ ェ ク ト 以外任意。 こ の関数はテ ン プ レー ト ス コ ープ を開始 さ せます。照応す る PDF_
end_template( ) と 必ずペアに し て呼び出す必要があ り ます。
表 9.9 PDF_begin_template_ext( ) のオプ シ ョ ン
キー
説明
postscript
(オプ シ ョ ン リ ス ト 。 PDF/A ・ PDF/X では不可) PDF フ ォ ーム XObject ではな く PostScript
XObject を作成 し ます。 こ のオプ シ ョ ンは、 生成 さ れる PDF 文書の後処理に対 し て厳格な制御を
行 う シナ リ オでのみ使用するべき です。 EPS グ ラ フ ィ ッ ク を取 り 込む こ と は適切ではあ り ません。
こ の PostScript XObject はただ ちに書き込まれます。 ス コ ープは template へ変わ り ますが、 グ ラ
フ ィ カルな出力を生み出すための API 関数呼び出 し は、 照応する PDF_end_template_ext( ) への呼び
出 し ま で許容 さ れません。 こ のオプ シ ョ ンが与え られている場合には、 他のオプ シ ョ ンは一切許
容 さ れません。 使え るサブオプ シ ョ ン :
filename
watermark
(名前文字列。 必須) PostScript を含んだデ ィ ス ク ベース または仮想フ ァ イルの名前。 こ
の PostScript コ ー ド は、 空白キ ャ ラ ク タ 1 個で終了するべき です。 こ のコ ー ド は、
PostScript XObject 内へ、 検証な し で挿入 さ れます。 この PostScript の内容については
ユーザー側の責任範囲です。
(オプ シ ョ ン リ ス ト 。 文書ご と に 1 回のみ使用可能) 表 9.10 のオプ シ ョ ンに し たがっ て、 編集可能
な透か し を作成 し ます。
表 9.10 PDF_begin_template_ext( ) の watermark オプ シ ョ ンのサブオプ シ ョ ン
キー
説明
endpage
(整数かキーワー ド ) その透か し を入れたい最後のページの番号、 ま たはキーワー ド last で末尾
ページ。 デ フ ォ ル ト : last
194
第 9 章 : 画像 ・ SVG ・ テ ン プ レー ト 関数
表 9.10 PDF_begin_template_ext( ) の watermark オプ シ ョ ンのサブオプ シ ョ ン
キー
説明
fixedprint
(論理値) 異な るページ寸法へ印字する際にその透か し の位置 と 寸法を一定に保ち ます。 デ フ ォル
ト : false
horizalign
(キーワー ド ) その透か し の外接枠の、 ページ 1 上における相対横位置を指定する、 キーワー ド
left/center/right の う ちのいずれか 1 つ。 デ フ ォル ト : center
horizshift
(float) 相対横位置から のず ら し をポ イ ン ト 単位で。 デ フ ォル ト : 0
location
(キーワー ド ) その透か し を他のページ内容の後ろ に印字するか手前に印字するかを指定 し ます
(デ フ ォル ト : ontop) :
behind
透か し をページ内容の後ろ に印字 し ます。 location=behind を与えた場合には、 その同
一文書内でのその後の PDF_begin_page_ext( ) への呼び出 し はすべて、 width ・ height 引
数に対 し て 0 以外の値を与え る必要があ り ます。
ontop
透か し をページ内容の手前に印字 し ます。
onprint
(論理値。 PDF 1.5 を必要 と し ます。 PDF/A-2/3 ・ PDF/X-4/5 ・ PDF/UA-1 では値 false では不可)
true の場合、 その透か し はページ を印刷する際に印字 さ れます。 デ フ ォル ト : true
onscreen
(論理値。 PDF 1.5 を必要 と し ます。 PDF/A-2/3 ・ PDF/X-4/5 ・ PDF/UA-1 では値 false では不可)
true の場合、 その透か し はページ を画面に表示する際に印字 さ れます。 デ フ ォル ト : true
opacity
(float かパーセ ン ト 値。 PDF/A-1 ・ PDF/X-1/3 では値 1 にする必要があ り ます) その透か し をペー
ジ上で塗る ための不透明度値。 デ フ ォル ト : 1
pagessubset
(キーワー ド ) startpage と endpage で指定 し た範囲の中のページ群の部分集合を選択 し ます (デ
フ ォ ル ト : all) :
scale
all
その範囲の中のすべてのページ を選択 し ます。
even
その範囲の中の偶数番号のページすべて を選択 し ます。
odd
その範囲の中の奇数番号のページすべて を選択 し ます。
(float かパーセ ン ト 値かキーワー ド ) 対象ページに対する その透か し の外接枠の拡縮倍率。 拡縮は
そのテキス ト 行の外接枠のア スペ ク ト 比を温存 し ます (デ フ ォ ル ト : 1)。 使え るキーワー ド :
none
拡縮な し
startpage
(整数)。 透か し を入れたい最初のページの番号 (先頭ページの番号は 1 です)。 次のページ、 すな
わち、 次に PDF_begin_page_ext( ) を呼び出 し た時に作成 さ れたページの番号が、 startpage で指定
さ れた も のよ り も大き い番号であ る場合には、 こ の値は次のページへ増加 さ せら れます。 デ フ ォ
ル ト : 次のページ
vertalign
(キーワー ド ) その透か し の外接枠の、 ページ 1 上における相対縦位置を指定する、 キーワー ド
bottom/center/top の う ちのいずれか 1 つ。 デ フ ォル ト : center
vertshift
(float) 相対縦位置から のず ら し をポ イ ン ト 単位で。 デ フ ォル ト : 0
1. ページ寸法は、 その CropBox があればそれに よ っ て、 なければその MediaBox に よ っ て定義 さ れます。
C++ Java C# void end_template_ext(double width, double height)
Perl PHP end_template_ext(float width, float height)
C void PDF_end_template_ext(PDF *p, double width, double height)
テ ンプ レー ト 定義を完了 し ます。
width ・ height テ ン プ レ ー ト の外接枠の寸法 を ポ イ ン ト 単位で指定 し ま す。 width か
height を 0 にす る と 、 PDF_begin_template_ext( ) で与え た値が用い ら れます。 そ う でない
9.3 テ ン プ レー ト
195
と き は、 PDF_begin_template_ext( ) の boundingbox オプシ ョ ン と width ・ height 引数で与
え た値はオーバ ラ イ ド さ れます。 ただ し 、 照応す る PDF_begin_template_ext( ) への呼び出
し でreference ま たはwatermarkオプシ ョ ンが与え ら れてい る 場合には、PDF_end_template_
ext( ) へ与え ら れた値は無視 さ れます。
スコープ
196
テ ン プ レー ト 。 こ の関数はテ ン プ レー ト ス コ ープを終了 さ せます。 照応する PDF_begin_
template_ext( ) と 必ずペアに し て呼び出す必要があ り ます。
第 9 章 : 画像 ・ SVG ・ テ ン プ レー ト 関数
9.4 共通 XObject オ プ シ ョ ン
PDF XObject は、 取 り 込み画像 と 、 取 り 込みベ ク ト ルグ ラ フ ィ ッ ク (templateoptions リ ス
ト が与え ら れた場合) と 、 取 り 込み PDF ページ と 、 テ ンプ レー ト のために作成 さ れます。
こ の節で挙げ る オプシ ョ ンは、 以下の、 XObject を作成で き る 関数で利用で き ます :
> PDF_load_image( )
> PDF_load_graphics( ) with the templateoptions option
> PDF_open_pdi_page( )
> PDF_begin_template_ext( )
以下の XObject オプシ ョ ンが利用可能です (詳 し く は表 9.11 参照) :
associatedfiles ・ georeference ・ iconname ・ layer ・ metadata ・ OPI-1.3 ・ OPI-2.0 ・ pdfvt ・ reference ・
transparencygroup
PDF/A い く つかのオプシ ョ ンが制約 さ れてい ます。
PDF/X い く つかのオプシ ョ ンが制約 さ れてい ます。reference オプシ ョ ンは PDF/X-5g/5pg に関連
し ます。
PDF/VT pdfvt オプシ ョ ンは PDF/VT に関連 し ます。
表 9.11 PDF_load_image( ) ・ PDF_open_pdi_page( ) ・ PDF_begin_template_ext( ) と 、 templateoptions オプ シ ョ ン を持つ
PDF_load_graphics( ) の、 共通 XObject オプ シ ョ ン
オプ シ ョ ン
説明
associatedfiles (アセ ッ ト ハン ド ルの リ ス ト 。 PDF 2.0 ・ PDF/A-3 でのみ可) PDF/A-3 に従っ た連携 フ ァ イル群の
ためのア セ ッ ト ハン ド ル群。 こ の フ ァ イル群は、 PDF_load_asset( ) と type=attachment を用いて読
み込まれている必要があ り ます。
georeference (オプ シ ョ ン リ ス ト 。 PDF 1.7ext3。 PDF_load_image( ) のみ) 地理空間測量に利用する ために XObject
に関連づけ られる地球ベース座標系の記述。 詳 し く は 262 ページ 「12.7 地理空間機能」 を参照 し
て く だ さ い。
iconname
(ハイパーテキス ト 文字列) XObject に名前を付けて、 JavaScript で参照で き る よ う に し ます。 た と
えば、 XObject を フ ォ ーム フ ィ ール ド のア イ コ ン と し て使いたい と き に有用です。
PDF_load_image( ) : このオプ シ ョ ンは、 inline=true の場合には無視 さ れます。
createtemplate=true を強制 し ます。
layer
(レ イ ヤーハン ド ル。 PDF 1.5) XObject を属 さ せたい レ イ ヤー。 ただ し 、 こ の XObject を配置する
前に PDF_begin_layer( ) で別のレ イ ヤーが有効に さ れていない場合にかぎ り ます。 この XObject を配
置する前に PDF_begin_layer( ) を呼び出 し て レ イ ヤーを有効に さ せる と 、 こ の XObject の layer オプ
シ ョ ンはオーバ ラ イ ド さ れます。 こ の XObject の layer オプ シ ョ ンがオーバラ イ ド さ れないよ う に
するには、 この XObject を配置する前に PDF_end_layer( ) を呼び出 し て く だ さ い。
metadata
(オプ シ ョ ン リ ス ト ) XObject に対する メ タ デー タ (281 ページ 「14.2 XMP メ タ デー タ 」 参照)。
OPI-1.3
(オプ シ ョ ン リ ス ト 。 PDF_open_pdi_page( ) では不可。 PDF/A ・ PDF/X では不可) OPI 1.3 の
PostScript コ メ ン ト を オプ シ ョ ン名 と し て入れたオプ シ ョ ン リ ス ト 。 以下の項目は必須です :
ALDImageFilename (文字列) ・ ALDImageDimensions (整数の リ ス ト ) ・ ALDImageCropRect (整数に
よ る長方形) ・ ALDImagePosition (float の リ ス ト )
normalizefilename サブオプ シ ョ ンは、 フ ァ イル名の処理を制御 し ます。 true にする と 、 フ ァ イ
ル名は PDF リ フ ァ レ ン スが義務付けている よ う に正規化 さ れます。 false にする と 、 フ ァ イル名
は何も変更 さ れずに出力へ コ ピー さ れます。 後者は、 正規化 さ れた フ ァ イル名を適切に処理 し な
いい く つかの OPI サーバを扱 う 際に有用かも し れません。 デ フ ォル ト : false
9.4 共通 XObject オプ シ ョ ン
197
表 9.11 PDF_load_image( ) ・ PDF_open_pdi_page( ) ・ PDF_begin_template_ext( ) と 、 templateoptions オプ シ ョ ン を持つ
PDF_load_graphics( ) の、 共通 XObject オプ シ ョ ン
オプ シ ョ ン
説明
OPI-2.0
(オプ シ ョ ン リ ス ト 。 PDF_open_pdi_page( ) では不可。 PDF/A ・ PDF/X では不可) OPI 2.0 の
PostScript コ メ ン ト を オプ シ ョ ン名 と し て入れたオプ シ ョ ン リ ス ト 。 以下の項目は必須です :
ImageFilename (文字列)
以下の項目は、 両方入れるか、 またはど ち ら も 入れない必要があ り ます :
ImageCropRect (長方形) ・ ImageDimensions (float の リ ス ト )
サブオプ シ ョ ン normalizefilename も 使え ます (OPI-1.3 参照)。
pdfvt
(オプ シ ョ ン リ ス ト 。 PDF/VT のみ) 表 9.14 に従っ た、 XObject のための PDF/VT サブオプ シ ョ ン
群。
reference
(オプ シ ョ ン リ ス ト 。 PDF_load_image( ) では不可。 PDF/A ・ PDF/X-1/2/3/4 ・ PDF/VT-1 ・ PDF/UA1 では不可。 PDFlib ソ ース コ ー ド パ ッ ケージ群では利用で き ません) 外部 PDF (「 タ ーゲ ッ ト 」 文
書) 内のページ を参照 し ます。 PDF_open_pdi_page( ) を用いて開かれたページか、 PDF_begin_
template_ext( ) を用いて作成 さ れた テ ン プ レー ト か、 PDF_load_graphics( ) を用いて読み込まれたグ
ラ フ ィ ッ クが、 この参照のための代理 と し て使用 さ れます。 ビ ュ ーア構成 と 、 タ ーゲ ッ ト PDF が
得られるかど う かに応 じ て、 内部代理 と 外部 タ ーゲ ッ ト のど ち らが表示 ・ 印刷 さ れるかが決ま り
ます。 使え るサブオプ シ ョ ン群については表 9.13 を参照 し て く だ さ い。
PDF_open_pdi_page( ) : タ ーゲ ッ ト PDF は、 ロー カルで得られる必要があ り 、 かつ、 pagelabel か
pagenumber サブオプ シ ョ ン を用いて指定 さ れたページ を含んでいる必要があ り ます。 こ の タ ー
ゲ ッ ト は、 ユーザーまたはマ ス タ ーパスワー ド を必要 と し てはいけません。 参照ページのサイ ズ
は、 reference オプ シ ョ ンの pdiusebox サブオプ シ ョ ンに従 っ て決定 さ れます。 こ れは PDF_info_
image( ) の imagewidth/imageheight キーワー ド を用いて取得で き ます。 代理ページ と タ ーゲ ッ ト
ページは互換なページ形状を持つ必要があ り ます。 すなわち、 両方のページがページ上の同一の
位置に配置で き る よ う 、 pdiusebox オプ シ ョ ン を用いて選択 さ れるページ枠が同一である必要があ
り ます。
PDF_begin_template_ext( ) : width と height に値 0 が与え られている場合には、 テ ン プ レー ト サイ
ズは PDF_info_image( ) の imagewidth/imageheight キーワー ド を用いて取得で き ます。 width と
height に 0 以外の値が与え られている場合には、 以下のサブオプ シ ョ ン も 使え ます (表 6.1 参照) :
fitmethod・position。
PDF_load_graphics( ) : グ ラ フ ィ ッ クは、 タ ーゲ ッ ト ページのサイ ズに合わせて調整 さ れます。 以下
のサブオプ シ ョ ン も 使え ます (表 6.1 参照) : fitmethod・position。
PDF/X-5g/5pg : タ ーゲ ッ ト は、 以下の規格のいずれか 1 つに準拠 し ている必要があ り ます : PDF/
X-1a:2003 ・ PDF/X-3:2003 ・ PDF/X-4 ・ PDF/X-4p ・ PDF/X-5g ・ PDF/X-5pg。 かつ、 同一の出力イ
ン テ ン ト に対 し て用意 さ れている必要があ り ます。
PDF/VT-2 : タ ーゲ ッ ト は、 以下の規格のいずれか 1 つに準拠 し ている必要があ り ます : PDF/X1a:2003 ・ PDF/X-3:2003 ・ PDF/X-4 ・ PDF/X-4p ・ PDF/VT-1。 かつ、 同一の出力イ ン テ ン ト に対 し
て用意 さ れている必要があ り ます。
参照ページ を閲覧する ために必要な Acrobat 構成については PDFlib チ ュ ー ト リ アルを参照 し て く
だ さ い。
198
第 9 章 : 画像 ・ SVG ・ テ ン プ レー ト 関数
表 9.11 PDF_load_image( ) ・ PDF_open_pdi_page( ) ・ PDF_begin_template_ext( ) と 、 templateoptions オプ シ ョ ン を持つ
PDF_load_graphics( ) の、 共通 XObject オプ シ ョ ン
オプ シ ョ ン
説明
transform
(変換 リ ス ト 。 そのページに対 し て PDF_open_pdi_page( ) の cloneboxes オプ シ ョ ンが与え られてい
る場合には無視 さ れます。 PDF_load_image( ) では不可) そのページ またはパ タ ーン またはテ ン プ
レー ト 座標系を、 このページ/パ タ ーン/テ ン プ レー ト が使用 さ れる対象ページ またはテ ン プ
レー ト またはグ リ フ記述のデ フ ォ ル ト 座標系へマ ッ プする変換を定義 し た リ ス ト 。 こ のページ ま
たはパ タ ーン またはテ ン プ レー ト 行列を、 対象ページ またはテ ン プ レ ー ト またはグ リ フ 記述のそ
れ と 結合 し て形成 さ れる座標系の中で、 こ のページ ま たはパ タ ーン またはテ ン プ レ ー ト の中のす
べてのグ ラ フ ィ ッ ク オブ ジ ェ ク ト が解釈 さ れます。
こ の リ ス ト は、 表 9.12 に従っ たキーワー ド 1 個 と float リ ス ト 1 個 と のペア群を内容 と し ます。 こ
こ で各ペアは 1 個の変換を定義 し ます。 こ の番号 リ ス ト の解釈 と 長 さ は変換によ っ て異な り ます。
こ の変換群は、 その指定 さ れた順に適用 さ れます。 ペア内の要素は、 等号 「=」 を用いて区切る こ
と がで き ます。 デ フ ォ ル ト : 何の変換も 適用 し ない。
例 : transform={rotate=45 translate={100 0}}
transparency (オプ シ ョ ン リ ス ト かキーワー ド 。 PDF_load_image( ) では不可。 PDF/A-1 ・ PDF/X-1/3 では不可。
group
PDF/A-2/3 ・ PDF/X-4/5 には制約が適用 さ れます) 取 り 込まれたページかグ ラ フ ィ ッ ク または生
成 さ れたテ ン プ レー ト に対 し て透過グループ を作成 し ます。 以下のキーワー ド を使え ます (デ
フ ォ ル ト : auto) :
auto
取 り 込まれたページが透過グループ を含んでいる と き には、 それが、 生成 さ れる フ ォ ー
ム XObject へ複製 さ れます。 ただ し 、 それが PDF/X-4 出力イ ン テ ン ト 内の CMYK ICC
プ ロ フ ァ イル と 衝突する と き には、 それは無視 さ れます ( この場合には、 透過グループ
はいずれにせよ必要あ り ません)。
グ ラ フ ィ ッ ク と テ ン プ レー ト に対 し ては、 透過グループは全 く 作成 さ れません。
none
取 り 込まれたページがすでに透過グループ を含んでいる場合で も、 透過グループ を一切
作成 し ません。
以下のサブオプ シ ョ ン を用いて明示的に透過グループ を作成する こ と も で き ます :
colorspace (キーワー ド か ICC プ ロ フ ァ イルハン ド ル。 type=luminosity を指定 し た PDF_create_
gstate( ) の softmask オプ シ ョ ンに対 し て テ ン プ レー ト が用い られる場合には none 以外
の値を指定する こ と が必須) ブ レ ン ド する色空間 (デ フ ォ ル ト : none) :
DeviceCMYK PDF/A-2/3 ・ PDF/X-4/5 : CMYK 出力イ ン テ ン ト でのみ可
DeviceGray PDF/A-2/3 ・ PDF/X-4/5 : グ レーま たは CMYK 出力イ ン テ ン ト での
み可
DeviceRGB PDF/A-2/3 ・ PDF/X-4/5 : RGB 出力イ ン テ ン ト でのみ可
none
透過グループに対 し て色空間が出力 さ れません。
srgb
sRGB 色空間を選択する ためのキーワー ド
isolated
(論理値) 透過グループが分離 し ているかど う かを指定 し ます。 デ フ ォル ト : false
knockout (論理値) 透過グループが ノ ッ ク アウ ト グループかど う かを指定 し ます。 デ フ ォ ル ト :
false
9.4 共通 XObject オプ シ ョ ン
199
表 9.12 PDF_begin_pattern_ext( ) ・ PDF_begin_template_ext( ) ・ PDF_open_pdi_page( ) の transform オプ シ ョ ンのキー
ワー ド と float リ ス ト
キーワー ド
説明
align
方向ベ ク ト ル {dx dy} だけ回転。 ベ ク ト ル {0 0} は回転な し を意味 し ます。
matrix
6 個の構成要素 {a b c d e f} を持つ non-degenerate 非縮退変換行列を指定。
rotate
{phi} だけ回転。こ こ で角度 phi は、パ タ ーン またはページ またはテ ン プ レ ー ト 座標系の x 軸正の向
きから 反時計回 り の度単位で測 り ます。
scale
{sx sy} だけ拡縮。 sy が与え られない場合、 それは sx に等 し い と 見な さ れます。
skew
{alpha beta} だけ斜形化 (シ アー)。 こ こ で alpha はパ タ ーン座標系の x 軸正の向きから反時計回
り の度単位で測 り 、 beta は y 軸正の向きから 時計回 り で測 り ます。 ど ち らの角度も、 90° の奇数
倍に し てはいけません。
translate
{tx ty} だけ平行移動。 平行移動はそのページ を配置する際に補正 さ れますので、 こ の平行移動は
取 り 込み PDF ページに対 し ては何の視覚的影響 も与え ません。
表 9.13 PDF_begin_template_ext( ) ・ PDF_open_pdi_page( ) と 、 templateoptions オプ シ ョ ン を持つ PDF_load_graphics( )
の、 reference オプ シ ョ ンのサブオプ シ ョ ン
キー
説明
filename
(名前文字列。 必須) タ ーゲ ッ ト PDF を内容 と し て持つ フ ァ イルの名前。 この名前は PDF 内に格
納 さ れ、 ビ ュ ーアに よ っ て使われます。 こ れは、 target オプ シ ョ ン を指定 し ない と きは、 タ ー
ゲ ッ ト PDF を ロー カルで見つける ために も使われます (すなわち、 その PDF が存在 し ている必要
があ り ます)。 デ ィ レ ク ト リ を一切付けない素のベース名を用いる こ と を推奨 し ます。
hypertextencoding
(キーワー ド ) pagelabel オプ シ ョ ンのエ ン コ ーデ ィ ング を指定 し ます。 空文字列は unicode と 等
価です。 デ フ ォ ル ト : グローバル hypertextencoding オプ シ ョ ンの値
pagelabel
(ハイパーテキス ト 文字列。 pagenumber と 同時に指定 し てはいけません) 参照 し たいページのペー
ジ ラ ベル
pagenumber (整数) 参照 し たいページの番号。 先頭ページの番号は 1 です。 デ フ ォ ル ト : 1 (ただ し こ れは
pagelabel によ っ てオーバラ イ ド さ れる可能性があ り ます)
pdiusebox
strongref
200
(キーワー ド 。 PDF/X-5g/5pg では media を強制 さ れます) タ ーゲ ッ ト ページの寸法を決定する た
めにどの枠寸法を用いるかを指定 し ます。 デ フ ォ ル ト : PDF/X-5g/5pg モー ド では media、 それ以
外では crop。
media
MediaBox を用います ( これは必ず存在 し ます)
crop
CropBox がある な ら それを、 ないな ら MediaBox を用います
bleed
BleedBox があ る な ら それを、 ないな ら CropBox を用います
trim
TrimBox があ る な ら それを、 ないな ら CropBox を用います
art
ArtBox がある な ら それを、 ないな ら CropBox を用います
(論理値。 PDF/X-5g/5pg では true を強制 さ れます) true にする と 、 PDFlib は、 タ ーゲ ッ ト の ID
項目を用いて、 その タ ーゲ ッ ト への強い参照を作成 し ます。 タ ーゲ ッ ト が別の文書で置き換え ら
れる と 、 この参照は切れます (すなわち、 ビ ュ ーアは代理を用います)。 タ ーゲ ッ ト を柔軟に取 り
替え る運用を し たい と きは、 このオプ シ ョ ンは false に設定する必要があ り 、 その場合、 ロー カ
ルの タ ーゲ ッ ト と 、 文書が最終的に表示 さ れる際に用い られる タ ーゲ ッ ト と は、 等 し いページ枠
と 回転項目を持つ必要があ り ます。 デ フ ォ ル ト : true
第 9 章 : 画像 ・ SVG ・ テ ン プ レー ト 関数
表 9.13 PDF_begin_template_ext( ) ・ PDF_open_pdi_page( ) と 、 templateoptions オプ シ ョ ン を持つ PDF_load_graphics( )
の、 reference オプ シ ョ ンのサブオプ シ ョ ン
キー
説明
target
(PDF 文書ハン ド ル) PDF_open_pdi_document( ) で取得 し た タ ーゲ ッ ト 文書のハン ド ル。 こ の タ ー
ゲ ッ ト PDF は、 repair=none オプ シ ョ ン を付けて、 かつ password オプ シ ョ ン を付けずに開いた も
のであ る必要があ り ます。 文書ハン ド ルを フ ァ イル名に加えて与え る こ と は、 2 つの場合に有用で
しょう :
> 多数の生成文書が同 じ タ ーゲ ッ ト PDF を参照する と き、その タ ーゲ ッ ト は 1 回だけ開 く 必要があ
り 、 その結果は内部的にキ ャ ッ シ ュ さ れる こ と がで き ます。
> ロー カルの タ ーゲ ッ ト のフ ァ イル名が、 PDF 内に格納 し たい タ ーゲ ッ ト フ ァ イル名 と 異な る と
き。
表 9.14 PDF_load_image( ) ・ PDF_open_pdi_page( ) ・ PDF_begin_template_ext( ) と 、 templateoptions オプ シ ョ ン を持つ
PDF_load_graphics( ) の、 pdfvt オプ シ ョ ンのサブオプ シ ョ ン
キー
説明
environment (ハイパーテキス ト 文字列。 scope=stream か scope=global の場合には必須) PDF/VT 環境 コ ン テ
キス ト を指定 し ます。 こ れは一種の識別子であ り 、 PDF/VT プ ロ セ ッ サは こ れを用いて、 関連
XObject 群を管理する ための管理イ ン タ フ ェ ース を提供する こ と がで き ます。 た と えば、 顧客名や
ジ ョ ブ名を用いて環境を識別で き ます。
scope
(キーワー ド ) その XObject の PDF/VT ス コ ープ (PDFlib の関数のス コ ープ と は関係あ り ません)
(デ フ ォル ト : unknown) :
unknown その XObject のス コ ープは未知です。
singleuse その XObject はその PDF/VT フ ァ イル内で 1 回だけ参照 さ れます。
record
(PDF_begin_document( ) に対 し て recordlevel オプ シ ョ ンが指定 さ れている場合のみ可)
その XObject は、 単一のレ コ ー ド に属するページ群の中で複数回参照 さ れますが、 他の
レ コ ー ド 内では参照 さ れません。
file
その XObject は、 その PDF/VT フ ァ イル内で複数回参照 さ れます。recordlevel オプ シ ョ
ンが与え られている場合には、 scope=file は、 その XObject が複数のレ コ ー ド 内で使
用 さ れる場合にのみ用い られるべき です (そ う でないな ら scope=record を用いるべき
です)。
stream
(environment オプ シ ョ ン を必要 と し ます。PDF/VT-2s ス ト リ ーム内へ入れ込まれる文書
に対 し てのみ可) その XObject か等価な XObject は、 その PDF/VT フ ァ イルを含む
PDF/VT-2s ス ト リ ーム内で複数回参照 さ れます。
(environment オプ シ ョ ン を必要 と し ます)その XObject か等価な XObject は、複数の PDF/
VT フ ァ イルか PDF/VT-2s ス ト リ ーム内で参照 さ れます。
global
xid
(文字列。 PDF_begin_template_ext( ) でのみ可。 なぜな ら こ れ以外の種類の XObject に対 し ては識別
子は自動的に作成 さ れるから です) そのテ ン プ レー ト に対 し て作成 さ れる フ ォ ーム XObject に対す
る一意識別子。 こ の識別子を、 ISO 16612-2:2010 の 6.7.2 項で勧告 さ れている形式で、 すなわち
uuid スキーム と RFC 4122 に従っ た 128 ビ ッ ト 数値を持っ た URI と し て与え る こ と を強 く 推奨 し ま
す。 この識別子は、 PDF/VT に従っ て等価な PDF フ ォ ーム XObject を作成する テ ン プ レー ト 定義
群 (すなわち、 同一の視覚的出力を作成する テ ン プ レー ト 群) に対 し ては、 等 し く するべき です。
等価でないテ ン プ レー ト は、 異な る識別子を持つか、 あ るいは識別子を全 く 持たない必要があ り
ます。
scope=stream か scope=global を用いた テ ン プ レー ト に対 し ては、 複数の文書にわた る フ ォ ーム
XObject のキ ャ ッ シ ュ処理を可能にする ため、 こ の xid オプ シ ョ ン を与え る こ と を強 く 推奨 し ま
す。
推奨 さ れる形式での xid の例 : uuid:1228c416-48f2-e817-ad69-8206e41dca2d
9.4 共通 XObject オプ シ ョ ン
201
202
第 9 章 : 画像 ・ SVG ・ テ ン プ レー ト 関数
10 PDF 取 り 込み (PDI) ・ pCOS 関数
注 こ の章で説明する関数はすべて、 PDF 取 り 込み ラ イ ブ ラ リ (PDI) を必要 と し ます。 PDI
は、 PDFlib+PDI と PDFlib Personalization Server (PPS) には含まれていますが、 基本 PDFlib
製品には含まれていません。 PDI の入手についての詳 し い情報を得る には私達のウ ェ ブサ
イ ト においで く だ さ い。
10.1 文書関数
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルが ク ッ ク ブ ッ クの pdf_import/starter_pdfmerge ト ピ ッ ク にあ り ま
す。
C++ Java C# int open_pdi_document(String filename, String optlist)
Perl PHP int open_pdi_document(string filename, string optlist)
C int PDF_open_pdi_document(PDF *p, const char *filename, int len, const char *optlist)
デ ィ ス ク ベース か仮想の PDF 文書を開 き 、 以後の使用に備え ます。
filename (名前文字列。グ ロ ーバル filenamehandling オプシ ョ ンに従っ て解釈 さ れます。
表 2.3 参照) PDF フ ァ イ ルの名前。
optlist PDF の開 く オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> 表 10.1 に従っ た PDF 文書オプシ ョ ン群 :
checkoutputintentprofile ・ infomode ・ inmemory ・ password ・ repair ・ requiredmode
> 表 10.1 に従っ た タ グ付 き PDF 処理オプシ ョ ン :
checktags ・ usetags
> 表 10.1 に従っ た レ イ ヤー処理オプシ ョ ン :
parentlayer ・ parenttitle ・ uselayers
len (C 言語バ イ ンデ ィ ン グのみ) filename の長 さ (バ イ ト 単位)。 len=0 にする と null 終
了文字列を与え る 必要があ り ます。
戻り値 PDI 文書ハン ド ル。 文書の個々のページの処理や、 文書のプ ロ パテ ィ の取得に使え ます。
戻 り 値 -1 (PHP では 0) は、 PDF 文書を開 く こ と がで き なか っ た こ と を示 し ます。 任意
の数の PDF 文書を同時に開いてお く こ と がで き ます。 戻 り 値は、 カ レ ン ト の文書ス コ ー
プ を終え る ま で使え ます。関数の呼び出 し が失敗 し た と き は、その失敗の理由を PDF_get_
errmsg( ) で取得す る こ と がで き ます。
エ ラ ー動作は、 errorpolicy オプシ ョ ンで変更す る こ と がで き ます。
詳細 デフ ォ ル ト では、 以下の条件の う ち 1 つで も 真の と き は、 その文書は拒否 さ れます :
> 文書が破損 し てお り 、 かつ修復で き なか っ た (ま たは repair=none が指定 さ れていた)。
> 文書が暗号化 さ れてい る のに、 そのマ ス タ ーパ ス ワー ド が password オプシ ョ ンで与え
ら れていない。 shrug オプシ ョ ン を用い る と 、 特定の条件下での保護 さ れた文書か ら の
ページ取 り 込みを可能にす る こ と がで き ます (PDFlib チ ュ ー ト リ アル参照)。
10.1 文書関数
203
1 番目の原因以外の と き は、 infomode オプシ ョ ン を使っ て文書を開 く こ と も で き ます。 こ
れは、 PDF_pcos_get_*( ) 関数群を使っ て、 暗号化や文書情報フ ィ ール ド な ど、 その PDF に
関す る 情報を取得 し たい と き に有用で し ょ う 。
PDF の取 り 込みに関連 し た問題 (PDF フ ァ イ ル名の誤 り 、 不適切な PDF デー タ な ど)
の性質について、 も っ と 詳 し い情報を得 る には、 PDF_get_errmsg( ) を使っ て、 よ り 詳 し い
エ ラ ー メ ッ セージ を取得 し ます。
スコープ 任意。 オブ ジ ェ ク ト ス コ ープでは、 PDI 文書ハン ド ルは PDF_pcos_get_*( ) 関数群でだけ使
え ます。
表 10.1 PDF_open_pdi_document( ) のオプ シ ョ ン
キー
説明
checktags
(キーワー ド ) 取 り 込まれた構造エ レ メ ン ト 群に対 し て構造エ レ メ ン ト ネス ト 化規則群 (PDFlib
チ ュ ー ト リ アル参照) が PDF_open_pdi_page( ) でチ ェ ッ ク さ れるかど う かを指定 し ます。 使え る
キーワー ド (デ フ ォ ル ト : none) :
none
タ グネス ト 化規則は強制 さ れません。 こ の設定がデ フ ォ ル ト です。 なぜな ら、 世の中に
実在する文書の多 く は構造エ レ メ ン ト ネス ト 化規則群に違反 し てお り 、 こ う でなければ
取 り 込めないか ら です。
relaxed
strict と 同様ですが、 ただ し い く つかの規則が強制 さ れません (PDFlib チ ュ ー ト リ アル
参照)。
strict
取 り 込まれた タ グがネス ト 化規則群に違反 し ている場合には PDF_open_pdi_page( ) への呼
び出 し が失敗 し ます。
checkoutput- (論理値。 PDF/A ・ PDF/X でのみ意味を持ち ます) true の場合、 出力イ ン テ ン ト の色要素の数が、
intentprofile その関連する ICC プ ロ フ ァ イル内の要素の数に対 し てチ ェ ッ ク さ れます。 こ のオプ シ ョ ン を false
に設定する と 、 メ モ リ 必要量が減 り ますが、 入力文書群が一貫性のある出力イ ン テ ン ト プ ロ フ ァ
イル群を内容 と し て持っ ている こ と がわかっ ている場合にのみ使用するべき です。
infomode
(論理値) true にする と 、 pCOS イ ン タ フ ェ ースで情報は取得で き るけれど も、 PDF_open_pdi_
page( ) を用いてページ を カ レ ン ト 出力文書へ取 り 込む こ と はで き ないよ う に文書が開き ます。 以
下の文書を、 infomode=true では開 く こ と がで き ます : パスワー ド がわから ない暗号化 さ れた PDF
(例外 : Distiller の設定 「オブ ジ ェ ク ト レ ベルの圧縮 : 最高」 を使っ て作成 さ れた PDF 1.6 以上の文
書)。 デ フ ォ ル ト : requiredmode=full に し ている と きは false、 そ う でなければ true
inmemory
(論理値) true にする と 、 PDI はフ ァ イル全体を メ モ リ 内に読み込んで、 そ こ から それを処理 し ま
す。 こ れはシ ス テムによ っ ては非常な速度向上につなが り ますが (特に z/OS)、 そのかわ り メ モ
リ 使用が増え ます。 false にする と 、 文書の個々の部分が必要に応 じ てそのつどデ ィ ス ク から読み
込まれます。 デ フ ォ ル ト : false
parentlayer
(レ イ ヤーハン ド ル。 その入力文書がレ イ ヤーを含んでいない場合か、 uselayers=false の場合に
は無視 さ れます) その文書から取 り 込まれたすべてのレ イ ヤー定義を、 こ の指定 さ れた レ イ ヤー
の子 と し て挿入 し ます。 も し この指定 さ れた レ イ ヤーが、 出力文書内のど こ かで ア ク テ ィ ブ化 さ
れていた場合には、 それが親 と し て用い られ、 そ う でなかっ た場合には、 それは タ イ ト ル (区切
り ) と し てのみ用い られます。 デ フ ォル ト : 親レ イ ヤーな し
parenttitle
(ハイパーテキス ト 文字列。 その入力文書がレ イ ヤーを含んでいない場合か、 uselayers=false の
場合には無視 さ れます) タ イ ト ルレ イ ヤーを追加 し ます。 タ イ ト ルレ イ ヤーは、 ページの表示/
非表示を直接制御せず、 取 り 込まれた レ イ ヤー定義群に対する ヒ エ ラルキー上の区切 り と し て働
き ます。 デ フ ォ ル ト : 親 タ イ ト ルな し
204
第 10 章 : PDF 取 り 込み (PDI) ・ pCOS 関数 (
表 10.1 PDF_open_pdi_document( ) のオプ シ ョ ン
キー
説明
password
(文字列) 保護 さ れた PDF 文書を開いて取 り 込むために必要な マス タ ーパスワー ド 。
infomode=true に し ている と きは、 文書情報を取得するにはユーザーパスワー ド (空で もかまいま
せん) で充分です。 暗号化 さ れた文書に対 し てパスワー ド を一切与えない と 、 その文書ハン ド ル
は、 その暗号化ス テー タ ス を取得する ためだけに使え ます。 shrug オプ シ ョ ン を用いる と 、 特定の
条件下での保護 さ れた文書か らのページ取 り 込みを可能にする こ と がで き ます (PDFlib チ ュ ー ト
リ アル参照)。
repair
(キーワー ド ) 破損 し た PDF 入力文書の扱い方を指定 し ます。 文書を修復する と 、 通常の処理よ り
も 時間がかか り ますが、 あ る種の破損 PDF の処理が可能にな るかも し れません。 ただ し 文書に
よ っ ては、 修復不能なほど破損 し ている こ と も あ り ます。 と り う るキーワー ド (デ フ ォ ル ト :
auto) :
auto
PDF を開き つつあ る と き に問題を検出 し た と き だけ文書を修復 し ます。
force
文書に問題があ るかないかにかかわ ら ず、 無条件に修復を試みます。
none
文書の修復を一切試みません。 PDF に問題がある と きは関数の呼び出 し は失敗 し ます。
requiredmode
(キーワー ド ) 文書を開 く と き に受け入れる こ と ので き る最小の pcos モー ド (minimum/
restricted/full)。 要求 し ている モー ド よ り も結果の pcos モー ド のほ う が低い と きは、 呼び出 し
は失敗 し ます。 呼び出 し が成功 し た と きは、 結果の pcos モー ド は最低で も こ のオプ シ ョ ン で指定
し ている ものである こ と が保証 さ れます。 ただ し 、 それよ り 高い こ と も あ り ます。 た と えば
requiredmode=minimum に し ていて も、 暗号化 さ れていない文書では結果は full モー ド にな り ま
す。 デ フ ォル ト : full
shrug
(論理値) true の場合、 特定の条件下での保護 さ れた文書からのページ取 り 込みを可能にする シ ュ
ラ ッ グ機能がア ク テ ィ ブにな り ます (PDFlib チ ュ ー ト リ アル参照)。 こ の shrug オプ シ ョ ン を使用
する こ と によ っ てあなたは、 あなたが PDF 文書作成者の諸権利を遵守する こ と を宣明 し ます。 デ
フ ォ ル ト : false
uselayers
(論理値。 入力がレ イヤーを含んでいる場合にのみ意味を持ち ます) true の場合、 取 り 込まれた
ページ群で使用 さ れているすべてのレ イ ヤー定義が取 り 込まれます。 こ のオプ シ ョ ンは、 レ イ
ヤー定義群にのみ影響を及ぼす も のであ り 、 レ イ ヤー定義自体には影響 し ません。 なぜな ら、 PDI
はページ上のすべてのレ イ ヤーの内容をつねに取 り 込むから です。 デ フ ォ ル ト : true
usetags
(論理値。 タ グ付き PDF 入出力に対 し てのみ意味を持ち ます。 PDF/UA-1 モー ド では true にする
必要があ り ます) true の場合、 取 り 込まれた文書の構造 ヒ エ ラ ルキーが、 その構造エ レ メ ン ト タ
グ群を後でそのページ群 と と も に取 り 込める よ う 、 読み込まれます。 デ フ ォ ル ト : true
C int PDF_open_pdi_callback(PDF *p, void *opaque, size_t filesize,
size_t (*readproc)(void *opaque, void *buffer, size_t size),
int (*seekproc)(void *opaque, long offset), const char *optlist)
PDF 文書を、 カ ス タ ムのデー タ 元か ら 開いて、 以後の使用に備え ます。
opaque 入力 PDF 文書に関連づけたい何 ら かのユーザデー タ へのポ イ ン タ 。 こ のポ イ ン
タ は、 コ ールバ ッ ク 関数の 1 番目の引数 と し て渡 さ れ、 ど の よ う にで も 使え ます。 PDI は
こ の不透明ポ イ ン タ を、 いかな る 形で も 使い ません。
filesize
PDF 文書全体のサ イ ズ を、 バ イ ト 単位で指定 し ます。
readproc buffer で指 し 示 さ れ る メ モ リ へ size バ イ ト を コ ピーす る コ ールバ ッ ク 関数。 文
書の終わ り に達 し た と き は、 要求 よ り 少ないバ イ ト を コ ピーする こ と があ り ます。 こ の関
数は、 コ ピー し たバ イ ト 数を返す必要があ り ます。
10.1 文書関数
205
seekproc 文書内のカ レ ン ト の読み取 り 位置を設定する コ ールバ ッ ク 関数。 offset で、 文
書の先頭か ら の位置を指定 し ます (0 が先頭バ イ ト を意味 し ます) 。 こ の関数は、 成功 し
た と き は 0 を返 し 、 そ う でなければ -1 を返す必要があ り ます。
optlist PDF
を 開 く オ プ シ ョ ン 群 を 指定 し た オ プ シ ョ ン リ ス ト 。 PDF_open_pdi_
document( ) のすべてのオプシ ョ ン を使え ます。
戻り値 PDI 文書ハン ド ル。 文書の個々のページの処理や、 文書のプ ロ パテ ィ の取得に使え ます。
戻 り 値 -1 は、 PDF 文書を開 く こ と がで き なか っ た こ と を示 し ます。 任意の数の PDF 文書
を同時に開いてお く こ と がで き ます。 戻 り 値は、 カ レ ン ト の文書ス コ ープを終え る ま で使
え ます。 関数の呼び出 し が失敗 し た と き は、 その失敗の理由を PDF_get_errmsg( ) で取得
す る こ と がで き ます。
詳細
こ れは、 PDF 文書をデ ィ ス ク 上の フ ァ イ ルや メ モ リ 内か ら 与え る のではな く 、 何 ら かの
デー タ 元か ら 任意の大 き さ ご と に PDF デー タ を取 り 出 し たい応用のための、 特殊な イ ン
タ フ ェ ース です。
スコープ 任意。 オブ ジ ェ ク ト ス コ ープでは、 PDI 文書ハン ド ルは PDF 文書か ら 情報を取得す る ため
にだけ使え ます。
バインディング C バ イ ンデ ィ ン グでのみ得 ら れます。
C++ Java C# void close_pdi_document(int doc)
Perl PHP close_pdi_document(int doc)
C void PDF_close_pdi_document(PDF *p, int doc)
開いてい る PDI ページハン ド ルをすべて閉 じ てか ら 、 入力 PDF 文書を閉 じ ます。
doc
詳細
PDF_open_pdi_document( ) で取得 し た有効な PDF 文書ハン ド ル。
こ の関数は、 PDF 取 り 込み文書を閉 じ て、 その文書に関連 し たすべての リ ソ ース を解放 し
ます。 文書のページ を開いていたな ら 、 すべて自動的に閉 じ ら れます。 その文書ハン ド ル
は、 こ の呼び出 し の後は使っ てはいけ ません。 さ ら に取 り 込みたいページがあ る と き は、
その PDF 文書は閉 じ る べき ではあ り ません。 PDF 取 り 込み文書は、 任意の回数開いた り
閉 じ た り で き ますが、 そ う す る と PDF 出力フ ァ イ ルが不必要に大 き く な る こ と があ り ま
す。
スコープ 任意
206
第 10 章 : PDF 取 り 込み (PDI) ・ pCOS 関数 (
10.2 ページ関数
C++ Java C# int open_pdi_page(int doc, int pagenumber, String optlist)
Perl PHP int open_pdi_page(int doc, int pagenumber, string optlist)
C int PDF_open_pdi_page(PDF *p, int doc, int pagenumber, const char* optlist)
ページ を、 以後の PDF_fit_pdi_page( ) での使用のために準備 し ます。
doc
PDF_open_pdi_document( ) で取得 し た有効な PDF 文書ハン ド ル。
pagenumber
開 き たいページの番号。 先頭ページの番号は 1 です。
optlist ページ関連オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照) ・ hypertextencoding (表 2.3 参照)
> 表 10.2 に従っ た PDF ページオプシ ョ ン :
boxexpand ・ checktransgroupprofile ・ clippingarea ・ cloneboxes ・ forcebox ・ pdiusebox ・
usetags
> 共通 XObject オプシ ョ ン (表 9.11 参照) :
associatedfiles・iconname・layer・metadata・pdfvt・reference・transform ・transparencygroup
戻り値 PDI ページハン ド ル。 PDF_fit_pdi_page( ) でページ を配置する ために使え ます。 戻 り 値 -1
(PHP では 0) は、 そのページが開けなか っ た こ と を示 し ます。 関数の呼び出 し が失敗 し
た と き は、 その失敗の原因を PDF_get_errmsg( ) で取得す る こ と がで き ます。 返 さ れたハ
ン ド ル は、 カ レ ン ト の 文 書 ス コ ー プ を 終 え る ま で 使 え ま す。 文 書 を PDF_open_pdi_
document( ) で開 く 際に infomode オプシ ョ ン を true に し ていた と き は、 そのハン ド ルは
PDF_open_pdi_page( ) では使え ません。
エ ラ ー動作は、 errorpolicy オプシ ョ ンで変更す る こ と がで き ます。
詳細
こ の関数は、 取 り 込んだページ を構成す る すべてのデー タ を出力文書へ コ ピー し ますが、
出力上にいかな る 視覚効果を も 与え ません。 取 り 込んだページ を、 生成す る 出力文書の ど
こ かに実際に配置す る には、 PDF_fit_pdi_page( ) を使 う 必要があ り ます。 こ の関数は以下
の場合には失敗 し ます :
> 文書が、カ レ ン ト PDF 文書 と 非互換な PDF バージ ョ ン を使用 し てい る 。PDF 1.6 以下の
PDF バージ ョ ン については、 同一バージ ョ ン以下のすべてのバージ ョ ン が互換です。
PDF 1.7 ・ PDF 1.7ext3 ・ PDF 1.7ext8 ・ PDF 2.0 は、 PDI を用いたページ取 り 込みに関す
る 限 り はすべて互いに互換です。 し か し 、 PDF/A モー ド では入力 PDF バージ ョ ン番号
は無視 さ れます。 なぜな ら PDF/A では PDF バージ ョ ンヘ ッ ダ を無視す る 必要があ る
か ら です。
> 文書が、カ レ ン ト のPDF/A ま たはPDF/X ま たはPDF/VT ま たはPDF/UA出力準拠レベル
と 互換でないか、 ま たは非互換な出力 イ ン テ ン ト を使用 し てい る 。
> 文書が、矛盾する PDF/A ま たは PDF/X 出力 イ ン テ ン ト を含んでい る 場合には、ページ
は一切取 り 込まれません。
PDF 取 り 込みに関連 し た問題 (不正な PDF デー タ な ど) に関す る 情報を よ り 詳 し く 知 り
たい と き は、 PDF_get_errmsg( ) を呼び出す こ と がで き ます。
取 り 込むページの中に参照 XObject があ る と き は、 PDF_open_pdi_page( ) は、 代理 と 参
照の両方を タ ーゲ ッ ト へ複製 し ます。
任意の数のページ を同時に開 く こ と がで き ます。 同 じ ページ を複数回開 く と 、 別々の
ハン ド ルが返 さ れ、 そ し て各ハン ド ルを 1 回ずつ閉 じ る 必要があ り ます。
10.2 ページ関数
207
PDF/A 取 り 込まれ る 文書は、 カ レ ン ト PDF/A 出力準拠レベル (PDFlib チ ュ ー ト リ アル参照) お
よ び出力 イ ン テ ン ト に互換であ る 必要があ り ます。
PDF/X 取 り 込まれ る 文書は、 カ レ ン ト PDF/X 出力準拠レベル (詳 し く は PDFlib チ ュ ー ト リ アル
参照) に互換であ る 必要があ り 、 かつ、 生成 さ れ る 文書 と 同 じ 出力 イ ン テ ン ト を使用 し て
い る 必要があ り ます。
PDF/X-4/5 : 取 り 込 ま れ る ページが、 生成 さ れ る 文書の出力 イ ン テ ン ト プ ロ フ ァ イ ル
と 同一の CMYK ICC プ ロ フ ァ イ ルを使用 し てい る 場合には、 そのページは拒絶 さ れます。
PDF/VT 取 り 込まれ る 文書は、 カ レ ン ト PDF/VT 出力準拠レベル (詳 し く は PDFlib チ ュ ー ト リ ア
ル参照) に互換であ る 必要があ り 、 かつ、 生成 さ れ る 文書 と 同 じ 出力 イ ン テ ン ト を使用 し
てい る 必要があ り ます。 取 り 込まれ る 文書の中の文書部分 メ タ デー タ (DPM) は取 り 込ま
れません。 PDF_begin_document( ) で usestransparency=false オプシ ョ ンが指定 さ れてい る
に も かかわ ら ず、 取 り 込まれ る ページが透過を含んでい る 場合には、 こ の呼び出 し は失敗
し ます。
PDF/UA 取 り 込まれ る 文書は PDF/UA に準拠 し てい る 必要があ り ます。 取 り 込まれ る 文書の ロ ー
ルマ ッ プは、 PDF_begin_document( ) の rolemap オプシ ョ ンに よ っ て与え ら れたマ ッ ピ ン
グに互換であ る 必要があ り ます (詳 し く は PDFlib チ ュ ー ト リ アル参照)。 こ れはつま り 、
カ ス タ ム エ レ メ ン ト 種別群が、 こ の rolemap オプシ ョ ン と 、 取 り 込まれ る 文書の ロ ール
マ ッ プ と で、 異な る 標準種別へマ ッ プ さ れていてはいけない と い う こ と を意味 し ます。
取 り 込ま れ る ページの見出 し 構造は、 生成 さ れ る 文書の構造種別に互換であ る 必要が
あ り ます。 すなわち、 structuretype=weak な ら ば H1 ・ H2 な ど のみ (H は不可) がページ
上で使用 さ れてい る 必要があ り ます し 、 structuretype=strong な ら ば H のみ (H1 ・ H2 な ど
は不可) が、 取 り 込まれ る ページ上で使用 さ れてい る 必要があ り ます。 番号付 き と 番号な
し の両方の見出 し を持っ たページは拒否 さ れます。
スコープ オブ ジ ェ ク ト 以外任意
表 10.2 PDF_open_pdi_page( ) のオプ シ ョ ン
キー
説明
boxexpand
(float または float4 個の リ ス ト ) pdiusebox オプ シ ョ ン で選んだページ枠を、 4 辺すべて を同 じ 値
だけ (値 1 個を与えた場合)、 または左 / 右 / 下 / 上辺を個別に (値 4 個を与えた場合) 拡張 し ま
す。 負の値でページサイ ズを小 さ く する こ と も で き ます。 こ のオプ シ ョ ン を利用すれば、 取 り 込
んだページのすべてのページ枠の外に位置する内容を配置 し た り 、 余白を加えた り する こ と がで
き ます。 デ フ ォ ル ト : 0
checktransgroupprofile
(論理値。 PDF/A ・ PDF/X に対 し てのみ意味を持ち ます) true の場合、 かつ取 り 込まれたページが
透過グループ を含んでいる場合には、 その色空間が、 生成 さ れる出力文書 と の整合性 と 互換性に
ついてチ ェ ッ ク さ れます。 整合 し ない入力文書 と 、 色空間の衝突は、 準拠 し ない PDF/X または
PDF/A 出力を生成するおそれがあ り ますので、 これによ っ てそれを防止 し ます。 このオプ シ ョ ン
を false に設定する と 、 メ モ リ 必要量が低減 さ れますが、 こ の設定は、 取 り 込まれるページが、
準拠する透過グループ (も し あれば) を内容 と し ている こ と がわか っ ている場合にのみ用いるべ
き です。 デ フ ォ ル ト : true
208
第 10 章 : PDF 取 り 込み (PDI) ・ pCOS 関数 (
表 10.2 PDF_open_pdi_page( ) のオプ シ ョ ン
キー
説明
clippingarea
(キーワー ド ) 取 り 込んだページのページ枠群の う ちのどれを切 り 抜き に用いるかを指定 し ます。
指定 し た領域の外側の内容は、 こ の取 り 込んだページ を新 し いページ上に配置 し た後、 見え ませ
ん。 使え るキーワー ド (デ フ ォル ト : pdiusebox) :
art
ArtBox が存在する な ら それを、 ないな ら CropBox を用います
bleed
BleedBox が存在する な ら それを、 ないな ら CropBox を用います
crop
CropBox が存在する な ら それを、 ないな ら MediaBox を用います
media
MediaBox を用います ( こ れは必ず存在 し ます)
pdiusebox pdiusebox オプ シ ョ ン で指定 し た枠を用います
trim
TrimBox が存在する な ら それを、 ないな ら CropBox を用います
cloneboxes
(論理値。 boxexpand ・ forcebox ・ pdiusebox のいずれかを与えた と きは不可。 PDF_fit_pdi_page( ) の
cloneboxes オプ シ ョ ン と 整合 さ せる必要があ り ます) にする と 、 ページは、 PDF_fit_pdi_page( ) の
cloneboxes オプ シ ョ ンによ る枠複製のために用意 さ れます。 デ フ ォ ル ト : false
forcebox
(長方形) ページ枠を強制的に、 指定 し た値に し ます。 こ のオプ シ ョ ンは pdiusebox ・ boxexpand
オプ シ ョ ン を オーバラ イ ド し ます。 こ れを利用すれば、 取 り 込んだページのすべてのページ枠の
外に位置する内容を配置する こ と がで き ます。 こ の値は、 取 り 込んだページが /Rotate キーを含
んでいる場合には、 注意深 く 選ぶ必要があ り ます。 boxexpand オプ シ ョ ンのほ う が、 /Rotate キー
の有無にかかわ ら ず う ま く 働き ますので、 望ま し いで し ょ う 。 デ フ ォ ル ト : pdiusebox オプ シ ョ ン
で選ばれた枠
ignorepdfversion
(論理値) true の場合、 入力 PDF 文書の PDF バージ ョ ン番号は無視 さ れます。 すなわち、 カ レ ン
ト PDF 出力文書よ り も 高い PDF バージ ョ ン を持 っ た文書から のページ を取 り 込める よ う にな り ま
す。 よ り 高い PDF バージ ョ ン を持ち なが ら も PDF 1.7 に完全準拠 し ている PDF 文書に対 し て こ れ
は有用で し ょ う 。 取 り 込むページが PDF 出力互換レ ベルを違反 し ていないよ う にするのはユー
ザー側の役割です。 デ フ ォル ト : 一般に false、 ただ し PDF/A ・ PDF/X モー ド では true
pdiusebox
(キーワー ド 。 cloneboxes を与えた と きは不可) 取 り 込んだページの寸法を決定する ためにどの枠
寸法を用いるかを指定 し ます。 こ の枠寸法は、 PDF_fit_pdi_page( ) での拡縮操作のために用い られ
ます。 こ の枠は、 ページの見え る内容も、 clippingarea オプ シ ョ ン で変更 さ れない限 り 、 決定 し
ます。 デ フ ォル ト : crop。
usetags
art
ArtBox があればそれを、 なければ CropBox を用います
bleed
BleedBox があればそれを、 なければ CropBox を用います
crop
CropBox があればそれを、 なければ MediaBox を用います
media
MediaBox を用います ( こ れは必ず存在 し ます)
trim
TrimBox があればそれを、 なければ CropBox を用います
(論理値。 タ グ付き PDF 入力および出力に対 し て、 かつ、 文書が usetags=true を用いて開かれて
いる場合にのみ意味を持ち ます) true の場合、 取 り 込まれるページの構造 タ グ群が、 生成 さ れる
出力文書の構造 ヒ エ ラ ルキーへ複製 さ れます。 こ の場合、 PDF_fit_pdi_page( ) はページス コ ープ内
でのみ呼び出す こ と がで き ます。 デ フ ォ ル ト : true
C++ Java C# void close_pdi_page(int page)
Perl PHP close_pdi_page(int page)
C void PDF_close_pdi_page(PDF *p, int page)
ページハン ド ルを閉 じ て、 ページ関連の リ ソ ース をすべて解放 し ます。
page PDF_open_pdi_page( ) で取得 し た有効な PDF ページハン ド ル (ページ番号ではあ
り ません!)。
10.2 ページ関数
209
詳細
こ の関数は、 page で指定す る ページハン ド ルに結びついたページ を閉 じ て、 関連す る リ
ソ ース をすべて解放 し ます。 こ の呼び出 し の後に page を使っ てはいけ ません。
スコープ オブ ジ ェ ク ト 以外任意
C++ Java C# void fit_pdi_page(int page, double x, double y, String optlist)
Perl PHP fit_pdi_page(int page, float x, float y, string optlist)
C void PDF_fit_pdi_page(PDF *p, int page, double x, double y, const char *optlist)
取 り 込んだ PDF ページ を、 ページ上に、 さ ま ざ ま なオプシ ョ ンに従っ て配置 し ます。
page PDF_open_pdi_page( ) で取得 し た有効な PDF ページハン ド ル (ページ番号ではあ
り ません!)。 文書を開 く 際に、 infomode オプシ ョ ン を false に し てお く 必要があ り ます。
ページハン ド ルは閉 じ て あ っ てはいけ ません。
x ・ y ページ を さ ま ざ ま なオプシ ョ ンに従っ て置き たい参照点の座標を、ユーザー座標系
で指定 し ます。
optlist ページオプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト :
> 表 6.1 に従っ たはめ込みオプシ ョ ン群 :
blind ・ boxsize ・ fitmethod ・ matchbox ・ orientate ・ position ・ rotate ・ scale ・ showborder
> 表 9.3 に従っ たページ処理のためのオプシ ョ ン群 : adjustpage ・ gstate
> 表 10.3 に従っ た cloneboxes オプシ ョ ン。
> 表 14.5 に従っ た、 短縮構造エ レ メ ン ト タ グ付けのためのオプシ ョ ン (ページ ス コ ープ
でのみ可) : tag
詳細
こ の関数は PDF_fit_image( ) に似てい ますが、 取 り 込み PDF ページに対 し て働 く 点が違い
ます。 取 り 込んだページの中に ExtGState オブジ ェ ク ト があ る と き は、 出力品質を向上 さ
せ る ために、 PDF_begin/end_page_ext( ) に以下のオプシ ョ ン を付け る こ と を推奨 し ます :
transparencygroup={colorspace=DeviceRGB}。
タ グ 付 き ペ ー ジ (す な わ ち、 タ グ 付 き PDF が 作成 さ れ て、 か つ、 そ の ペー ジ が
usetags=true を用いて タ グ付 き PDF か ら 取 り 込まれた)を複数回配置す る こ と はで き ませ
ん。
タ グ付 き PDF モー ド では、 PDF_fit_pdi_page( ) を呼び出す前に、 PDF_fit_pdi_page( ) が
成功す る か ど う か を チ ェ ッ ク す る (そ し て失敗 し て例外が発生す る こ と を避け る ) ため
に、 PDF_info_pdi_page( ) で fittingpossible キーワー ド を用い る こ と を推奨 し ます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ 。 ただ し 、 タ グ付 き PDF 文書内のページが
usetags=true で読み込まれてい る 場合には、 こ の関数はページ ス コ ープ内でのみ呼び出 し
可能です。
C++ Java C# double info_pdi_page(int page, String keyword, String optlist)
Perl PHP float info_pdi_page(int page, string keyword, string optlist)
C double PDF_info_pdi_page(PDF *p, int page, const char *keyword, const char *optlist)
PDI ページに対す る 組版計算を実行 し 、 結果の メ ト リ ッ ク を取得 し ます。
page
PDF_open_pdi_page( ) で取得 し た有効なページハン ド ル。
keyword
210
求め る 情報を指定 し た キー ワー ド :
第 10 章 : PDF 取 り 込み (PDI) ・ pCOS 関数 (
表 10.3 PDF_fit_pdi_page( ) の追加オプ シ ョ ン
キー
説明
cloneboxes
(論理値。 PDF_begin_page_ext( ) で topdown オプ シ ョ ン を与えている と きは不可。 PDF_open_pdi_
page( ) の cloneboxes オプ シ ョ ン と 整合 さ せる必要があ り ます。 ページ ス コ ープ内のみ)。
こ のオプ シ ョ ン を true に設定する と 、 以下の結果にな り ます (デ フ ォル ト : false) :
> 取 り 込んだページの中に存在する Rotate ・ MediaBox ・ TrimBox ・ ArtBox ・ BleedBox ・ CropBox 項目
がすべて、 カ レ ン ト 出力ページへ複製 さ れます。
> ページ内容が、 入力ページが転写 さ れる よ う に配置 さ れます。 ユーザーが、 配置 さ れるページの
位置や寸法を変え る こ と はで き ません。 よ っ て、 引数 x ・ y と 以下オプ シ ョ ンは無視 さ れます :
adjustpage ・ boxsize ・ fitmethod ・ orientate ・ position ・ rotate ・ scale。 入力ページの転写
は、 PDF_fit_pdi_page( ) の呼び出 し の際にデ フ ォ ル ト 座標系が有効な場合にのみ可能です。
> cloneboxes オプ シ ョ ンによ っ て作成 さ れるページ枠が、 PDF_begin_page_ext( ) の artbox ・
bleedbox ・ cropbox ・ trimbox ・ mediabox ・ rotate オプ シ ョ ン と width ・ height 引数を オーバラ
イ ド し ます。
> 表 6.3 に従っ た、 オブジ ェ ク ト はめ込みの結果を ク エ リ す る ためのキーワ ー ド :
boundingbox ・ fitscalex ・ fitscaley ・ height ・ objectheight ・ objectwidth ・ width ・ x1 ・ y1 ・
x2 ・ y2 ・ x3 ・ y3 ・ x4 ・ y4
> 表 10.4 に従っ たページ関連キー ワー ド :
mirroringx ・ mirroringy ・ pageheight, pagewidth ・ rotate ・ xid
> 表 10.4 に従っ た タ グ付 き PDF 関連キーワ ー ド :
fittingpossible ・ lang ・ topleveltag ・ topleveltagcount
optlist 拡縮 と 配置の詳細を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> 表 6.1 に従っ たはめ込みオプシ ョ ン群 (PDF ページ を、 PDF_open_pdi_page( ) の
cloneboxes オプシ ョ ンで開いていた と き には、 こ れ ら のオプシ ョ ンは無視 さ れます) :
boxsize ・ fitmethod ・ matchbox ・ orientate ・ position ・ rotate ・ scale
> 表 9.3 に従っ たページ処理のためのオプシ ョ ン群は意味を持ち ません。ただ し それ ら を
与え る こ と はで き ますが、 PDF_fit_pdi_page( ) と PDF_info_pdi_page( ) に対 し て統一的
なオプシ ョ ン リ ス ト を実現す る ために無視 さ れます : adjustpage ・ gstate
> 表 14.5 に従っ た、 短縮構造エ レ メ ン ト タ グ付けのためのオプシ ョ ン : tag
> ページの最上位レベル構造エ レ メ ン ト 群の う ちの 1 つか ら 何 ら かの情報を取得す る た
めにそれを選択す る ためのオプシ ョ ン : index
戻り値 keyword に よ っ て求め ら れた通 り の何 ら かのページ特性の値。 求め ら れた特性がそのペー
ジについて得 ら れない と き には、 こ の関数は 0 を返 し ます。 オブジ ェ ク ト ハン ド ルが求め
ら れてい る 場合には (例 : clippingpath) 、 こ の関数はそのオブジ ェ ク ト へのハン ド ルを、
あ る いはそのオブジ ェ ク ト が得 ら れない と き には -1 (PHP では 0) を返 し ます。 求め ら れ
た キー ワー ド がテ キ ス ト を生み出す場合には、 文字列番号が返 さ れますので、 それに照応
す る 文字列を、 PDF_get_string( ) を用いて取得す る 必要があ り ます。
詳細
こ の関数は、指定 し たオプシ ョ ン群に従っ て取 り 込みページ を配置す る ために必要なすべ
ての計算を実行 し ますが、 ページ上には実際の出力を一切生成 し ません。 ページ を配置す
る ための参照点は {0 0} であ る と 見な さ れます。 PDF_open_pdi_page( ) の cloneboxes オプ
シ ョ ン を与え てい る と き は、 ページは元のページ と 同 じ 位置に (ページ枠に対 し て相対的
に) 配置 さ れます。
10.2 ページ関数
211
PDF/UA fittingpossible に対す る チ ェ ッ ク が、 非 PDF/UA モー ド よ り も 厳格です。
スコープ オブ ジ ェ ク ト 以外任意
表 10.4 PDF_info_pdi_page( ) のキーワー ド
キーワー ド
説明
fittingpossible
( タ グ付き PDF 出力の場合のみ意味を持ち ます) そのページ を、 以下のいずれかの理由に
よ り 配置で き ない (すなわち PDF_fit_pdi_page( ) が例外を発生 さ せる であ ろ う ) 場合には 0 :
> そのページの最上位レ ベル タ グ群のいずれかが、 構造エ レ メ ン ト 群に対する ネス ト 化規
則群によ っ て、 カ レ ン ト で ア ク テ ィ ブ な タ グの下では許容 さ れない。
> そのページは、 タ グ解除 さ れているか、 構造エ レ メ ン ト を含んでお ら ず、 かつ、 カ レ ン
ト でア ク テ ィ ブ な タ グの子 と し て直接 コ ン テ ン ツが許容 さ れない。
> そのページはすでに配置 さ れている。
> 弱い文書構造を持 っ た PDF/UA-1 : カ レ ン ト の構造エ レ メ ン ト と その親群 と 、 取 り 込まれ
る構造下位 ヒ エ ラ ルキー と の間に、 見出 し レ ベル番号のギ ャ ッ プがあ る。
そのページがカ レ ン ト の コ ン テキス ト に配置で き る場合には値 1 が返 さ れます。 PDF_fit_
pdi_page( ) の tag オプ シ ョ ン を与え る こ と も で き、 こ れは考慮に入れ られます。 こ の tag オ
プ シ ョ ンの tagname サブオプ シ ョ ンのみが評価 さ れます。 他のサブオプ シ ョ ン を与え るべ
き ではあ り ません。
こ の結果は、 カ レ ン ト の コ ン テキス ト に対 し てのみ有効な ものですので、 このキーワー ド
は、 ページ を配置 し よ う と 試みる直前に使用するべき です。
lang
取 り 込まれるページの最上位レ ベル構造エ レ メ ン ト 群のいずれかの Lang 属性に対する文字
列番号、 あ るいは Lang 属性が全 く 決定で き ない場合には -1。 最上位レ ベルエ レ メ ン ト が
複数あ る場合には、 index オプ シ ョ ン を用いて 1 個を選ぶ こ と がで き ます。
mirroringx ・
mirroringy
与えたオプ シ ョ ン群に従 っ たページの横反転 ・ 縦反転 (1 か -1 かで表 さ れます)
pageheight,
pagewidth
元のページの高 さ と 幅をポ イ ン ト 単位で表 し た もの
rotate
cloneboxes=true の と き : 取 り 込んだページの回転角を度単位で表 し た もの、 すなわち、
そのページの Rotate キの値。 と り う る値は 0 ・ 90 ・ 180 ・ 270。
cloneboxes=false の と き : つねに 0
topleveltag
取 り 込まれるページが、 usetags=true を用いて開かれてお り 、 かつ、 構造エ レ メ ン ト に紐
付け られたマー ク 付き コ ン テ ン ツ を含んでいる場合には、 こ のページの最上位構造エ レ メ
ン ト の う ちの 1 つの名前に対する文字列番号、 そ う でないな ら -1 (例 : Artifact を表す
ページに対 し て)。 最上位エ レ メ ン ト が複数ある場合には、 index オプ シ ョ ン を用いて 1 つ
を選ぶこ と がで き ます。 その タ グが、 取 り 込まれる文書のロールマ ッ プ内で ロールマ ッ プ
さ れている カ ス タ ムエ レ メ ン ト である場合には、 そのカ ス タ ムエ レ メ ン ト 名ではな く 、 そ
れに照応する標準エ レ メ ン ト 名が報告 さ れます。
topleveltagcount
取 り 込まれるページの構造 ヒ エ ラ ルキーの最上位レ ベルにある構造エ レ メ ン ト の数。
lang ・ topleveltag キーワー ド を用いて、 こ れらのエ レ メ ン ト に関する情報を、 index オプ
シ ョ ン を用いて 1 つ選んで、 取得する こ と がで き ます。 そのページが タ グ解除 さ れている
ために、 ま たは構造エ レ メ ン ト に照応する マー ク付き コ ン テ ン ツ を全 く 含んでいないため
に、 構造エ レ メ ン ト が全 く 取 り 込まれない場合には、 0 が返 さ れます。
xid
212
(PDF/VT のみ) そのページの GTS_XID エ ン ト リ に対する文字列番号、 あ るいは GTS_XID 値
が何 も割 り 当て ら れていない場合には -1。 こ の GTS_XID 文字列は、 DPM に対する CIP4/
Summary/Content/Referenced メ タ デー タ プ ロパテ ィ 内で使用する こ と がで き ます。
第 10 章 : PDF 取 り 込み (PDI) ・ pCOS 関数 (
Table 10.5 PDF_info_pdi_page( ) のオプ シ ョ ン
オプ シ ョ ン
説明
index
(整数。 lang ・ topleveltag キーワー ド に対 し てのみ意味を持ち ます)
そのページの最上位構造エ レ メ ン ト 群の う ち、 属性が取得 さ れる も のを 1 つ選びます。 こ
の値は範囲 0 ~ (toplevelcount-1) 内でなければな り ません。 デ フ ォル ト : 0
10.2 ページ関数
213
10.3 その他の PDI 処理
C++ Java C# int process_pdi(int doc, int page, String optlist)
Perl PHP int process_pdi(int doc, int page, string optlist)
C int PDF_process_pdi(PDF *p, int doc, int page, const char* optlist)
取 り 込んだ PDF 文書の、 あ る 種の要素を処理 し ます。
doc
PDF_open_pdi_document( ) で取得 し た有効な PDF 文書ハン ド ル。
page optlist でページハン ド ルを必要 と し てい る と き は (表 10.6 参照)、 page は、 PDF_
open_pdi_page( ) で取得 し た有効な PDF ページハン ド ルにす る 必要があ り ます (ページ番
号ではあ り ません!)。 ページハン ド ルは閉 じ て あ っ てはいけ ません。 optlist でページハ
ン ド ルを必要 と し ていない と き は、 page は -1 (PHP では 0) にす る 必要があ り ます。
optlist PDI 処理オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> 表 10.6 に従っ た PDI 処理オプシ ョ ン群 : action ・ block
戻り値 関数が成功 し た と き は値 1、 関数が失敗 し た と き はエ ラ ーコ ー ド -1 (PHP では 0) 。
errorpolicy=exception
に す る と 、 こ の 関 数 は エ ラ ー時 に 例 外 を 発 生 さ せ ま す。
action=copyallblocks に対 し て入力ページ上でブ ロ ッ ク が全 く 見つか ら なかっ た と き には、
こ の関数は 1 を返 し ます。
PDF/A 出力 イ ン テ ン ト は、 こ の関数で copyoutputintent オプシ ョ ン を指定す る か、 ま たは PDF_
load_iccprofile( ) を使っ て設定す る こ と がで き ます。 ただ し 、 デバ イ ス独立な色 し か文書
で使っ ていない と き は、 出力 イ ン テ ン ト は必要あ り ません。
PDF/X 出力 イ ン テ ン ト は、 こ の関数で copyoutputintent オプシ ョ ン を指定す る か、 ま たは PDF_
load_iccprofile( ) を使っ て設定す る 必要があ り ます。
スコープ action=copyoutputintent の場合は文書、
action=copyallblocks ・ action=copyblock の場合はページ
214
第 10 章 : PDF 取 り 込み (PDI) ・ pCOS 関数 (
表 10.6 PDF_process_pdi( ) のオプ シ ョ ン
キー
説明
action
(キーワー ド 。 必須) PDF 処理の種類を指定 し ます :
copyoutputintent
(出力文書が PDF/X に も PDF/A に も準拠 し ていない場合には何も し ません) 取 り 込ん
だ文書の PDF/X か PDF/A の出力イ ン テ ン ト ICC プ ロ フ ァ イルを、 出力文書へ複製 し ま
す。 出力イ ン テ ン ト を複製 し よ う と する 2 回目およびそれ以降の試みは無視 さ れます。
文書に複数の出力イ ン テ ン ト が入っ ている と きは、 最初のものが使われます。 標準出力
イ ン テ ン ト (ICC プ ロ フ ァ イルが埋め込まれていない) を こ の方式で複製する こ と はで
き ません。
入力文書 と 出力文書が PDF/X-4p/5pg に準拠 し ている と きは、 外部出力イ ン テ ン ト ICC
プ ロ フ ァ イルへの参照が複製 さ れます。 こ のオプ シ ョ ン action=copyoutputintent は、
入力が PDF/X-4p/5pg に準拠 し ているのに出力が し ていない と き には許 さ れません。
copyallblocks
(PPS でのみ利用可能) 入力文書のページか ら すべての PDFlib ブ ロ ッ ク を カ レ ン ト 出力
ページへ block オプ シ ョ ンに従 っ て複製 し ます。
copyblock (PPS でのみ利用可能)入力文書のページか ら PDFlib ブ ロ ッ ク 1 個を カ レ ン ト 出力ページ
へ block オプ シ ョ ンに従 っ て複製 し ます。
block
(オプ シ ョ ン リ ス ト 。 action=copyallblocks ・ action=copyblock では必須) ブ ロ ッ ク 複製処理の詳
細を指定 し ます。 以下のサブオプ シ ョ ン を使え ます :
blockname
(名前文字列。 action=copyblock でのみ、 かつその場合には必須) そのブ ロ ッ ク の名前
outputblockname
(名前文字列。 action=copyblock でのみ) そのブ ロ ッ ク が出力ページ上で格納 さ れる名
前。 デ フ ォ ル ト : blockname オプ シ ョ ンの値
pagenumber
(整数。 必須) 入力文書内の、 そのブ ロ ッ クが位置 し ているページの、 1 か ら始ま る番
号。
10.3 その他の PDI 処理
215
10.4 pCOS 関数
pCOS 関数はすべて、 PDF 文書内の目指すオブジ ェ ク ト を指 し 示すパ ス に よ っ て動作 し ま
す。 pCOS パス について詳 し く は pCOS パ ス リ フ ァ レ ン ス で説明 し てい ます。
ク ッ ク ブ ッ ク PDFlib+PDI または PPS の中で pCOS を利用する ための完全な コ ー ド サン プルがク ッ ク ブ ッ
ク の pdf_import/starter_pcos ト ピ ッ ク にあ り ます。pCOS ク ッ ク ブ ッ ク には pCOS プ ログ
ラ ミ ングサン プルが多数あ り ます。
注 評価モー ド では、pCOS は最大 1 MB または 10 ページの入力文書を受け付けます。ただ し 、
次の要素はそれよ り 大き い文書か ら も 評価モー ド で取得で き ます : ページ数 ・ ページ寸
法 ・ ブ ロ ッ ク 詳細 ・ すべての汎用擬似オブ ジ ェ ク ト 。
C++ Java C# double pcos_get_number(int doc, string path)
Perl PHP double pcos_get_number(long doc, string path)
C double PDF_pcos_get_number(PDF *p, int doc, const char *path, ...)
数値ま たは論理値型の pCOS パ ス の値を得ます。
doc
path
PDF_open_pdi_document( ) で取得 し た有効な文書ハン ド ル。
数値ま たは論理値オブジ ェ ク ト への完全な pCOS パス。
追加引数 (C 言語バ イ ンデ ィ ン グのみ) key 引数にプ レース ホルダ を入れてい る と き は
(%s な ら 文字列、 %d な ら 整数。 %% を使 う と 1 個のパーセ ン ト 記号)、 それに対応 し て可
変の数の追加引数を与え る こ と がで き ます。 こ れ ら の引数を使えば、 可変の数値や文字列
の値を入れて複雑なパ ス を明示的に構築す る 手間が省け ま す。 プ レ ー ス ホルダの数 と 型
を、 与え る 追加引数 と 確かに一致 さ せ る のは、 ク ラ イ ア ン ト 側の役割です。
戻り値 pCOS パス で同定 さ れたオブジ ェ ク ト の数値。 論理値の場合は、 true な ら 1、 そ う でなけ
れば 0 が返 さ れます。
スコープ 任意
C++ Java C# string pcos_get_string(int doc, string path)
Perl PHP string pcos_get_string(long doc, string path)
C const char *PDF_pcos_get_string(PDF *p, int doc, const char *path, ...)
名前ま たは数値ま たは文字列ま たは論理値型の pCOS パ ス の値を得ます。
doc
path
PDF_open_pdi_document( ) で取得 し た有効な文書ハン ド ル。
名前ま たは文字列ま たは論理値オブジ ェ ク ト への完全な pCOS パス。
追加引数 (C 言語バ イ ンデ ィ ン グのみ) key 引数にプ レース ホルダ を入れてい る と き は
(%s な ら 文字列、 %d な ら 整数。 %% を使 う と 1 個のパーセ ン ト 記号)、 それに対応 し て可
変の数の追加引数を与え る こ と がで き ます。 こ れ ら の引数を使えば、 可変の数値や文字列
の値を入れて複雑なパ ス を明示的に構築す る 手間が省け ま す。 プ レ ー ス ホルダの数 と 型
を、 与え る 追加引数 と 確かに一致 さ せ る のは、 ク ラ イ ア ン ト 側の役割です。
戻り値 pCOS パス で同定 さ れたオブジ ェ ク ト の値の文字列。論理値の場合は、文字列 true か false
が返 さ れます。
216
第 10 章 : PDF 取 り 込み (PDI) ・ pCOS 関数 (
詳細
こ の関数は、 pCOS が完全モー ド で動作 し ていない と き 、 オブジ ェ ク ト が文字列型だ と 例
外を発生 さ せます。 ただ し オブジ ェ ク ト に よ っ ては、 特定の条件下において限定モー ド で
も 取得で き る も のがあ り ます。 詳 し く は pCOS パ ス リ フ ァ レ ン ス を参照 し て く だ さ い。
こ の関数は、 PDF 文書か ら 取得す る 文字列がテ キ ス ト 文字列であ る こ と を前提に し て
い ます。 バ イ ナ リ デー タ の入っ た文字列オブジ ェ ク ト は、 デー タ を一切変更 し ない PDF_
pcos_get_stream( ) で取得す る 必要があ り ます。
スコープ 任意
バインディング C 言語バ イ ンデ ィ ン グ:文字列は BOM な し の UTF-8 形式(zSeries・i5/iSeries では EBCDICUTF-8) で返 さ れます。 返 さ れ る 文字列は、 最大 10 項目の円環バ ッ フ ァ 内に格納 さ れま
す。 10 個を超え る 文字列が変換 さ れ る と き は、 バ ッ フ ァ は再利用 さ れ ますので、 ク ラ イ
ア ン ト 側では、 も し 10 個を超え る 文字列に並列にア ク セ ス し たい と き には、 文字列を複
製す る 必要があ り ます。 た と えば、 1 つの printf( ) 文に対す る 引数群 と し て こ の関数への
呼び出 し を 10 個ま でな ら 使 う こ と がで き ます。 なぜな ら 、 同時に使われ る 文字列が 10 個
以下な ら ば、 返 さ れ る 文字列群は独立であ る こ と が保証 さ れてい る か ら です。
C++ 言語バ イ ンデ ィ ン グ:文字列は、C++ ラ ッ パのデフ ォ ル ト wstring 構成におけ る wstring
と し て返 さ れ ま す。 zSeries ・ i5/iSeries の string 互換モー ド では、 結果は BOM な し の
EBCDIC-UTF-8 で返 さ れます。
バインディング COM : 結果は UTF-16 形式の Unicode 文字列 と し て与え ら れます。 テ キ ス ト が全 く 得 ら れ
ない と き は空文字列が返 さ れます。
Java ・ .NET ・ Python : 結果は Unicode 文字列 と し て与え ら れます。 テ キ ス ト が全 く 得 ら れ
ない と き は null オブジ ェ ク ト が返 さ れます。
Perl ・ PHP 言語バ イ ンデ ィ ン グ : 結果は UTF-8 文字列 と し て与え ら れます。 テ キ ス ト が全
く 得 ら れない と き は null オブジ ェ ク ト が返 さ れます。
RPG 言語バ イ ンデ ィ ン グ : 結果は EBCDIC-UTF-8 文字列 と し て与え ら れます。
C++ Java C# const unsigned char *pcos_get_stream(int doc, int *length, string optlist, string path)
Perl PHP string pcos_get_stream(long doc, string optlist, string path)
C const unsigned char *PDF_pcos_get_stream(PDF *p, int doc, int *length, const char *optlist,
const char *path, ...)
stream ま たは fstream ま たは文字列型の pCOS パス の内容を得ます。
doc
PDF_open_pdi_document( ) で取得 し た有効な文書ハン ド ル。
length (C ・ C++ 言語バ イ ンデ ィ ン グのみ) 返 さ れ る ス ト リ ームデー タ の長 さ をバ イ ト 単
位で格納 さ せたい変数へのポ イ ン タ 。
optlist
path
表 10.7 に従っ た ス ト リ ーム取得オプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト 。
ス ト リ ーム ま たは文字列オブジ ェ ク ト への完全な pCOS パ ス。
追加引数 (C 言語バ イ ンデ ィ ン グのみ) key 引数にプ レース ホルダ を入れてい る と き は
(%s な ら 文字列、 %d な ら 整数。 %% を使 う と 1 個のパーセ ン ト 記号)、 それに対応 し て可
変の数の追加引数を与え る こ と がで き ます。 こ れ ら の引数を使えば、 可変の数値や文字列
の値を入れて複雑なパ ス を明示的に構築す る 手間が省け ま す。 プ レ ー ス ホルダの数 と 型
を、 与え る 追加引数 と 確かに一致 さ せ る のは、 ク ラ イ ア ン ト 側の役割です。
10.4 pCOS 関数
217
戻り値
ス ト リ ーム ま たは文字列に入っ ていたデー タ を復号 し た も の。 ス ト リ ームか文字列が空の
と き 、 ま たは、 暗号化 さ れていない文書の中の暗号化 さ れてい る 添付の内容が ク エ リ さ れ
てその添付パ ス ワ ー ド が与え ら れていない と き は、返 さ れ る デー タ は空 (C++ では NULL)
にな り ます。
オブジ ェ ク ト が stream 型の と き は、 keepfilter=true でなければ、 すべての フ ィ ル タ が
ス ト リ ームの内容か ら 除去 さ れます (すなわち、 生デー タ 本体が返 さ れます) 。 オブジ ェ
ク ト が fstream ま たは文字列型の と き は、デー タ は PDF フ ァ イ ル内で見つかっ たその ま ま
で返 さ れますが、 ただ し 例外 と し て ASCII85 ・ ASCIIHex フ ィ ル タ は除去 さ れます。
詳細
こ の関数は、 pCOS が完全モー ド で動作 し ていない と き は、 例外を発生 さ せます。 ただ し
例外 と し て、 オブジ ェ ク ト /Root/Metadata は、 nocopy=false か plainmetadata=true に し
ていれば、 限定 pCOS モー ド で も 取得で き ます。 ま た、 path が stream か fstream か文字
列型のオブジ ェ ク ト を指 し 示 し ていない と き も 、 例外が発生 し ます。
こ の関数は、 その名に合わず、 文字列型のオブジ ェ ク ト を取得す る ために も 使え ます。
PDF_pcos_get_string( ) では、 オブ ジ ェ ク ト を テ キ ス ト 文字列 と し て扱い ま すが、 それ と
違っ て こ の関数は、 返 さ れ る デー タ にいかな る 変更 も 加え ません。 バ イ ナ リ 文字列デー タ
は、 PDF 内で使われ る こ と は まれで、 自動的に正 し く 検出す る こ と はで き ません。 ですの
で、 文字列オブジ ェ ク ト をバ イ ナ リ デー タ と テ キ ス ト の ど ち ら と し て取得す る か、 適切な
関数を選ぶのはユーザー側の役割です。
スコープ 任意
バインディング COM : 多 く の ク ラ イ ア ン ト プ ロ グ ラ ム では、 ス ト リ ーム内容を格納す る ために、 バ リ ア
ン ト 型を使い ます。 JavaScript で COM を使 う 場合は、 返 さ れ る バ リ ア ン ト 配列の長 さ を
取得する こ と が許 さ れません ( し か し 他の言語 と COM ではそれは動作 し ます)
C ・ C++ 言語バ イ ンデ ィ ン グ : 返 さ れたデー タ バ ッ フ ァ は、 次に こ の関数を呼び出すま で
使え ます。
Python : 結果は 8 ビ ッ ト 文字列 (Python 3 : bytes) と し て返 さ れます。
注 こ の関数を使 う と 、 PDF から 、 埋め込まれてい る フ ォ ン ト デー タ を取得する こ と がで き ま
す。 ユーザーに注意を喚起 し たいのは、 フ ォ ン ト は各フ ォ ン ト ベン ダーのラ イ セ ン ス契約
に従属 し ているので、各知的所有権者の明示的許諾な し に再利用する こ と はで き ない と い
う こ と です。 お使いの フ ォ ン ト のベン ダーに連絡を と り 、 関連する ラ イ セ ン ス契約を話 し
合 っ て く だ さ い。
表 10.7 PDF_pcos_get_stream( ) のオプ シ ョ ン
オプ シ ョ ン
説明
convert
(キーワー ド 。 非サポー ト のフ ィ ル タ で圧縮 さ れている ス ト リ ームでは無視 さ れます) 文字
列ま たはス ト リ ーム内容が変換 さ れるかど う かを制御 し ます (デ フ ォル ト : none) :
218
none
内容をバイ ナ リ デー タ と し て扱い、 何の変換も 行いません。
unicode
内容を テキス ト デー タ と し て (すなわち、 PDF_pcos_get_string( ) の場合 と 全 く 同
様に) 扱い、 こ れを Unicode に正規化 し ます。 Unicode 非対応言語バイ ンデ ィ ン
グでは、 こ れは、 デー タ が BOM な し の UTF-8 形式へ変換 さ れる こ と を意味 し ま
す。
こ のオプ シ ョ ンは、 PDF 内のまれに し か用い られないデー タ 型 「テキス ト ス ト
リ ーム」 (た と えば、 こ れは JavaScript のために用い ら れる場合があ り ます。 し
か し JavaScript の多数は、 文字列オブ ジ ェ ク ト 内に格納 さ れ、 ス ト リ ームオブ
ジ ェ ク ト には格納 さ れません) のために必要です。
第 10 章 : PDF 取 り 込み (PDI) ・ pCOS 関数 (
表 10.7 PDF_pcos_get_stream( ) のオプ シ ョ ン
オプ シ ョ ン
説明
keepfilter
(論理値。 画像デー タ ス ト リ ームに対 し てのみ推奨。 非サポー ト のフ ィ ル タ で圧縮 さ れてい
る ス ト リ ームでは無視 さ れます) true にする と 、 ス ト リ ームデー タ は、 画像の filterinfo
擬似オブ ジ ェ ク ト 内で指定 さ れている フ ィ ル タ で圧縮 さ れます。 デ フ ォル ト : すべての非
サポー ト フ ィ ル タ では true、 そ う で ないな ら false
10.4 pCOS 関数
219
220
第 10 章 : PDF 取 り 込み (PDI) ・ pCOS 関数 (
11 ブ ロ ッ ク流 し 込み関数 (PPS)
PDFlib Personalization Server (PPS) は、 テキス ト ・ イ メ ージ ・ PDF 型の可変ブ ロ ッ ク を処
理す る ための関数を提供 し ます。 こ れ ら の PDFlib ブ ロ ッ ク は、 取 り 込む PDF ページに入
れてお く 必要があ り ますが、 生成す る 出力には残 り ません。 取 り 込んだページは、 ブ ロ ッ
ク 流 し 込み関数を使 う 前に、 出力ページに PDF_fit_pdi_page( ) で配置 し てお く 必要があ り
ます。 ブ ロ ッ ク 関数は、 ページ上でのブ ロ ッ ク の位置を算出する 際、 取 り 込んだページが
PDF_fit_pdi_page( ) で配置 さ れた時に効いていた拡縮オプシ ョ ン を考慮 し ます。
注 こ の章で解説する ブ ロ ッ ク処理関数は、 PDFlib Personalization Server (PPS) が必要です。
PDF テ ン プ レー ト 内に PDFlib ブ ロ ッ ク を対話的に作成するには、 Adobe Acrobat 用 PDFlib
Block Plugin が必要です。 あるいは、 ブ ロ ッ ク を PPS 自体で作成する こ と も で き ます。
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルが ク ッ ク ブ ッ クの blocks/starter_block ト ピ ッ ク にあ り ます。
11.1 ブ ロ ッ ク 流 し 込み関数の長方形オ プ シ ョ ン
表 11.1 に、 PDF_fill_textblock( ) ・ PDF_image_block( ) ・ PDF_fill_pdfblock( ) ・ PDF_graphics_
block( ) の長方形オプシ ョ ン を挙げます。 各ブ ロ ッ ク 種別 (テ キ ス ト ・ イ メ ージ ・ PDF ブ
ロ ッ ク ) に特有のオプシ ョ ン は次節以降に挙げ ま す。 ほ と ん どすべてのブ ロ ッ ク プ ロ パ
テ ィ は同名のオプシ ョ ンでオーバ ラ イ ド で き ますが、ただ し 以下のプ ロ パテ ィ だけはオプ
シ ョ ンでオーバ ラ イ ド で き ません :
Name・Description・Subtype・Type
表 11.1 PDF_fill_*block( ) 関数の長方形オプ シ ョ ン
キー
説明
Rect
(長方形) ブ ロ ッ ク の座標を ブ ロ ッ ク PDF の座標系で指定 し ます。 ブ ロ ッ ク長方形は refpoint ・
boxsize オプ シ ョ ン で指定で き ます (ユーザー座標系で)。
Status
(キーワー ド ) ブ ロ ッ クがどのよ う に処理 さ れるかを記述 し ます (デ フ ォ ル ト : active) :
active
ブ ロ ッ ク はそのプ ロパテ ィ 群に従っ て完全に処理 さ れます。
ignore
ブ ロ ッ ク は無視 さ れます。
ignoredefault
active と 同様ですが、 ただ し 、 defaulttext/image/pdf プ ロパテ ィ は無視 さ れます。 す
なわち、 内容が与え ら れていなければブ ロ ッ クは空のま まにな り ます。 これは、 ブ ロ ッ
ク がた と え Block Plugin でのプ レ ビ ュ ーのためのデ フ ォ ル ト 内容を持っ ていた と し て も 、
そのブ ロ ッ クのデ フ ォ ル ト 内容がサーバ側で ブ ロ ッ クへの流 し 込みに使われないよ う に
する ために有用で し ょ う 。 また、 こ れを利用すれば、 デ フ ォル ト 内容を表示 さ せずにブ
ロ ッ ク を プ レ ビ ュ ー し たい場合に、 それを ブ ロ ッ クのプ ロパテ ィ から 削除 し な く て も済
みます。
static
可変内容が一切配置 さ れません。 ブ ロ ッ ク のデ フ ォ ル ト テキス ト ・ イ メ ージ ・ PDF 内容
が も し あればそれが用い られます。
background- (色) ブ ロ ッ クの塗 り 色。 こ の色は、 ブ ロ ッ クへの流 し 込みよ り 前に適用 さ れます。 こ れは、 既存
color
のページ内容を隠すのに有用で し ょ う 。 デ フ ォ ル ト : none
bordercolor
(色) ブ ロ ッ クの境界色。 こ の色は、 ブ ロ ッ クへの流 し 込みよ り 前に適用 さ れます。 デ フ ォ ル ト :
none
linewidth
(float。 0 よ り 大き く する必要があ り ます) ブ ロ ッ ク 長方形を描 く のに用いる線の描線幅。
bordercolor を設定 し ている と き にのみ用い ら れます。 デ フ ォル ト : 1
11.1 ブ ロ ッ ク流 し 込み関数の長方形オプ シ ョ ン
221
11.2 テ キス ト 行 ・ テ キス ト フ ロ ー ブ ロ ッ ク
C++ Java C# int fill_textblock(int page, String blockname, String text, String optlist)
Perl PHP int fill_textblock(int page, string blockname, string text, string optlist)
C int PDF_fill_textblock(PDF *p,
int page, const char *blockname, const char *text, int len, const char *optlist)
テ キ ス ト 行ま たはテ キ ス ト フ ロ ーブ ロ ッ ク へ、 そのプ ロ パテ ィ に従っ て、 可変デー タ を流
し 込みます。
page PDFlib ブ ロ ッ ク を入れて あ る ページに対する 有効な PDF ページハン ド ル。 こ れ よ
り 前に、 ブ ロ ッ ク を持っ た入力 PDF ページ を、 PDF_fit_pdi_page( ) で直接、 ま たは PDF_
fit_table( ) で表セル内へ間接的に、 あ る いは PDF_fill_pdfblock( ) で PDF ブ ロ ッ ク の内容 と
し て、 ページ上に配置 し てお く 必要があ り ます。
blockname
(名前文字列) ブ ロ ッ ク の名前。
text (内容文字列) ブ ロ ッ ク へ流 し 込みたいテ キ ス ト 。 空文字列にす る と 、 デフ ォ ル ト
テ キ ス ト (ブ ロ ッ ク のプ ロ パテ ィ で定義 し て あ る ) を使え ます。 textflowhandle オプシ ョ
ン を与え てい る と き は、 その中身が有効なテ キ ス ト フ ロ ーハン ド ルな ら ば、 こ の引数は無
視 さ れます。
len (C 言語バ イ ンデ ィ ン グのみ) text の長 さ (バ イ ト 単位)。 len=0 にす る と null 終了文
字列を与え る 必要があ り ます。
optlist テ キ ス ト ブ ロ ッ ク 流 し 込みオプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト 。 以下のオ
プシ ョ ンが使え ます :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> 表 11.1 に従っ たブ ロ ッ ク 流 し 込み関数のための長方形オプシ ョ ン群 :
Rect ・ Status ・ backgroundcolor ・ bordercolor ・ linewidth
> はめ込みオプシ ョ ン群 (131 ページ 「6.1 オブジ ェ ク ト のはめ込み」 参照)
> テ キ ス ト 行ブ ロ ッ ク 、 すなわち textflow プ ロ パテ ィ ま たはオプシ ョ ンが false :
すべてのテ キ ス ト 行オプシ ョ ン(95 ページ「5.1 テ キ ス ト 行に よ る 一行テ キ ス ト 」参照)。
> テ キ ス ト フ ロ ーブ ロ ッ ク 、 すなわち textflow プ ロ パテ ィ ま たはオプシ ョ ンが true :
PDF_add/create_textflow( ) のすべてのオプシ ョ ン (102 ページ 「5.2 テ キ ス ト フ ロ ーに
よ る 複数行テ キ ス ト 」 参照) と PDF_fit_textflow( ) のすべてのオプシ ョ ン (表 5.12 参照)
> 表 11.2 に従っ たテ キ ス ト ブ ロ ッ ク オプシ ョ ン群 : textflow ・ textflowhandle
> デフ ォ ル ト 内容のためのオプシ ョ ン : defaulttext (PDFlib チ ュ ー ト リ アル参照)
戻り値 指定 し た名前のブ ロ ッ ク がページ上にないか、 ま たはブ ロ ッ ク へ流 し 込めないか (フ ォ ン
ト の問題な ど に よ り )、ま たはブ ロ ッ ク が誤っ た型を持っ てい る か、ま たはブ ロ ッ ク が も っ
と 新 し い PPS バージ ョ ン を必要 と す る と き は -1 (PHP では 0)。 ブ ロ ッ ク の処理が成功 し
た と き は 1。 textflowhandle オプシ ョ ン を与え てい る と き は、 有効なテ キ ス ト フ ロ ーハン
ド ルが返 さ れ る ので、 以後の呼び出 し で使え ます。
PDF 文書が破損 し てい る こ と がわか っ た と き は、 こ の関数は errorpolicy オプシ ョ ンに
従っ て、 例外を発生 さ せ る か、 -1 を返 し ます。
詳細 与え たテ キ ス ト が、 ブ ロ ッ ク のプ ロ パテ ィ に従っ て、 ブ ロ ッ ク の中に組版 さ れます。 text
を 空 に す る と 、 こ の 関 数 は、 ブ ロ ッ ク の デ フ ォ ル ト テ キ ス ト が あ れ ば そ れ を 使 い
222
第 11 章 : ブ ロ ッ ク 流 し 込み関数 (PPS)
(Status=ignoredefault でなければ)、 それ以外の場合は警告を出 さ ずに返 り ます。 こ れは、
塗 り 色や描線色な ど、 他のブ ロ ッ ク プ ロ パテ ィ を活用す る う えで有用です。
フ ォ ン ト 選択 : font オプシ ョ ン を与えてお ら ず、 オプシ ョ ンに基づ く 暗黙的フ ォ ン ト
読み込み も 用い ら れていない と き は、 フ ォ ン ト はブ ロ ッ ク のプ ロ パテ ィ 群に基づいて暗黙
的に読み込ま れます。
フ ォ ン ト に対する エン コ ーデ ィ ン グは、オプシ ョ ン と し てのみ指定す る こ と がで き 、ブ
ロ ッ ク プ ロ パテ ィ と し ては指定で き ませんので、デフ ォ ル ト では以下の よ う に設定 さ れま
す:
> フ ォ ン ト が記号フ ォ ン ト であ り 、 かつ charref=false、 かつ (Unicode 非対応言語につい
てのみ) textformat=auto か bytes な ら ば builtin
> それ以外の場合は unicode。
defaulttext を用い る 場合には、 encoding ・ charref ・ textformat オプシ ョ ン を避け る こ と を
推奨 し ます。
embedding オプシ ョ ンについては特に注意を払 う 必要があ り ます : フ ォ ン ト がブ ロ ッ
ク のプ ロ パテ ィ に基づいて暗黙的に読み込まれた場合には、それは自動的に埋め込まれ る
わけではあ り ません。 フ ォ ン ト を埋め込ませたい と き は、 embedding オプシ ョ ン を指定す
る 必要があ り ます。
テ キ ス ト フ ロ ーブ ロ ッ ク の連結 : テ キ ス ト フ ロ ーがブ ロ ッ ク に収ま り き ら ない と き は、
textflowhandle オプシ ョ ン を使っ て、 複数のブ ロ ッ ク を連結 し 、 同 じ テ キ ス ト フ ロ ーの各
部分を それぞれに入れ る こ と も で き ます。
> 最初の呼び出 し では、 値 -1 (PHP では 0) を与え る 必要があ り ます。 内部的に作成 さ れ
たテ キ ス ト フ ロ ーハン ド ルが PDF_fill_textblock( ) に よ っ て返 さ れ る ので、 ユーザー側
でそれを保管す る 必要があ り ます。
> 次の呼び出 し では、前の段階で返 さ れたテ キ ス ト フ ロ ーハン ド ルを、textflowhandle オ
プシ ョ ンに与え る こ と がで き ます (text 引数で与え る テ キ ス ト は こ の場合無視 さ れ る
ので、 空にす る べき です)。 ブ ロ ッ ク へはテ キ ス ト フ ロ ーの残 り が流 し 込まれます。
> こ の処理を、 他のテ キ ス ト フ ロ ーブ ロ ッ ク について も 繰 り 返す こ と がで き ます。
> 返 さ れたテ キ ス ト フ ロ ーハン ド ルは、PDF_info_textflow( ) に与え て、テ キ ス ト の終了位
置等、 ブ ロ ッ ク 流 し 込みの結果を知 る こ と がで き ます。
こ の処理を、任意の回数繰 り 返す こ と がで き ます。テ キ ス ト フ ロ ーハン ド ルを最後に PDF_
delete_textflow( ) で削除す る のはユーザー側の役割です。
PDF/UA ブ ロ ッ ク 装飾、 すなわち、 backgroundcolor ・ bordercolor ・ linewidth プ ロ パテ ィ に従っ て
作成 さ れ る 罫線 と 背景色は、 自動的に Artifact と し て タ グ付け さ れます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
表 11.2 PDF_fill_textblock( ) の追加オプ シ ョ ン
キー
説明
textflow
(論理値) 一行処理か複数行処理かを制御 し ます。 こ のプ ロパテ ィ を使 う と 、 テキス ト 行ブ ロ ッ ク
と テキス ト フ ローブ ロ ッ ク を切 り 替え る こ と がで き ます :
false
テキス ト は一行にわた り 、 PDF_fit_textline( ) で処理 さ れます。
true
テキス ト は複数行にわた り 、 PDF_fit_textflow( ) で処理 さ れます。
デ フ ォル ト はブ ロ ッ ク の種別に依存 し ます : テキス ト フ ローブ ロ ッ クの場合は true、 テキス ト 行
ブ ロ ッ ク の場合は false
11.2 テキス ト 行 ・ テキス ト フ ローブ ロ ッ ク
223
表 11.2 PDF_fill_textblock( ) の追加オプ シ ョ ン
キー
説明
textflowhandle
(テキス ト フ ローハン ド ル。 PDF_fill_textblock( ) で textflow=true の場合のみ) このオプ シ ョ ン を利
用する と 、 テキス ト フ ローブ ロ ッ ク を連結する こ と がで き ます。 連結ブ ロ ッ ク 群の最初のブ ロ ッ
ク に対 し ては値 -1 (PHP では 0) を与え る必要があ り ます。 こ の関数に よ っ て返 さ れた値を、 そ
れ以後の連結 さ れる他のブ ロ ッ ク 群に対する呼び出 し で テキス ト フ ローハン ド ル と し て与え る こ
と がで き ます。 このオプ シ ョ ンは fitmethod のデ フ ォル ト を clip に変更 し ます。 なお、 ブ ロ ッ ク
のテキス ト 作成 ・ テキス ト 組版 ・ 書式プ ロパテ ィ グループのすべてのプ ロパテ ィ は、
textflowhandle が与え られている場合には無視 さ れます。 なぜな ら 、 テキス ト フ ローを作成する
ために用い ら れた、 それら に照応する値群が適用 さ れるから です。
224
第 11 章 : ブ ロ ッ ク 流 し 込み関数 (PPS)
11.3 イ メ ージ ブ ロ ッ ク
C++ Java C# int fill_imageblock(int page, String blockname, int image, String optlist)
Perl PHP int fill_imageblock(int page, string blockname, int image, string optlist)
C int PDF_fill_imageblock(PDF *p,
int page, const char *blockname, int image, const char *optlist)
イ メ ージブ ロ ッ ク へ、 そのプ ロ パテ ィ に従っ て、 可変デー タ を流 し 込みます。
page PDFlib ブ ロ ッ ク を入れて あ る ページに対す る 有効な PDF ページハン ド ル。 こ れ よ
り 前に、 ブ ロ ッ ク を持っ た入力 PDF ページ を、 PDF_fit_pdi_page( ) で直接、 ま たは PDF_
fit_table( ) で表セル内へ間接的に、 あ る いは PDF_fill_pdfblock( ) で PDF ブ ロ ッ ク の内容 と
し て、 ページ上に配置 し てお く 必要があ り ます。
blockname
(名前文字列) ブ ロ ッ ク の名前。
image ブ ロ ッ ク へ流 し 込みたい画像に対す る 有効な画像ハン ド ル。 -1 にす る と 、 デフ ォ
ル ト 画像 (ブ ロ ッ ク のプ ロ パテ ィ で定義 し て あ る ) を使え ます。
optlist イ メ ージブ ロ ッ ク 流 し 込みオプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト 。 以下のオ
プシ ョ ンが使え ます :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> 表 11.1 に従っ たブ ロ ッ ク 流 し 込み関数のための長方形オプシ ョ ン群 :
Rect ・ Status ・ backgroundcolor ・ bordercolor ・ linewidth
> 流 し 込みオプシ ョ ン群 (131 ページ 「6.1 オブジ ェ ク ト のはめ込み」 参照)
> 表 9.3 に従っ た画像処理のためのオプシ ョ ン群。
> デフ ォ ル ト 内容のためのオプシ ョ ン : defaultimage (PDFlib チ ュ ー ト リ アル参照)
戻り値 指定 し た名前のブ ロ ッ ク がページ上にないか、 ま たはブ ロ ッ ク へ流 し 込めないか、 ま たは
ブ ロ ッ ク が誤っ た種別を持っ てい る か、ま たはブ ロ ッ ク が も っ と 新 し い PPS バージ ョ ン を
必要 と す る と き は -1 (PHP では 0)。 ブ ロ ッ ク の処理が成功 し た と き は 1。 問題の性質に
関す る 情報を も っ と 得たい と き は、 PDF_get_errmsg( ) を使い ます。
詳細 与えた画像ハン ド ルが参照す る 画像が、 ブ ロ ッ ク のプ ロ パテ ィ に従っ て、 ブ ロ ッ ク の中に
配置 さ れます。 image を -1 (PHP では 0) にす る と 、 こ の関数は、 ブ ロ ッ ク のデフ ォ ル ト
画像があればそれを使い (Status=ignoredefault でなければ)、 それ以外の場合は警告を出
さ ずに返 り ます。
PDF 文書が破損 し てい る こ と がわか っ た と き は、 こ の関数は errorpolicy オプシ ョ ンに
従っ て、 例外を発生 さ せ る か、 -1 を返 し ます。
PDF/UA すべての ラ ス タ 画像は、 事前の PDF_begin_item( ) への呼び出 し を用いて Artifact か Figure
と し て タ グ付け し てお く 必要があ り ます。
ブ ロ ッ ク 装飾、 すなわち、 backgroundcolor ・ bordercolor ・ linewidth プ ロ パテ ィ に従っ
て作成 さ れ る 罫線 と 背景色は、 自動的に Artifact と し て タ グ付け さ れます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
11.3 イ メ ージ ブ ロ ッ ク
225
11.4 PDF ブ ロ ッ ク
C++ Java C# int fill_pdfblock(int page, String blockname, int contents, String optlist)
Perl PHP int fill_pdfblock(int page, string blockname, int contents, string optlist)
C int PDF_fill_pdfblock(PDF *p, int page, const char *blockname, int contents, const char *optlist)
PDF ブ ロ ッ ク へ、 そのプ ロ パテ ィ に従っ て、 可変デー タ を流 し 込みます。
page PDFlib ブ ロ ッ ク を入れて あ る ページに対する 有効な PDF ページハン ド ル。 こ れ よ
り 前に、 ブ ロ ッ ク を持っ た入力 PDF ページ を、 PDF_fit_pdi_page( ) で直接、 ま たは PDF_
fit_table( ) で表セル内へ間接的に、 あ る いは PDF_fill_pdfblock( ) で PDF ブ ロ ッ ク の内容 と
し て、 ページ上に配置 し てお く 必要があ り ます。
blockname
(名前文字列) ブ ロ ッ ク の名前。
contents ブ ロ ッ ク へ流 し 込みたい PDF ページに対する 有効な PDF ページハン ド ル。 -1
にする と 、 デフ ォ ル ト PDF ページ (ブ ロ ッ ク のプ ロ パテ ィ で定義 し て あ る ) を使え ます。
optlist PDF ブ ロ ッ ク 流 し 込みオプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト 。 以下のオプ
シ ョ ンが使え ます :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> 表 11.1 に従っ たブ ロ ッ ク 流 し 込み関数のための長方形オプシ ョ ン群 :
Rect ・ Status ・ backgroundcolor ・ bordercolor ・ linewidth
> 流 し 込みオプシ ョ ン群 (131 ページ 「6.1 オブジ ェ ク ト のはめ込み」 参照)
> 表 9.3 に従っ たページ処理のためのオプシ ョ ン群。
> デフ ォ ル ト 内容のためのオプシ ョ ン : defaultpdf ・ defaultpdfpage (PDFlib チ ュ ー ト リ
アル参照)
戻り値 指定 し た名前のブ ロ ッ ク がページ上にないか、 ま たはブ ロ ッ ク へ流 し 込めないか、 ま たは
ブ ロ ッ ク が誤っ た種別を持っ てい る か、ま たはブ ロ ッ ク が も っ と 新 し い PPS バージ ョ ン を
必要 と す る と き は -1 (PHP では 0)。 ブ ロ ッ ク の処理が成功 し た と き は 1。 問題の性質に
関す る 情報を も っ と 得たい と き は、 PDF_get_errmsg( ) を使い ます。
詳細 与え たページハン ド ル contents が参照す る PDF ページが、 ブ ロ ッ ク のプ ロ パテ ィ に従っ
て、 ブ ロ ッ ク の中に配置 さ れます。 contents を -1 (PHP では 0) にす る と 、 こ の関数は、
ブ ロ ッ ク のデフ ォ ル ト PDF ページがあればそれを使い(Status=ignoredefault でなければ)、
それ以外の場合は警告を出 さ ずに返 り ます。
PDF 文書が破損 し てい る こ と がわか っ た と き は、 こ の関数は errorpolicy オプシ ョ ンに
従っ て、 例外を発生 さ せ る か、 -1 を返 し ます。
PDF/UA ブ ロ ッ ク 装飾、 すなわち、 backgroundcolor ・ bordercolor ・ linewidth プ ロ パテ ィ に従っ て
作成 さ れ る 罫線 と 背景色は、 自動的に Artifact と し て タ グ付け さ れます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
226
第 11 章 : ブ ロ ッ ク 流 し 込み関数 (PPS)
11.5 グ ラ フ ィ ッ ク ブ ロ ッ ク
C++ Java C# int fill_graphicsblock(int page, String blockname, int contents, String optlist)
Perl PHP int fill_graphicsblock(int page, string blockname, int contents, string optlist)
C int PDF_fill_graphicsblock(PDF *p, int page, const char *blockname, int contents, const char *optlist)
グ ラ フ ィ ッ ク ブ ロ ッ ク へ、 そのプ ロ パテ ィ 群に従っ て、 可変デー タ を流 し 込みます。
page PDFlib ブ ロ ッ ク 群を含むページに対す る 有効な PDF ページハン ド ル。 こ れ よ り 前
に、 ブ ロ ッ ク 群を持っ た入力 PDF ページ を、 PDF_fit_pdi_page( ) で直接、 ま たは PDF_fit_
table( ) で表セル内へ間接的に、 あ る いは PDF_fill_pdfblock( ) で PDF ブ ロ ッ ク の内容 と し
て、 ページ上に配置 し てお く 必要があ り ます。
blockname
(名前文字列) ブ ロ ッ ク の名前。
graphics ブ ロ ッ ク へ流 し 込みたい グ ラ フ ィ ッ ク に対す る 有効な グ ラ フ ィ ッ ク ハン ド ル、
あ る いはデフ ォ ル ト グ ラ フ ィ ッ ク (ブ ロ ッ ク プ ロ パテ ィ 群に よ っ て定義 さ れてい る 通 り
の) を使用 し たい と き は -1。
optlist グ ラ フ ィ ッ ク ブ ロ ッ ク 流 し 込みオプシ ョ ン群を指定 し たオプシ ョ ン リ ス ト 。 以下
のオプシ ョ ン を使え ます :
> 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> 表 11.1 に従っ た、 ブ ロ ッ ク 流 し 込み関数群に対す る 長方形オプシ ョ ン :
Rect ・ Status ・ backgroundcolor ・ bordercolor ・ linewidth
> 流 し 込みオプシ ョ ン群 (131 ページ 「6.1 オブジ ェ ク ト のはめ込み」 参照)
> 表 9.3 に従っ た、 グ ラ フ ィ ッ ク 処理のためのオプシ ョ ン群
> デフ ォ ル ト 内容のためのオプシ ョ ン : defaultgraphics (PDFlib チ ュ ー ト リ アル参照)
戻り値 指定 し た名前のブ ロ ッ ク がページ上にないか、 ま たはブ ロ ッ ク へ流 し 込めないか、 ま たは
ブ ロ ッ ク が誤っ た種別を持っ てい る か、ま たはブ ロ ッ ク が も っ と 新 し い PPS バージ ョ ン を
必要 と す る と き は -1 (PHP では 0)。 ブ ロ ッ ク の処理が成功 し た と き は 1。 問題の性質に
関す る 情報を も っ と 得たい と き は、 PDF_get_errmsg( ) を使い ます。
詳細 与えた グ ラ フ ィ ッ ク ハン ド ルが参照す る グ ラ フ ィ ッ ク が、ブ ロ ッ ク のプ ロ パテ ィ 群に従っ
て、 ブ ロ ッ ク の中に配置 さ れます。 graphics を -1 (PHP では 0) にす る と 、 こ の関数は、
ブ ロ ッ ク のデフ ォ ル ト グ ラ フ ィ ッ ク があればそれを使い (Status=ignoredefault でな けれ
ば)、 それ以外の場合は警告を出 さ ずに返 り ます。
PDF 文書が破損 し てい る こ と がわか っ た と き は、 こ の関数は errorpolicy オプシ ョ ンに
従っ て、 例外を発生 さ せ る か、 -1 を返 し ます。
PDF/UA ブ ロ ッ ク 装飾、 すなわち、 backgroundcolor ・ bordercolor ・ linewidth プ ロ パテ ィ に従っ て
作成 さ れ る 罫線 と 背景色は、 自動的に Artifact と し て タ グ付け さ れます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
11.5 グ ラ フ ィ ッ ク ブ ロ ッ ク
227
228
第 11 章 : ブ ロ ッ ク 流 し 込み関数 (PPS)
12 イ ン タ ラ ク テ ィ ブ機能
12.1 し お り
C++ Java C# int create_bookmark(String text, String optlist)
Perl PHP int create_bookmark(string text, string optlist)
C int PDF_create_bookmark(PDF *p, const char *text, int len, const char *optlist)
し お り を、 さ ま ざ ま なオプシ ョ ンに従っ て作成 し ます。
text
(ハ イ パーテ キ ス ト 文字列) し お り に対す る テ キ ス ト 。
len (C 言語バ イ ンデ ィ ン グのみ) text の長 さ (バ イ ト 単位)。 len=0 にする と null 終了文
字列を与え る 必要があ り ます。
optlist し お り のプ ロ パテ ィ 群を指定 し たオプシ ョ ン リ ス ト 。 以下のオプシ ョ ンが使え ま
す:
> 一般オプシ ョ ン群 : errorpolicy (表 2.1 参照) ・ hypertextencoding ・ hypertextformat (表
2.3 参照 )
> 表 12.1 に従っ た し お り 制御オプシ ョ ン群 :
action ・ destination ・ destname ・ fontstyle ・ index ・ item ・ open ・ parent ・ textcolor
戻り値 生成 し た し お り のハン ド ル。 以後の呼び出 し の parent オプシ ョ ンで使え ます。
詳細
こ の関数は、 与え る text を持つ PDF し お り を追加 し ます。 destination オプシ ョ ン を指定
し ない と 、 し お り はカ レ ン ト ページ (文書 ス コ ープの中で使 う と 一番最近に生成 さ れた
ページ、 先頭ページ よ り 前に使 う と 先頭ページ) を指 し ます。
し お り を作成す る と 、 PDF_begin/end_document( ) の openmode オプシ ョ ンが、 た と え
他のモー ド を明示的に設定 し て あ っ て も 、 bookmarks に設定 さ れます。
PDF/UA PDF/UA-1 では し お り を作成す る こ と が推奨 さ れます。
スコープ 文書 ・ ページ
表 12.1 PDF_create_bookmark( ) のオプ シ ョ ン
オプ シ ョ ン
説明
action
(ア ク シ ョ ン リ ス ト ) 以下のイ ベン ト に対する し お り ア ク シ ョ ンの リ ス ト (デ フ ォル ト :
destination オプ シ ョ ン で指定 し ている移動先への GoTo ア ク シ ョ ン) :
activate
し お り がア ク テ ィ ブに さ れた時に実行 さ せたいア ク シ ョ ン。 あ ら ゆる種別のア ク シ ョ ン
が使え ます。
destination
(オプ シ ョ ン リ ス ト 。 activate ア ク シ ョ ン を指定 し ている と きは無視 さ れます) し お り の移動先を
表 12.10 に従 っ て指定 し たオプ シ ョ ン リ ス ト 。 デ フ ォ ル ト : destination ・ destname ・ action を指定
し ていない と きは {type fitwindow page 0}。
destname
(ハイパーテキス ト 文字列。 空で も可。 destination オプ シ ョ ン を指定 し ている と きは無視 さ れま
す) PDF_add_nameddest( ) で定義 し てある移動先の名前。 destination ・ destname ア ク シ ョ ンは こ
のオプ シ ョ ン よ り も優先 さ れます。 destname を空文字列 (すなわち {}) にする と 、 destination
と action のど ち ら も指定 し ていない と きは、 し お り は全 く ア ク シ ョ ン を持ち ません。 こ れは区切
り し お り のために有用で し ょ う 。
12.1 し お り
229
表 12.1 PDF_create_bookmark( ) のオプ シ ョ ン
オプ シ ョ ン
説明
fontstyle
(キーワー ド ) し お り テキス ト のフ ォ ン ト ス タ イルを指定 し ます : normal ・ bold ・ italic ・
bolditalic。 デ フ ォル ト : normal
index
(整数) し お り を親の中に挿入 し たい位置の番号。 0 から、 同 じ 階層の し お り の数ま での値を使っ
て、 し お り を親の中のその位置に挿入 し ます。 値 -1 を使 う と 、 し お り を カ レ ン ト 階層の末尾に挿
入する こ と がで き ます。 デ フ ォル ト : -1。 ただ し 、 挿入 ・ 再開 し たページについては、 すべての
ページ を物理的な順序どお り に生成 し たかのよ う に し お り が配置 さ れます (すなわち、 し お り が
ページ順序を反映 し ます)。
item
(ア イ テムハン ド ルかキーワー ド 。 こ のハン ド ルは、 ア ク テ ィ ブ な構造エ レ メ ン ト を参照 し ていて
はいけませんが、 イ ン ラ イ ン ま たは疑似エ レ メ ン ト を参照 し ていてはいけません。 タ グ付き PDF
のみ) こ の し お り に紐付け られる構造ア イ テムに対するハン ド ル。 値 0 はつねに構造ツ リ ールー
ト を参照 し ます。 値 1 と 、 こ れに等価なキーワー ド current は、 カ レ ン ト で ア ク テ ィ ブ な エ レ メ
ン ト を参照 し ます。
open
(論理値) false にする と 、 子 し お り は表示 さ れません。 true にする と 、 すべての子が展開表示 さ
れます。 デ フ ォ ル ト : false
parent
( し お り ハン ド ル) 新規 し お り が、 ハン ド ルで指定する し お り の子であ る こ と を指定 し ます。
parent=0 にする と 、 新たな最上位階層の し お り が生成 さ れます。 デ フ ォ ル ト : 0
textcolor
(色) し お り テキス ト の色を指定 し ます。 使え る色空間 : none ・ gray ・ rgb。
デ フ ォ ル ト : rgb {0 0 0 } (=黒)
230
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
12.2 注釈
C++ Java C# void create_annotation(double llx, double lly, double urx, double ury, String type, String optlist)
Perl PHP create_annotation(float llx, float lly, float urx, float ury, string type, string optlist)
C void PDF_create_annotation(PDF *p,
double llx, double lly, double urx, double ury, const char *type, const char *optlist)
注釈を、 カ レ ン ト ページ上に作成 し ます。
llx ・ lly ・ urx ・ ury 注釈の長方形の左下隅 と 右上隅の x ・ y 座標を、 デフ ォ ル ト 座標で
(usercoordinates オプシ ョ ン を false に し た と き )、 ま たはユーザー座標で (true に し た と
き ) 指定 し ます。 Acrobat は、 注釈の左上隅を、 指定長方形の左上隅に合わせます。
注釈の座標は、 PDF_rect( ) 関数の引数 と は違 う こ と に注意 し て く だ さ い。 PDF_create_
annotation( ) では引数が 2 個の隅を直接 と る のに対 し 、 PDF_rect( ) では、 1 個の隅の座標
に幅 と 高 さ の値を あわせて指定 し ます。
usematchbox オプシ ョ ン を指定 し てい る と き は、 引数 llx/lly/urx/ury は無視 さ れます。
type 表 12.2 に従っ た注釈種別。 マー ク ア ッ プ注釈は表内で特記 し てい ます。 オプシ ョ
ンのなかにはマー ク ア ッ プ注釈にのみ適用 さ れ る も のがあ る か ら です。
表 12.2 注釈種別
種別
説明 : こ の種別に関連する オプ シ ョ ン (一般オプ シ ョ ンに加えて)
3D
(PDF 1.6) 3D モデル : 3Dactivate ・ 3Ddata ・ 3Dinteractive ・ 3Dshared ・ 3Dinitialview
Caret
1
(PDF 1.5。 こ のキ ャ レ ッ ト 注釈は通常、 そのキ ャ レ ッ ト 注釈を parentname を通 じ て参照 し ている
ポ ッ プ ア ッ プ注釈に紐付け ら れています) : rectdiff ・ symbol
Circle1
楕円形 : cloudy ・ createrichtext ・ inreplyto ・ interiorcolor ・ replyto
FileAttachment1
フ ァ イル添付 : attachment ・ calloutline ・ createrichtext ・ iconname ・ inreplyto ・ replyto
FreeText1
テキス ト ボ ッ ク ス : alignment ・ calloutline ・ cloudy ・ createrichtext ・ endingstyles ・
fillcolor ・ font ・ fontsize ・ inreplyto ・ orientate ・ replyto
Highlight1
ハイ ラ イ ト : createrichtext ・ inreplyto ・ polylinelist ・ replyto
Ink
1
Line
鉛筆 : createrichtext ・ inreplyto ・ polylinelist ・ replyto
1
線 : captionoffset ・ captionposition ・ createrichtext ・ endingstyles ・ interiorcolor ・
inreplyto ・ leaderlength ・ leaderoffset ・ line ・ showcaption ・ replyto
Link
リ ン ク : destination ・ destname ・ highlight
Movie
ムービーまたはサウ ン ド 注釈 : attachment ・ movieposter ・ playmode ・ showcontrols ・ soundvolume ・
windowposition ・ windowscale
Polygon1
(PDF 1.5) 多角形。 頂点群を直線で結んだ ものです : cloudy ・ createrichtext ・ inreplyto ・
polylinelist ・ replyto
PolyLine1
(PDF 1.5) 折れ線。 多角形に似ていますが、 最初 と 最後の頂点が結ばれない こ と が違います :
createrichtext ・ endingstyles ・ inreplyto ・ interiorcolor ・ polylinelist ・ replyto
Popup
ポ ッ プ ア ッ プ : open ・ parentname
RichMedia
(PDF 1.7ext3) リ ッ チ メ デ ィ ア : richmedia
12.2 注釈
231
表 12.2 注釈種別
種別
説明 : こ の種別に関連する オプ シ ョ ン (一般オプ シ ョ ンに加え て)
Square1
長方形 : cloudy ・ createrichtext ・ inreplyto ・ interiorcolor ・ replyto
Squiggly
1
波線。 波型下線注釈です : createrichtext ・ inreplyto ・ polylinelist ・ replyto
1
Stamp
ス タ ン プ : createrichtext ・ iconname ・ inreplyto ・ orientate ・ replyto
StrikeOut
Text
1
取 り 消 し 線 : createrichtext ・ inreplyto ・ polylinelist ・ replyto
1
Acrobat では、 こ の種別は ノ ー ト 注釈 と 呼ばれます : createrichtext ・ iconname ・ inreplyto ・
open ・ replyto
Underline1
下線 : createrichtext ・ inreplyto ・ polylinelist ・ replyto
1. マー ク ア ッ プ注釈。 これは createrichtext オ プ シ ョ ン で意味を持ち ます。
optlist 注釈のプ ロ パテ ィ 群を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン : hypertextencoding (表 2.3 参照 )
> 表 12.3 に従っ た以下の共通オプシ ョ ン群がすべての注釈種別で使え ます :
action ・ annotcolor ・ borderstyle ・ cloudy ・ contents ・ createdate ・ custom ・ dasharray ・
datestring ・ display ・ layer ・ linewidth ・ locked ・ lockedcontents ・ name ・ opacity ・
popup ・ readonly ・ rotate ・ subject ・ template ・ title ・ usematchbox ・ usercoordinates ・
zoom
> 表 12.3 に従っ た以下の種別特有オプシ ョ ン群が、表 12.2 に従っ た何 ら かの注釈種別で
使え ます :
alignment ・ calloutline ・ captionoffset ・ captionposition ・ createrichtext ・ destname ・
endingstyles ・ fillcolor ・ font ・ fontsize ・ highlight ・ iconname ・ inreplyto ・
interiorcolor ・ leaderlength ・ leaderoffset ・ line ・ movieposter ・ open ・ orientate ・
parentname ・ playmode ・ polylinelist ・ rectdiff ・ replyto ・ showcaption ・ showcontrols ・
soundvolume ・ symbol ・ windowposition ・ windowscale
> 表 13.4 に従っ た、 type=3D のためのオプシ ョ ン :
3Dactivate ・ 3Ddata ・ 3Dinteractive ・ 3Dshared ・ 3Dinitialview
> 表13.4に従っ た、type=RichMedia のための richmedia オプシ ョ ン を、表13.7の関連サブオ
プシ ョ ン群 と と も に。
> 表 14.5 に従っ た短縮構造エ レ メ ン ト タ グ付けのためのオプシ ョ ン : tag
詳細
タ グ付き PDF モー ド では、 こ の関数は、 生成 さ れ る 注釈に対 し て然 る べ き OBJR エ レ メ ン
ト を自動的に作成 し ます。 ユーザーは、 こ の関数を呼び出す前に、 照応する Link ま たは
Annot コ ン テナエ レ メ ン ト (PDFlib チ ュ ー ト リ アル参照) を作成す る 必要があ り ます。
PDF/A PDF/A-1 : 以下の注釈種別のみが許容 さ れます :
Circle ・ FreeText ・ Highlight ・ Ink ・ Line ・ Link ・ Popup ・ Square ・ Squiggly ・ Stamp ・ StrikeOut ・
Text ・ Underline
PDF/A-2/3 : type=Link のみが許容 さ れます。
い く つかのオプシ ョ ンは制約 さ れてい ます。 表 12.3 を参照 し て く だ さ い。
PDF/X 注釈は、 完全に BleedBox (BleedBox がない と き は TrimBox/ArtBox) の外に置 く 場合のみ
許 さ れます。
PDF/X-1a/3 : 注釈種別 FileAttachment は許容 さ れません。
232
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
PDF/UA
こ の関数が、 可視な注釈を作成す る ために呼び出 さ れ る 際には、 PDF_begin_item( ) か tag
オプシ ョ ン を用いて非グループ化構造エ レ メ ン ト が作成 さ れ る 必要があ り ます。
可視注釈に対 し ては、オプシ ョ ン contentsかオプシ ョ ン tagにサブオプシ ョ ン ActualText
を付けて与え る 必要があ り ます。
スコープ ページ
表 12.3 PDF_create_annotation( ) のオプ シ ョ ン
オプ シ ョ ン
説明
action
(ア ク シ ョ ン リ ス ト ) 以下のイ ベン ト に対する注釈ア ク シ ョ ンの リ ス ト (デ フ ォ ル ト : 空 リ ス ト )。
あ ら ゆる種類のア ク シ ョ ンが使え ます :
activate
(type=Link のみ) その注釈がア ク テ ィ ブに さ れた時に実行 さ せたいア ク シ ョ ン。
close
(PDF 1.5) その注釈を含むページが閉 じ られた時に実行 さ せたいア ク シ ョ ン。
open
(PDF 1.5) その注釈を含むページが開かれた時に実行 さ せたいア ク シ ョ ン。
invisible
(PDF 1.5) その注釈を含むページがも う 見えな く な っ た時に実行 さ せたいア ク シ ョ ン。
visible
(PDF 1.5) その注釈を含むページが見えた時に実行 さ せたいア ク シ ョ ン。
alignment
(キーワー ド 。 type=FreeText のみ) 注釈の中のテキス ト の整列 : left ・ center ・ right。 デ フ ォ ル
ト : left
annotcolor
(色) 注釈のア イ コ ンが閉 じ ている時の背景 と 、 注釈のポ ッ プ ア ッ プウ ィ ン ド ウの タ イ ト ルバー
と 、 リ ン ク注釈の枠の色。 使え る色空間 : none (type=Square ・ Circle では不可) ・ gray ・ rgb ・
(PDF 1.6 で) cmyk。 デ フ ォ ル ト : type=Square ・ Circle にな ら white、 それ以外な ら none
PDF/A-1 : このオプ シ ョ ンは、 RGB の出力イ ン テ ン ト を指定 し ている と きのみ使 う こ と がで き、
かつ gray または rgb カ ラ ーを使 う 必要があ り ます。
attachment
(アセ ッ ト ハン ド ル。 type=FileAttachment ・ Movie に対 し てのみ可。 必須) PDF_load_asset( ) と
type=attachment を用いて読み込まれている フ ァ イル添付。 使え るサブオプ シ ョ ン : 表 13.6 参照。
type=FileAttachment の場合 : その注釈に紐付け られた フ ァ イル
type=Movie の場合 : 以下のいずれかの形式の メ デ ィ ア フ ァ イル : AVI ま たは QuickTime ムービー、
WAV または AIFF サウ ン ド 。 なお、 こ の貼付は、 PDF_load_asset( ). で type=Attachment と
external=true を用いて読み込まれている必要があ り ます。
borderstyle
(キーワー ド ) 注釈の枠か、 ま たは種別 Polygon ・ PolyLine ・ Line ・ Square ・ Circle ・ Ink の注釈
の線のス タ イル : solid ・ beveled ・ dashed ・ inset ・ underline。 ただ し 、 beveled ・ inset ・
underline ス タ イルは Acrobat で正 し く 働き ません。 デ フ ォ ル ト : solid
calloutline
(float 4 個か 6 個の リ ス ト 。 PDF 1.6。 type=FreeText のみ) テキス ト ボ ッ ク ス注釈に付ける引き出
し 線を指定 し た 4 個か 6 個の float 値。 6 個の数値 {x1 y1 x2 y2 x3 y3} は、 線の開始 ・ 折れ点 ・ 終
了座標を表 し ます。 4 個の数値 {x1 y1 x2 y2} は、 線の開始 ・ 終了座標を表 し ます。 座標は、 デ
フ ォ ル ト 座標で (usercoordinates オプ シ ョ ン を false に し た と き)、 またはユーザー座標で
(true に し た と き) 解釈 さ れます。
開始点は、 endingstyles オプ シ ョ ンの 1 番目のキーワー ド で指定 し た記号で修飾 さ れます。
captionoffset
(float 2 個。 type=Line のみ。 PDF 1.7) キ ャ プ シ ョ ン テキス ト の通常位置からの変位。 1 番目の値
は、 注釈線の中点から の、 線に沿 っ た横変位を指定 し 、 正の値は右への変位を、 負の値は左への
変位を表 し ます。 2 番目の値は、 注釈線に垂直な縦変位を指定 し 、 正の値は上への変位を、 負の値
は下への変位を表 し ます。 デ フ ォ ル ト : {0, 0}、 すなわち通常位置か らの変位な し
captionposition
(キーワー ド 。 type=Line のみ。 PDF 1.7) 注釈のキ ャ プ シ ョ ン位置。 こ のオプ シ ョ ンは、
showcaption=false にする と 無視 さ れます。 使え るキーワー ド (デ フ ォル ト : Inline) :
Inline
キ ャ プ シ ョ ンは線の内側で中央揃え さ れます。
Top
キ ャ プ シ ョ ンは線の上方に置かれます。
12.2 注釈
233
表 12.3 PDF_create_annotation( ) のオプ シ ョ ン
オプ シ ョ ン
説明
cloudy
(float。 type=Circle ・ FreeText ・ Polygon ・ Square のみ。 PDF 1.5) 多角形の変形に用い られる
「雲型」 効果の強度を指定 し ます。 と り う る値は 0 (効果な し ) ・ 1 ・ 2。 このオプ シ ョ ン を用いる
と 、 borderstyle オプ シ ョ ンは無視 さ れます。 デ フ ォ ル ト : 0
contents
(type=FreeText の場合は文字列、 それ以外の場合は最大長 65535 バイ ト のハイパーテキス ト 文字
列。 PDF/UA-1 : tag オプ シ ョ ン で ActualText が与え られていない と きは必須、 また type=Link の
場合はつねに必須) 注釈で表示 さ せたいテキス ト か、 または (テキス ト を表示 し ない注釈の場合)
注釈の内容の人間が読める形での代替説明。 キ ャ リ ッ ジ リ タ ーン またはラ イ ン フ ィ ー ド キ ャ ラ ク
タ を使 う と 、 段落替え を強制する こ と がで き ます。 PDF/A-1a/2a/3a : テキス ト を表示 し ない注釈
では必須です。
createdate
(論理値。 PDF 1.5 以上) true にする と 、 注釈に対 し て日付 ・ 時刻項目が作成 さ れます。 デ フ ォ ル
ト : マー ク ア ッ プ注釈では true、 そ う でないな ら true
createrichtext
(オプ シ ョ ン リ ス ト 。 マー ク ア ッ プ註釈のみ。 contents オプ シ ョ ン を空にする必要があ り ます。
PDF 1.5) テキス ト フ ローか ら リ ッ チ テキス ト 内容を作成 し ます。 こ れは、 組版 さ れた テキス ト を
注釈のために生成するのに有用で し ょ う 。 使え るサブオプ シ ョ ン :
textflow
(テキス ト フ ローハン ド ル) 注釈に リ ッ チ テキス ト と し て付ける テキス ト フ ロー。 こ の
テキス ト フ ローの中の色指定は、 グ レースケールまたは RGB カ ラ ーのみを使用 し てい
る必要があ り ます。 こ のテキス ト フ ローハン ド ルを、 PDF_create_annotation( ) への呼び
出 し の前に PDF_fit_textflow/table( ) に与えていた場合は、 残 り のテキス ト だけが注釈に
用い られます。 テキス ト がそれ以上得ら れない と きは、 テキス ト フ ローが先頭か ら再開
さ れます。 テキス ト フ ローを注釈に用いて も、 その後の PDF_fit_textflow/table( ) への呼
び出 し には影響を与え ません。
userunit
(キーワー ド ) ス カ ラ ー値 (firstlinedist ・ fontsize 等) に対する長 さ 単位 : cm (セ
ン チ メ ー ト ル) ・ in (イ ン チ) ・ mm ( ミ リ メ ー ト ル) ・ pt (ポ イ ン ト )。 デ フ ォ ル ト : pt
リ ッ チ テキス ト を作成する際には、 以下のテキス ト フ ローオプ シ ョ ン群が効力を持ち、 こ れ以外
はすべて無視 さ れます :
nextline ・ alignment ・ fillcolor ・ underline ・ strikeout ・ font ・ fontsize ・ textrise ・ テキス
ト 組版オプ シ ョ ン群
注意 : font と alignment を設定 し て も、 Acrobat では期待 し た通 り に動作 し ません。
custom
(オプ シ ョ ン リ ス ト の リ ス ト 。 高度なユーザーのみ) このオプ シ ョ ン を使 う と 、 注釈辞書の中に任
意の数のプ ラ イ ベー ト 項目を挿入する こ と がで き ます。 これは、 デジ タ ル出力機のための処理命
令を挿入する な ど、 専門的な応用において有用で し ょ う 。 こ のオプ シ ョ ン を使 う には、 PDF フ ァ
イル形式 と 対象応用分野に関する知識が必要です。 使え るサブオプ シ ョ ン :
key
(文字列。 必須) 辞書キーの名前 (キ ャ ラ ク タ / を除いた もの)。 あ ら ゆる非標準の PDF
キーのほか、 以下の標準キー も指定で き ます : Contents ・ Name (iconname オプ シ ョ
ン) ・ NM (name オプ シ ョ ン) ・ Open。 それぞれオプ シ ョ ンは こ の場合無視 さ れます。
type
(キーワー ド 。 必須) その値の型。 boolean ・ name ・ string のいずれかにする必要があ
り ます。
value
(type=string に し ている と きはハイパーテキス ト 文字列、 そ う で なければ文字列。 必
須) PDF 出力内に現れる と お り の値。 PDFlib は、 文字列 と 名前に必要な修飾をすべて自
動的に行います。
dasharray
(非負 float 2 個の リ ス ト 。 borderstyle=dashed のみ) 破線枠の短線 と 間隙の長 さ を、 デ フ ォ ル ト 単
位で指定 し ます (表 7.1 参照)。 デ フ ォル ト : 3 3
datestring
(文字列。 createdate=true を強制 し ます) その注釈に対 し て設定 し たい作成日の PDF 日付文字
列。 こ の日付文字列はその注釈辞書に変更な く 書き込まれます。 無効な日付文字列を与え る こ と
はエ ラ ーです。 デ フ ォ ル ト (createdate=true の場合のみ意味を持ち ます) : 現在の日付
destination
(オプ シ ョ ン リ ス ト 。 type=Link のみ。 activate ア ク シ ョ ン を指定 し ている と 無視 さ れます) 飛ば
し たい移動先を表 12.10 に従っ て定義 し たオプ シ ョ ン リ ス ト
234
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
表 12.3 PDF_create_annotation( ) のオプ シ ョ ン
オプ シ ョ ン
説明
destname
(ハイパーテキス ト 文字列。 type=Link のみ。 destination オプ シ ョ ン を指定 し ている と 無視 さ れ
ます) PDF_add_nameddest( ) で定義 し ておいた移動先の名前。 PDF_create_action( ) の destination
または destname オプ シ ョ ン で作成 し たア ク シ ョ ンは、 こ のオプ シ ョ ン よ り も優先 さ れます。
display
(キーワー ド 。 PDF/A では強制的に visible と な り ます) 画面 と 紙の上での表示 ・ 非表示。
visible ・ hidden ・ noview ・ noprint。 デ フ ォル ト : visible
endingstyles
(キーワー ド の リ ス ト 。 type=FreeText ・ Line ・ PolyLine のみ) 線端ス タ イルを指定 し たキーワー
ド 2 個の リ ス ト 。 type=FreeText の場合は、 2 番目のキーワー ド は無視 さ れます (デ フ ォ ル ト :
{none none}) :
none ・ square ・ circle ・ diamond ・ openarrow ・ closedarrow
こ れに加え て PDF 1.5 では : butt ・ ropenarrow ・ rclosedarrow
こ れに加え て PDF 1.6 では : slash
filename
非推奨。 attachment を使用 し て く だ さ い
fillcolor
(色。 type=FreeText のみ) テキス ト の塗 り 色。 使え る色空間 : none ・ gray ・ rgb ・ (PDF 1.6 で)
cmyk。 デ フ ォル ト : {gray 0} (=黒)
PDF/A-1 : このオプ シ ョ ンは、 RGB 出力イ ン テ ン ト を指定 し ている と きのみ使 う こ と がで き、 か
つ gray ま たは rgb カ ラ ーを使 う 必要があ り ます。
font
( フ ォ ン ト ハン ド ル。 type=FreeText のみ。 必須) 注釈で使いたい フ ォ ン ト を指定 し ます。
fontsize
(文字サイ ズ。 type=FreeText のみ。 必須) 文字サイ ズを、 usercoordinates オプ シ ョ ン に応 じ て、
デ フ ォル ト かユーザー座標かで指定 し ます。 値 0 またはキーワー ド auto を指定する と 、 Acrobat
が文字サイ ズを長方形に合わせて調節 し ます。
highlight
(キーワー ド 。 type=Link のみ) ユーザーが注釈を ク リ ッ ク し た時の、 その注釈のハイ ラ イ ト モー
ド : none ・ invert ・ outline ・ push。 デ フ ォ ル ト : invert
iconname
(文字列。 type=Text ・ Stamp ・ FileAttachment のみ) 注釈の表示に使いたいア イ コ ンの名前 (目に
見え る ア イ コ ン を一切持たない注釈を作成するには、 opacity=0 と 設定 し ます) :
type=Text の場合 (デ フ ォ ル ト : note) :
comment
・ key
・ note
・ help
・ newparagraph
・ paragraph
・ insert
type=Stamp の場合 (デ フ ォル ト : draft) :
approved ・ experimental ・ notapproved ・ asis ・ expired ・ notforpublicrelease ・ confidential ・
final ・ sold ・ departmental ・ forcomment ・ topsecret ・ draft ・ forpublicrelease
type=FileAttachment の場合 (デ フ ォル ト : pushpin) :
graph
・ pushpin
・ paperclip
・ tag
template オプ シ ョ ン を使 う と カ ス タ ムア イ コ ン を作成する こ と がで き ます。
inreplyto
(ハイパーテキス ト 文字列。 PDF 1.5。 マー ク ア ッ プ注釈のみ。 replyto オプ シ ョ ン を与えた と きは
必須) こ の注釈の返信先であ る注釈の名前 (name オプ シ ョ ン参照)。 両方の注釈が文書の同 じ ペー
ジ上にあ る必要があ り ます。 2 個の注釈の間の関係を replyto オプ シ ョ ン で指定する必要があ り ま
す。
interiorcolor
(色。 type=Line ・ PolyLine ・ Square ・ Circle のみ) それぞれ、 注釈の線端 ・ 長方形 ・ 楕円の色。
使え る色空間 : none ・ gray ・ rgb ・ (PDF 1.6 で) cmyk。 デ フ ォル ト : none
PDF/A-1 : このオプ シ ョ ンは、 RGB 出力イ ン テ ン ト を指定 し ている と きのみ使 う こ と がで き、 か
つ gray ま たは rgb カ ラ ーを使 う 必要があ り ます
12.2 注釈
235
表 12.3 PDF_create_annotation( ) のオプ シ ョ ン
オプ シ ョ ン
説明
layer
(レ イ ヤーハン ド ル。 PDF 1.5) 注釈を属 さ せたいレ イ ヤー。 注釈が可視にな るのは、 そのレ イヤー
を可視に し ている と き だけにな り ます。
leaderlength (float 1 個か 2 個の リ ス ト 。 2 番目の float は負の値に し てはいけません。 type=Line のみ。 PDF
1.6) 補助線の長 さ を、 デ フ ォ ル ト 座標で (usercoordinates オプ シ ョ ン を false に し た と き)、 ま
たはユーザー座標で (true に し た と き) 指定 し ます。 補助線 と は、 線の各終点から、 その線自体
に垂直に引 く 追加の線群です。 こ の長 さ は 2 個の数値で指定 し ます (デ フ ォル ト : {0 0}) :
1 番目の数値は、 線の両端か ら、 その線自体に垂直に引 く 線の長 さ です。 正の値は、 線を始点から
終点 (line オプ シ ョ ン で指定 し ている) へた ど っ た と き に時計回 り であ る向き に補助線を引 く こ
と を意味 し 、 負の値はその反対の向き を表 し ます。
2 番目の値は、 省略する こ と も で き、 その線の反対側に引 く 補助線の延長の長 さ を表 し ます。 1 番
目の値を 0 にする と 、 正の値は無視 さ れます。
leaderoffset
(非負 float。 type=Line のみ。 PDF 1.7) 補助線のオ フ セ ッ ト の長 さ 、 すなわち、 注釈の端点 と 補助
線の始点 と の間の空隙の幅を、 デ フ ォル ト 座標で (usercoordinates オプ シ ョ ン を false に し た と
き)、 ま たはユーザー座標で (true に し た と き) 指定 し ます。 デ フ ォ ル ト : 0
line
(線。 type=Line のみ。 必須) 線の始点 と 終点を、 デ フ ォル ト 座標で (usercoordinates オプ シ ョ
ン を false に し た と き)、 またはユーザー座標で (true に し た と き) 指定 し た 4 個の数値 x1 ・ y1 ・
x2 ・ y2 の リ ス ト 。
linewidth
(整数) 注釈種別 Line ・ PolyLine ・ Polygon ・ Square ・ Circle ・ Ink の注釈の枠または線の幅を、
デ フ ォ ル ト 単位 (=ポ イ ン ト ) で指定 し ます。 linewidth=0 にする と 、 枠は見え な く な り ます。 デ
フ ォル ト : 1
locked
(論理値) true にする と 、 注釈のプ ロパテ ィ (位置 ・ 寸法等) を Acrobat で編集で き な く な り ま
す。 ただ し こ の場合で も、 その内容は変更で き ます。 デ フ ォ ル ト : false
lockedcontents
(論理値。 PDF 1.7) true にする と 、 注釈の内容を Acrobat で編集で き な く な り ます。 ただ し こ の場
合で も 、 注釈を削除する こ と と 、 注釈のプ ロパテ ィ (位置 ・ 寸法等) を変更する こ と は可能です。
デ フ ォ ル ト : false
mimetype
非推奨。 attachment を使用 し て く だ さ い
movieposter
(キーワー ド 。 type=Movie のみ) ページ上でムービーを代表するポス タ ー画像を指定するキーワー
ド 。 使え るキーワー ド : auto (ポス タ ー画像がムービー フ ァ イルか ら抽出 さ れます) ・ none (ポス
タ ーが表示 さ れません)。 デ フ ォ ル ト : none
name
(ハイパーテキス ト 文字列) 注釈を一意に同定する名前。 こ の名前は、 い く つかのア ク シ ョ ン で必
要であ り 、 ページ上で一意で なければな り ません。 デ フ ォル ト : な し
opacity
(float またはパーセ ン ト 値。 PDF/A-1 では不可) 注釈を描 く 際に使わせたい、 固定 し た不透明度の
値 (0 ~ 1 または 0% ~ 100%)。 デ フ ォ ル ト : 1
open
(論理値。 type=Text ・ Popup のみ) true にする と 、 注釈はは じ め開いた状態で表示 さ れます。 デ
フ ォル ト : false
orientate
(キーワー ド 。 type=FreeText ・ Stamp のみ) 注釈を その長方形の中で向けたい向き を指定 し ます。
使え るキーワー ド : north (直立) ・ east (右倒 し ) ・ south (上下逆 さ ま) ・ west (左倒 し )。 デ
フ ォル ト : north
parentname
(文字列。 type=PopUp のみ) こ のポ ッ プ ア ッ プ注釈の親注釈の名前。 こ のオプ シ ョ ンが与え られた
場合には、 親注釈の annotcolor と title は、 こ のポ ッ プ ア ッ プ注釈の照応する値を オーバラ イ ド
し ます。
236
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
表 12.3 PDF_create_annotation( ) のオプ シ ョ ン
オプ シ ョ ン
説明
playmode
(キーワー ド 。 type=Movie のみ) ムービーま たはサウ ン ド を再生する モー ド 。 使え るキーワー ド :
once (1 回再生 し て停止 し ます) ・ open (再生 し てムービー コ ン ト ロー ラバーを開いた ま まに し ま
す) ・ repeat (最初から最後ま で繰 り 返 し 、 停止 さ れる ま で再生 し ます) ・ palindrome (順方向再
生 と 逆再生を連続 し て、 停止 さ れる ま で行います)。 デ フ ォ ル ト : once
polylinelist
(折れ線か四辺形の リ ス ト 。 type=Polygon ・ PolyLine ・ Ink ・ Highlight ・ Underline ・ Squiggly ・
Strikeout のみ) 座標は、 デ フ ォ ル ト 座標系で (usercoordinates オプ シ ョ ン を false に し た と
き)、 またはユーザー座標系で (true に し た と き) 解釈 さ れます。 デ フ ォル ト : 注釈長方形の頂点
群を結んだ折れ線。
type=Polygon ・ PolyLine ・ Ink
n 本の線分 (最小 : n=2) に よ る折れ線 1 個の リ ス ト 。
その他
リ ス ト に、 float 値を 8 個ずつ持 っ たサブ リ ス ト を n 個入れて、 n 個 (最小 : n=1) の四
辺形を指定 し ます。 四辺形はそれぞれ、 注釈の対象 と し たいテキス ト の単語、 ない し 連
続する複数の単語を囲みます。 四辺形はジグザグ順 (右上 ・ 左上 ・ 右下 ・ 左下) で与え
る必要があ り ます。
popup
(文字列) こ の注釈に関連づけたテキス ト の入力や編集のためのポ ッ プ ア ッ プ注釈の名前。 デ フ ォ
ルト : なし
readonly
(論理値) true にする と 、 注釈がユーザーの操作に反応する こ と を許 し ません。 注釈は、 表示 と 印
刷は許 さ れますが、 マウス ク リ ッ ク に反応 し た り 、 マウスの動き に反応 し て表示を変えた り する
こ と はで き ません。 デ フ ォル ト : false
rectdiff
(長方形。 type=Caret の場合のみ) 注釈長方形 と 背後のキ ャ レ ッ ト の境界 と の距離を記述する 4 個
の非負数。
replyto
(キーワー ド 。 PDF 1.6。 マー ク ア ッ プ註釈のみ) こ の注釈 と 、 inreplyto オプ シ ョ ン で指定 し た注
釈 と の間の関係 (返信種別) を指定 し ます。 使え るキーワー ド (デ フ ォル ト : reply) :
reply
注釈は、 inreplyto で指定 し た注釈に対する返信 と 見な さ れます。
group
注釈は、 inreplyto で指定 し た注釈 と グループ化 さ れる必要があ り ます。
richmedia
(オプ シ ョ ン リ ス ト 。 type=RichMedia では必須) 表 13.7 に従 っ た リ ッ チ メ デ ィ アオプ シ ョ ン群
rotate
(論理値。 テキス ト 注釈に対 し ては PDF/A では true に設定 し てはいけません) true にする と 、
ページの回転に合わせて注釈を回転 さ せます。 そ う でなければ、 注釈の回転は固定 さ れたま まに
な り ます。 このオプ シ ョ ンは、 テキス ト 注釈のア イ コ ン では無視 さ れます。 デ フ ォ ル ト : PDF/A
における テキス ト 注釈では false、 それ以外では true
showcaption (論理値。 type=Line のみ。 PDF 1.6) true にする と 、 contents または createrichtext オプ シ ョ ン
で指定 し た内容が、 線の体裁の中のキ ャ プ シ ョ ン と し て複製 さ れます。 デ フ ォル ト : false
showcontrols
(論理値。 type=Movie のみ) true にする と 、 ムービーま たはサウ ン ド の再生中に コ ン ト ロー ラ
バーが表示 さ れます。 デ フ ォ ル ト : false
soundvolume
(float。 type=Movie のみ) ムービーを再生する最初の音量を、 -1.0 ~ 1.0 の範囲で指定 し ます。
値を大き く するほど高い音量を示 し ます。 負の値にする と 消音 さ れます。 デ フ ォ ル ト : 1.0
subject
(ハイパーテキス ト 文字列。 PDF 1.5) 注釈が述べている主題の簡単な説明を表現 し た テキス ト 。 デ
フ ォル ト : な し
symbol
(キーワー ド 。 type=Caret の場合のみ) キ ャ レ ッ ト 記号の種類 (デ フ ォ ル ト : none) :
paragraph 段落記号
none
記号な し
12.2 注釈
237
表 12.3 PDF_create_annotation( ) のオプ シ ョ ン
オプ シ ョ ン
説明
template
(オプ シ ョ ン リ ス ト ) 注釈の各ス テー タ スの体裁。 こ れはカ ス タ ムス タ ン プ等で有用で し ょ う 。 使
え るサブオプ シ ョ ン :
normal/rollover/down
(テ ン プ レー ト ハン ド ルまたはキーワー ド ) 注釈の通常 ・ マウス ロールオーバー ・ マウ
スボ タ ン押下時にそれぞれ用い ら れる テ ン プ レー ト 。 キーワー ド viewer は、 Acrobat に
対 し 、 ページ を表示する際に体裁を作成する よ う 指示 し ます。 normal のデ フ ォル ト :
viewer。 rollover ・ down のデ フ ォル ト : normal の値
fitmethod (キーワー ド ) テ ン プ レー ト を注釈長方形内にはめ込む方式。 fitmethod を entire 以外
にする と 、 注釈長方形はテ ン プ レー ト 枠に合わせて調節 さ れます (デ フ ォ ル ト :
entire) :
nofit
テ ン プ レー ト を置 く だけです。 拡縮 も切 り 抜き も 行われません。
meet
テ ン プ レー ト を position オプ シ ョ ンに従 っ て置き、 長方形内にま る ご と 収
ま る よ う 、 縦横比を保 っ て拡縮 し ます。 一般に、 テ ン プ レー ト の少な く と も
2 つの辺が、 照応する長方形の辺 と 重な る こ と にな り ます。
entire
テ ン プ レー ト を position オプ シ ョ ンに従 っ て置き、 かつ、 長方形全体を覆
う よ う に拡縮 し ます。 一般に、 この方式ではテ ン プ レー ト はつぶ さ れます。
position
(float かキーワー ド の リ ス ト ) テ ン プ レー ト 内の左下隅を {0 0}、 右上隅を {100 100}
と し た と きの、 参照点 (x, y) の位置を指定 し た 1 個か 2 個の値。 こ れら の値は、 テ ン
プ レー ト の幅 と 高 さ に対するパーセ ン ト 値 と し て表 し ます。 両方のパーセ ン ト 値が等 し
い と きは、 1 個の float 値だけを与えれば充分です。
キーワー ド left ・ center ・ right (x 方向で) ま たは bottom ・ center ・ top (y 方向で)
を、 値 0 ・ 50 ・ 100 と 同等な もの と し て用いる こ と がで き ます。 キーワー ド を 1 個だけ
指定する と 、 も う 1 つの方向でそれに照応するキーワー ド が追加 さ れます。 デ フ ォ ル
ト : {left bottom}。
title
(ハイパーテキス ト 文字列。 ムービー注釈では推奨) 注釈のポ ッ プ ア ッ プウ ィ ン ド ウが開いていて
ア ク テ ィ ブ な時に タ イ ト ルバーに表示 さ せたいテキス ト ラ ベル。 こ の文字列は Acrobat の作成者
フ ィ ール ド に対応 し ます。 title の最大長は、 シ ングルバイ ト な ら 255 キ ャ ラ ク タ 、 Unicode な ら
126 キ ャ ラ ク タ です。 ただ し title の実用上の上限 と し ては、 32 キ ャ ラ ク タ を推奨 し ます。 デ
フ ォル ト : な し
usematchbox
(文字列の リ ス ト ) 引数 llx/lly/urx/ury を無視 し て、 かわ り に名前付き範囲枠を用います。 オプ
シ ョ ン リ ス ト の中の 1 番目の要素は、 範囲枠を指定する名前文字列です。 2 番目の要素は、 使いた
い長方形の番号を指定する整数か、 ま たはキーワー ド all で、 選んでいる範囲枠を参照するすべ
ての長方形を指定 し ます。 2 番目の要素を指定 し ない と きは、 デ フ ォ ル ト と し て all にな り ます。
範囲枠自体か、 ま たは指定 し た長方形が、 カ レ ン ト ページに存在 し ない と きは、 関数は注釈を作
成せずに、 警告を出 さ ずに返 り ます。 範囲枠を用いて表セル内に注釈を作成する場合には、 PDF_
fit_table( ) の後に PDF_create_annotation( ) を呼び出す こ と によ っ て、 範囲枠寸法が必ず算出済みに
な っ ている よ う にする必要があ り ます。
usercoordinates
(論理値) false にする と 、 注釈の座標 と 文字サイ ズはデ フ ォ ル ト 座標系で表 さ れている と 見な さ
れます。 そ う で なければ、 カ レ ン ト ユーザー座標系が用い ら れます。 デ フ ォル ト : グ ローバル
usercoordinates オプ シ ョ ンの値
windowposition
(float 2 個かキーワー ド 2 個の リ ス ト 。 type=Movie のみ) フ ローテ ィ ングムービーウ ィ ン ド ウにつ
いて、 画面上における そのウ ィ ン ド ウの相対位置。 2 個の値で、 画面上における フ ローテ ィ ング
ウ ィ ン ド ウの位置を示 し ます。 {0 0} が画面の左下隅を、 {100 100} が右上隅を表 し ます。 キー
ワー ド left ・ center ・ right (画面横方向で)、 または bottom ・ center ・ top (画面縦方向で) を、
値 0 ・ 50 ・ 100 と 同 じ 意味で使 う こ と も で き ます。 デ フ ォ ル ト : {center center}
238
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
表 12.3 PDF_create_annotation( ) のオプ シ ョ ン
オプ シ ョ ン
説明
windowscale (float またはキーワー ド 。 type=Movie のみ) フ ローテ ィ ングウ ィ ン ド ウ内でムービーを再生する表
示倍率。 こ のオプ シ ョ ン を指定 し ない と 、 ムービーは注釈長方形内で再生 さ れます。 こ のオプ
シ ョ ンの値は、 ムービーの表示倍率か、 または以下のキーワー ド です (デ フ ォル ト : オプ シ ョ ン
な し 、 すなわちムービーは注釈長方形内で再生 さ れます)。
fullscreen
zoom
ムービーは、 得ら れる画面領域を い っ ぱいに使っ て再生 さ れます。
(論理値。 テキス ト 注釈に対 し ては PDF/A では true に設定 し てはいけません) true にする と 、
ページの表示倍率に合わせて注釈を拡縮 さ せます。 そ う で なければ、 注釈のサイ ズは固定 さ れた
ま まにな り ます。 このオプ シ ョ ンは、 テキス ト 注釈のア イ コ ン では無視 さ れます。 デ フ ォ ル ト :
PDF/A における テキス ト 注釈では false、 それ以外では true
12.2 注釈
239
12.3 フ ォ ーム フ ィ ール ド
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルがク ッ ク ブ ッ ク の webserver/starter_webform ト ピ ッ ク にあ り ます。
C++ Java C# void create_field(double llx, double lly, double urx, double ury,
String name, String type, String optlist)
Perl PHP create_field(float llx, float lly, float urx, float ury,
string name, string type, string optlist)
C void PDF_create_field(PDF *p, double llx, double lly, double urx, double ury,
const char *name, int len, const char *type, const char *optlist)
フ ォーム フ ィ ール ド を、カ レ ン ト ページ上に、さ ま ざ ま なオプシ ョ ンに従っ て作成 し ます。
llx ・ lly ・ urx ・ ury フ ィ ール ド の長方形の左下隅 と 右上隅の x ・ y 座標を、 デフ ォ ル ト 座
標で (usercoordinates オプシ ョ ン を false に し た と き )、 ま たはユーザー座標で (true に し
た と き ) 指定 し ます。
フ ォ ーム フ ィ ール ド の座標は、 PDF_rect( ) 関数の引数 と は違 う こ と に注意 し て く だ さ
い。 PDF_create_field( ) は 2 個の隅に対す る 座標を直接 と る のに対 し 、 PDF_rect( ) では、 1
個の隅の座標に幅 と 高 さ の値を あわせて指定 し ます。
name (ハ イ パーテ キ ス ト 文字列) フ ォ ーム フ ィ ール ド の名前。 場合に よ っ ては、 PDF_
create_fieldgroup( ) で作成 し ておいた 1 個ない し 複数のグループの名前を頭につけ ます。
グループ名ど う し の間 と 、 グループ名 と フ ィ ール ド 名 と の間は、 ピ リ オ ド キ ャ ラ ク タ 「.」
で区切 る 必要があ り ます。 フ ィ ール ド 名は、 ページ上で一意にす る 必要があ り 、 ま た、 ピ
リ オ ド キ ャ ラ ク タ 「.」 で終わっ てはいけ ません。
len (C 言語バ イ ンデ ィ ン グのみ) name の長 さ (バ イ ト 単位)。 len=0 にす る と null 終了
文字列を与え る 必要があ り ます。
type
フ ィ ール ド の種別を表 12.4 に従っ て指定 し ます。
表 12.4 フ ォ ーム フ ィ ール ド 種別
種別
アイ
コン
こ の種別に関連するオプ シ ョ ン (一般オプ シ ョ ンに加え て)
pushbutton
buttonlayout ・ caption ・ captiondown ・ captionrollover ・ charspacing ・ fitmethod ・
icon ・ icondown ・ iconrollover ・ position ・ submitname
checkbox
currentvalue ・ itemname
radiobutton
buttonstyle ・ currentvalue ・ itemname ・ toggle ・ unisonselect
ラ ジオボ タ ンは、 必ずグループに属 さ せる必要があ るので、 名前の頭にグループ名をつけ
る必要があ り ます。 その他のすべての フ ィ ール ド 種別では、 グループ所属は必須ではあ り
ません。
listbox
charspacing ・ currentvalue ・ itemnamelist ・ itemtextlist ・ multiselect ・ sorted ・
topindex
combobox
commitonselect ・ charspacing ・ currentvalue ・ editable ・ itemnamelist ・ itemtextlist ・
sorted ・ spellcheck
240
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
表 12.4 フ ォ ーム フ ィ ール ド 種別
種別
アイ
コン
textfield
こ の種別に関連する オプ シ ョ ン (一般オプ シ ョ ンに加え て)
comb ・ charspacing ・ currentvalue ・ fileselect ・ maxchar ・ multiline ・ password ・
richtext ・ scrollable ・ spellcheck
テキス ト フ ィ ール ド はバー コ ー ド に も使われます : barcode
signature
charspacing ・ lockmode
optlist フ ィ ール ド のプ ロ パテ ィ 群を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン群 : errorpolicy (表 2.1 参照) ・ hypertextencoding ・ hypertextformat (表
2.3 参照 )
> 表 12.5 に従っ た、 フ ィ ール ド プ ロ パテ ィ 群のためのオプシ ョ ン。 以下のオプシ ョ ンが
すべての フ ィ ール ド 種別で使え ます :
action ・ alignment ・ backgroundcolor ・ barcode ・ bordercolor ・ borderstyle ・ calcorder ・
dasharray ・ defaultvalue ・ display ・ exportable ・ fieldtype ・ fillcolor ・ font ・ fontsize ・
highlight ・ layer ・ linewidth ・ locked ・ orientate ・ readonly ・ required ・ strokecolor ・
taborder ・ tooltip ・ usercoordinates
> 特定の フ ィ ール ド 種別群で使え る オプシ ョ ン群を表 12.4 に挙げます。 こ れ ら について
は表 12.5 で も 詳述 し てい ます。
> (PDF_create_fieldgroup( ) では不可)表 14.5 に従っ た、短縮構造エ レ メ ン ト タ グ付けのた
めのオプシ ョ ン : tag
詳細 ページ上の フ ィ ール ド の タ ブ順序 ( タ ブキーが押 さ れた時に フ ォーカ ス を得 る 順序) は、
デフ ォ ル ト では PDF_create_field( ) を呼び出 し た順序で決ま り ますが、 taborder オプシ ョ
ン を使っ てそれ以外の順序を指定す る こ と も で き ます。 タ ブ順序は、 フ ィ ール ド を生成 し
た後に変え る こ と はで き ません。ただ し こ の動作は、PDF_begin/end_page_ext( ) の taborder
オプシ ョ ンでオーバ ラ イ ド す る こ と も で き ます。
Acrobat では、 テ キ ス ト フ ィ ール ド に フ ォーマ ッ ト (数値 ・ パーセ ン ト な ど) を割 り 当
て る こ と も 可能です。 ただ し こ れは PDF 規格には記載 さ れてお ら ず、 カ ス タ ム JavaScript
に よ っ て実装 さ れてい ます。 こ れ と 同 じ 効果を得 る には、 フ ィ ール ド に、 Acrobat 内の定
義済みの ( し か し 標準化 さ れていない) JavaScript 関数を参照す る JavaScript ア ク シ ョ ン を
関連づければ よ いで し ょ う (PDFlib チ ュ ー ト リ アル参照)。
タ グ付 き PDF モー ド では、 こ の関数は、 生成 さ れ る フ ォーム フ ィ ール ド に対 し て然 る
べ き OBJR エ レ メ ン ト を自動的に作成 し ます。 ユーザーは、 こ の関数を呼び出す前に、 照
応す る Form コ ン テナエ レ メ ン ト (PDFlibチ ュ ー ト リ アル参照)を作成す る 必要があ り ます。
PDF/A
こ の関数は呼び出 し てはいけ ません。
PDF/X
フ ォーム フ ィ ール ド は、 完全に BleedBox (BleedBox がない と き は TrimBox/ArtBox) の外
に置 く 場合のみ許 さ れます。
PDF/UA
こ の関数が呼び出 さ れ る 際には、種別 Form の構造エ レ メ ン ト が、PDF_begin_item( ) か tag
オプシ ョ ン を用いて作成 さ れ る 必要があ り ます。 tooltip オプシ ョ ンが必須です。
スコープ ページ
12.3 フ ォ ーム フ ィ ール ド
241
C++ Java C# void create_fieldgroup(String name, String optlist)
Perl PHP create_fieldgroup(string name, string optlist)
C void PDF_create_fieldgroup(PDF *p, const char *name, int len, const char *optlist)
フ ォーム フ ィ ール ド グループを、 さ ま ざ ま なオプシ ョ ンに従っ て作成 し ます。
name (ハ イ パーテ キ ス ト 文字列) フ ォ ーム フ ィ ール ド グループの名前。 さ ら に別の グ
ループの名前を頭につけ る こ と も で き ます。フ ィ ール ド グループは任意の深 さ にネ ス ト さ
せ る こ と が可能です。 グループ名ど う し は ピ リ オ ド キ ャ ラ ク タ 「.」 で区切 る 必要があ り
ます。 グループ名は、 文書内で一意にす る 必要があ り 、 ま た、 ピ リ オ ド キ ャ ラ ク タ 「.」 で
終わっ てはいけ ません。
len (C 言語バ イ ンデ ィ ン グのみ) name の長 さ (バ イ ト 単位)。 len=0 にす る と null 終了
文字列を与え る 必要があ り ます。
optlist
詳細
PDF/A
PDF_create_field( ) の フ ィ ール ド オプシ ョ ン群を持っ たオプシ ョ ン リ ス ト 。
フ ィ ール ド グループは、 1 つの フ ィ ール ド の内容を他の 1 個ない し 複数の フ ィ ール ド へ ミ
ラ ーす る のに有用です。PDF_create_field( ) で フ ィ ール ド 名を作成す る 際に頭に フ ィ ール ド
グループの名前を付け る と 、 その新 し い フ ィ ール ド はそのグループの一部にな り ます。 グ
ループに対す る optlist で与えた フ ィ ール ド プ ロ パテ ィ オプシ ョ ンはすべて、 そのグルー
プに属す る 全フ ィ ール ド に継承 さ れます。
こ の関数を呼び出 し てはいけ ません。
PDF/UA tooltip オプシ ョ ンが必須です。 type=radiobutton ・ checkbox の場合には ZapfDingbats フ ォ
ン ト が必要です。 PDF/UA ではすべて の フ ォ ン ト が埋め込 ま れ る 必要が あ り ま すので、
ZapfDingbats に対す る 埋め込み可能な フ ォ ン ト ア ウ ト ラ イ ン フ ァ イ ルが構成 さ れてい る
必要があ り ます。
スコープ オブ ジ ェ ク ト 以外任意
242
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
表 12.5 PDF_create_field( ) ・ PDF_create_fieldgroup( ) に よ る フ ィ ール ド プ ロパテ ィ オプ シ ョ ン
オプ シ ョ ン
説明
action
(ア ク シ ョ ン リ ス ト ) 以下のイ ベン ト のいずれか 1 個ない し 複数に対する フ ィ ール ド ア ク シ ョ ンの
リ ス ト 。 activate イ ベン ト はすべてのフ ィ ール ド 種別で使え ますが、 それ以外のイ ベン ト は
type=pushbutton ・ checkbox ・ radiobutton では使え ません。 デ フ ォ ル ト : 空 リ ス ト
activate
フ ィ ール ド がア ク テ ィ ブに さ れた時に実行 さ せたいア ク シ ョ ン。
blur
フ ィ ール ド が入力フ ォ ー カ ス を失っ た時に実行 さ せたいア ク シ ョ ン。
calculate 他のフ ィ ール ド の値が変わっ た時に こ のフ ィ ール ド の値を再計算する ために実行 さ せた
い JavaScript ア ク シ ョ ン。
close
(PDF 1.5) フ ィ ール ド を含むページが閉 じ られた時に実行 さ せたいア ク シ ョ ン。
down
マウスボ タ ンが フ ィ ール ド の領域内で押 さ れた時に実行 さ せたいア ク シ ョ ン。
enter
マウスが フ ィ ール ド の範囲内に入っ た時に実行 さ せたいア ク シ ョ ン。
exit
マウスが フ ィ ール ド の範囲外に出た時に実行 さ せたいア ク シ ョ ン。
focus
フ ィ ール ド が入力フ ォ ー カ ス を得た時に実行 さ せたいア ク シ ョ ン。
format
フ ィ ール ド がその時点の値を表示する ために フ ォ ーマ ッ ト さ れる前に実行 さ せたい
JavaScript ア ク シ ョ ン。 これを使 う と 、 フ ィ ール ド の値を フ ォ ーマ ッ ト さ れる前に変更
する こ と がで き ます。
invisible
(PDF 1.5) フ ィ ール ド を含むページがも う 見えな く な っ た時に実行 さ せたいア ク シ ョ
ン。
keystroke ユーザーがテキス ト フ ィ ール ド か コ ンボボ ッ ク スにキー入力 し た時か、 ま たはス ク ロー
ル可能な リ ス ト ボ ッ ク スの選択を変更 し た時に実行 さ せたい JavaScript ア ク シ ョ ン。
alignment
open
(PDF 1.5) フ ィ ール ド を含むページが開かれた時に実行 さ せたいア ク シ ョ ン。
up
マウスボ タ ンが フ ィ ール ド の領域内で放 さ れた時に実行 さ せたいア ク シ ョ ン ( フ ィ ール
ド を ア ク テ ィ ブにする には こ れが通常使われます)。
validate
フ ィ ール ド の値が変更 さ れた時に実行 さ せたい JavaScript ア ク シ ョ ン。 こ れを使 う と 、
新 し い値の有効性を検証する こ と がで き ます。
visible
(PDF 1.5) フ ィ ール ド を含むページが見えた時に実行 さ せたいア ク シ ョ ン。
(キーワー ド ) フ ィ ール ド 内のテキス ト の整列 : left ・ center ・ right。 デ フ ォ ル ト : left
background- (色) フ ィ ール ド の背景か枠の色。 使え る色空間 : none ・ gray ・ rgb ・ cmyk。 デ フ ォル ト : none
color
bordercolor
barcode
(オプ シ ョ ン リ ス ト 。 type=textfield のみ。 readonly を暗示。 PDF 1.7ext3) 表 12.6 のオプ シ ョ ン
群に従っ てバー コ ー ド フ ィ ール ド を生成 し ます。 こ の フ ィ ール ド は、 他の フ ィ ール ド 群の内容に
基づいてバー コ ー ド 内容を決定するか固定値を与え る calculate イ ベン ト ス ク リ プ ト を持つ
action オプ シ ョ ン を持っ ている必要があ り ます :
action={calculate=...}.
こ のバー コ ー ド は、 Acrobat でのみ表示 さ れ、 Adobe Reader では表示 さ れません。 Acrobat X は、 1
つのページの最初のフ ィ ール ド がバー コ ー ド フ ィ ール ド だ と ク ラ ッ シ ュ し ます。 こ の問題を回避
するには、 バー コ ー ド フ ィ ール ド を追加する前に別の フ ィ ール ド を作る必要があ り ます。 この最
初のフ ィ ール ド は、 こ のク ラ ッ シ ュ を避けるには、 幅 ・ 高 さ ゼロのダ ミ ーのテキス ト フ ィ ール ド
であれば充分です。
borderstyle
(キーワー ド ) フ ィ ール ド の枠のス タ イル。 solid ・ beveled ・ dashed ・ inset ・ underline のいずれ
か。 デ フ ォル ト : solid
buttonlayout
(キーワー ド 。 type=pushbutton のみ) ボ タ ンのラ ベルの、 ボ タ ンのア イ コ ンに対する位置を、 両
方 と も指定 し ている と き に限 り 指定 し ます : below ・ above ・ right ・ left ・ overlaid。 デ フ ォ ル
ト : right
12.3 フ ォ ーム フ ィ ール ド
243
表 12.5 PDF_create_field( ) ・ PDF_create_fieldgroup( ) によ る フ ィ ール ド プ ロパテ ィ オプ シ ョ ン
オプ シ ョ ン
説明
buttonstyle
(キーワー ド 。 type=radiobutton ・ checkbox のみ) フ ィ ール ド で使いたい記号を指定 し ます :
check ・ cross ・ diamond ・ circle ・ star ・ square。 デ フ ォ ル ト : check
calcorder
(整数。 フ ィ ール ド が calculate イ ベン ト に対する JavaScript ア ク シ ョ ン を持つ と きのみ) フ ィ ール
ド の、 他のフ ィ ール ド 群に対する計算順序を指定 し ます。 小 さ い数を持つ フ ィ ール ド は、 大き い
数を持つ フ ィ ール ド よ り 先に計算 さ れます。 デ フ ォル ト : 10 +カ レ ン ト ページ で使われている最
大の calcorder (は じ めは 10)
caption
(内容文字列。 type=pushbutton のみ。 押 し ボ タ ン では、 caption と icon オプ シ ョ ンのど ち らか一
方を与え る必要があ り ます) ボ タ ンが入力フ ォ ー カ ス を持たない時に表示 さ せたい ラ ベルテキス
ト 。 font オプ シ ョ ン で指定 し た フ ォ ン ト で表示 さ れます。 空文字列 (すなわち caption {}) は、
キ ャ プ シ ョ ン も ア イ コ ン も 生み出 し ません。 デ フ ォル ト : な し
captiondown
(内容文字列。 type=pushbutton のみ) ボ タ ンがア ク テ ィ ブに さ れた時に表示 さ せたい ラ ベルテキ
ス ト 。 font オプ シ ョ ン で指定 し た フ ォ ン ト で表示 さ れます。 デ フ ォル ト : な し
captionrollover
(内容文字列、 type=pushbutton のみ) ボ タ ンが入力フ ォ ー カ ス を持つ時に表示 さ せたい ラ ベルテ
キス ト 。 font オプ シ ョ ン で指定 し た フ ォ ン ト で表示 さ れます。 デ フ ォル ト : な し
charspacing
(float。 type=radiobutton ・ checkbox 以外のみ) フ ィ ール ド 内のテキス ト の字間を、 カ レ ン ト ユー
ザー座標系の単位で指定 し ます。 デ フ ォ ル ト : 0
comb
(論理値。 type=textfield のみ。 PDF 1.5) true にする と 、 multiline ・ fileselect ・ password オ
プ シ ョ ン を false に し ている と きは、 maxchar オプ シ ョ ン に整数値を与え ていれば、 フ ィ ール ド
は、 キ ャ ラ ク タ ご と に等間隔に、 多数のサブ フ ィ ール ド に分割 さ れます (maxchar オプ シ ョ ンに
従っ て)。 デ フ ォ ル ト : false
commitonselect
(論理値。 type=listbox ・ combobox のみ。 PDF 1.5) true にする と 、 リ ス ト の中で選択 さ れた項目
は、 選択後ただ ちに確定 さ れます。 false にする と 、 項目はフ ィ ール ド から 出た時に確定 さ れま
す。 デ フ ォル ト : false
currentvalue
(type=pushbutton ・ signature では不可) フ ィ ール ド の初期値。 型 と デ フ ォ ル ト は、 フ ィ ール ド の
種別に よ っ て異な り ます :
checkbox ・ radiobutton
(文字列) Off 以外の任意の文字列にする と 、 ボ タ ンはア ク テ ィ ブにな り ます。 文字列
Off にする と 、 ボ タ ンは非ア ク テ ィ ブにな り ます。 こ のオプ シ ョ ンは、 最初のボ タ ン で
は設定する必要があ り ます。 デ フ ォ ル ト : Off
textfield ・ combobox
(内容文字列) フ ィ ール ド の内容。 font オプ シ ョ ン で指定 し た フ ォ ン ト で表示 さ れま
す。 デ フ ォル ト : 空
listbox
dasharray
(整数の リ ス ト ) itemtextlist の中で選択 さ せてお き たい項目群の番号。 デ フ ォ ル ト :
なし
(非負 float 2 個の リ ス ト 。 borderstyle=dashed のみ) 破線枠の短線 と 間隙の長 さ を、 デ フ ォ ル ト 単
位で指定 し ます (表 7.1 参照)。 デ フ ォル ト : 3 3
defaultvalue ResetForm ア ク シ ョ ン後のフ ィ ール ド の値。 型 と デ フ ォル ト は、 currentvalue オプ シ ョ ン と 同 じ
です。 例外 : リ ス ト ボ ッ ク ス では、 1 個の整数値 し か指定で き ません。
display
(キーワー ド ) 画面 と 紙の上での表示 ・ 非表示 : visible ・ hidden ・ noview ・ noprint。 デ フ ォル
ト : visible
editable
(論理値。 type=combobox のみ) true にする と 、 枠の中で選択中のテキス ト を編集で き ます。 デ
フ ォル ト : false
exportable
(論理値) フ ィ ール ド は、 SubmitForm ア ク シ ョ ンが起き た時に書き出 さ れます。 デ フ ォル ト : true
244
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
表 12.5 PDF_create_field( ) ・ PDF_create_fieldgroup( ) に よ る フ ィ ール ド プ ロパテ ィ オプ シ ョ ン
オプ シ ョ ン
説明
fieldtype
(キーワー ド 。 PDF_create_fieldgroup( ) のみ) グループに入れたい フ ィ ール ド の種別 : mixed ・
pushbutton ・ checkbox ・ radiobutton ・ listbox ・ combobox ・ textfield ・ signature。
fieldtype=mixed に し ない と 、 グループには、 指定種別のフ ィ ール ド し か入れら れな く な り ます。
特定の fieldtype をグループに対 し て指定 し てお く と 、 た と えその中のフ ィ ール ド が別々のページ
に置いてあ っ た と し て も、 すべてのフ ィ ール ド にそのカ レ ン ト 値が同時に表示 さ れます。
fieldtype=radiobutton に し た と きは、 unisonselect オプ シ ョ ン を指定する必要があ り ます。
itemtextlist ・ itemnamelist ・ currentvalue ・ defaultvalue オプ シ ョ ンは、 PDF_create_
fieldgroup( ) のオプ シ ョ ン で指定する必要があ り 、 PDF_create_field( ) のオプ シ ョ ン で指定 し てはい
けません。 デ フ ォル ト : mixed
fileselect
(論理値。 type=textfield のみ) true にする と 、 フ ィ ール ド の中のテキス ト は、 フ ァ イル名 と し
て扱われます。 デ フ ォ ル ト : false
fillcolor
(色) テキス ト の塗 り 色。 使え る色空間 : gray ・ rgb ・ cmyk。 デ フ ォル ト : {gray 0} (=黒)
fitmethod
(キーワー ド 。 type=pushbutton のみ) icon ・ icondown ・ iconrollover オプ シ ョ ン で与えている テ
ン プ レー ト を、 ボ タ ンの中に配置 さ せたい方式。 と り う るキーワー ド (デ フ ォル ト : meet) :
font
auto
テ ン プ レー ト がボ タ ン に収ま り き る と きは meet と 同 じ 、 そ う で なければ clip
nofit
clip と 同 じ
clip
テ ン プ レー ト を拡縮せずに、 フ ィ ール ド の端で切 り 落 と し ます
meet
テ ン プ レー ト を、 縦横比を保ちつつ、 ボ タ ンに収ま る よ う 拡縮 し ます
slice
meet と 同 じ
entire
テ ン プ レー ト を、 ボ タ ン全体を覆 う よ う に拡縮 し ます
( フ ォ ン ト ハン ド ル) フ ィ ール ド で使いたい フ ォ ン ト 。 Acrobat はキ ャ ラ ク タ を、 それがその フ ォ
ン ト のエ ン コ ーデ ィ ングに含まれていな く て も 表示する こ と がで き ます。 た と えば、
encoding=winansi を使 っ てお き なが ら winansi 外の Unicode キ ャ ラ ク タ を与え る こ と が可能です。
フ ォ ン ト の用途はフ ィ ール ド 用法に よ っ て異な り ます :
> type=listbox ・ combobox ・ textfield のいずれかによ る フ ィ ール ド : こ のオプ シ ョ ンは必須です。
> type=pushbutton の場合には、 caption ・ captionrollover ・ captiondown オプ シ ョ ンの う ちのいず
れかが指定 さ れて指定 さ れている な らば、 このオプ シ ョ ンは必須です。
> type=radiobutton ・ checkbox のいずれかに よ る フ ィ ール ド は常に ZapfDingbats を使用 し ます。
fontsize
(文字サイ ズ) 文字サイ ズを、 ユーザー座標で指定 し ます。 値 0 またはキーワー ド auto を与え る
と 、 Acrobat が文字サイ ズを長方形に合わせて調整 し ます。 デ フ ォル ト : auto
highlight
(キーワー ド ) ユーザーが フ ィ ール ド を ク リ ッ ク し た時の、 そのハイ ラ イ ト モー ド : none ・
invert ・ outline ・ push。 デ フ ォル ト : invert
icon
(テ ン プ レー ト ハン ド ル1。 type=pushbutton のみ。 押 し ボ タ ン では、 caption と icon オプ シ ョ ンの
ど ち らか一方を与え る必要があ り ます) ボ タ ンが入力 フ ォ ー カ ス を持たない時に表示 さ れたいテ
ン プ レー ト のハン ド ル。 デ フ ォル ト : な し
icondown
(テ ン プ レー ト ハン ド ル 1。 type=pushbutton のみ) ボ タ ンがア ク テ ィ ブに さ れた時に表示 さ せたい
テ ン プ レー ト のハン ド ル。 デ フ ォ ル ト : な し
iconrollover
(テ ン プ レー ト ハン ド ル 1。 type=pushbutton のみ) ボ タ ンが入力 フ ォ ー カ ス を持つ時に表示 さ せた
いテ ン プ レー ト のハン ド ル。 デ フ ォ ル ト : な し
itemname
(ハイパーテキス ト 文字列。 type=radiobutton ・ checkbox のみ。 書き出 し 値が Latin 1 文字列でな
い と き には用いる必要があ り ます) フ ィ ール ド の書き出 し 値。 グループ内の複数のラ ジオボ タ ン
の項目名は同一にする こ と がで き ます。 デ フ ォ ル ト : フ ィ ール ド 名
itemnamelist
(ハイパーテキス ト 文字列。 type=listbox ・ combobox のみ) リ ス ト 項目群の書き出 し 値。 複数の項
目が同 じ 書き出 し 値を持つ こ と がで き ます。 デ フ ォル ト : な し
12.3 フ ォ ーム フ ィ ール ド
245
表 12.5 PDF_create_field( ) ・ PDF_create_fieldgroup( ) によ る フ ィ ール ド プ ロパテ ィ オプ シ ョ ン
オプ シ ョ ン
説明
itemtextlist
(内容文字列の リ ス ト 。 type=listbox ・ combobox のみ。 その場合は必須) リ ス ト のすべての項目の
テキス ト 内容。 itemnamelist と itemtextlist を両方指定する と きは、 両方の文字列の数を同 じ に
する必要があ り ます。
layer
(レ イ ヤーハン ド ル。 PDF 1.5) フ ィ ール ド を属 さ せたいレ イ ヤー。 フ ィ ール ド が可視にな るのは、
そのレ イ ヤーが可視の と き だけにな り ます。
linewidth
(整数) フ ィ ール ド の枠の線幅を、 デ フ ォル ト 座標で指定 し ます。 デ フ ォル ト : 1
locked
(論理値) true にする と 、 フ ィ ール ド のプ ロパテ ィ を Acrobat で編集で き な く な り ます。 デ フ ォ ル
ト : false
lockmode
(キーワー ド 。 type=signature のみ。 PDF 1.5) フ ィ ール ド が署名 さ れた時にロ ッ ク さ せたい
フ ィ ール ド 群を示 し ます :
all
文書のすべての フ ィ ール ド がロ ッ ク さ れます。
maxchar
(整数ま たはキーワー ド 。 type=textfield のみ) フ ィ ール ド の中のテキス ト のキ ャ ラ ク タ 数の上限
か、 または制限な し に し たい と きはキーワー ド unlimited。 デ フ ォル ト : unlimited
multiline
(論理値。 type=textfield のみ) true にする と 、 テキス ト は必要に応 じ て折 り 返 さ れて複数行に
な り ます。 デ フ ォル ト : false
multiselect
(論理値。 type=listbox のみ) true にする と 、 リ ス ト で複数の項目が選択で き る よ う にな り ます。
デ フ ォ ル ト : false
orientate
(キーワー ド ) フ ィ ール ド の中での内容の向き : north ・ west ・ south ・ east。 デ フ ォル ト : north
password
(論理値。 type=textfield のみ) true にする と 、 テキス ト が入力時に ビ ュ レ ッ ト かア ス タ リ ス ク
で表 さ れます。 デ フ ォ ル ト : false
position
(float かキーワー ド の リ ス ト 。 type=pushbutton のみ) icon… オプ シ ョ ン群で与えている テ ン プ
レー ト の、 フ ィ ール ド 長方形内における相対位置を指定する 1 個か 2 個の値。 {0 0} はフ ィ ール ド
の左下隅で、 {100 100} は右上隅です。 値は、 フ ィ ール ド 長方形の幅 と 高 さ に対するパーセ ン ト 値
で指定 し ます。 両方のパーセ ン ト 値が等 し い と きは、 1 個の float 値を指定する だけで充分です。
キーワー ド left ・ center ・ right (x 方向で)、 ま たは bottom ・ center ・ top (y 方向で) を、 値
0 ・ 50 ・ 100 と 同 じ 意味で使 う こ と も で き ます。 1 個のキーワー ド だけ を指定 し た と きは、 他方の
方向についてはそれに照応するキーワー ド が追加 さ れます。 デ フ ォ ル ト : {center}。 例 :
{0 50} または {left center}
テ ン プ レー ト を左揃え
{50 50} または {center}
テ ン プ レー ト を中央揃え
{100 50} ま たは {right center}テ ン プ レー ト を右揃え
readonly2
(論理値) true にする と 、 フ ィ ール ド に何 も入力で き な く な り ます。 デ フ ォ ル ト ; false
required
(論理値) true にする と 、 フ ィ ール ド は、 フ ォ ームが送信 さ れる時に値を持つ必要があ り ます。 デ
フ ォル ト : false
richtext
(論理値。 type=textfield のみ。 PDF 1.5) リ ッ チ テキス ト 組版を可能に し ます。 true にする と き
は、 fontsize は 0 に し てはな ら ず、 fillcolor は色空間 cmyk を用いてはいけません。 デ フ ォル
ト : false
scrollable
(論理値。 type=textfield のみ) true にする と 、 テキス ト がフ ィ ール ド に収ま り き ら ない と きは、
テキス ト はフ ィ ール ド の外の見えない領域へ移行 し ます。 false にする と 、 テキス ト がフ ィ ール ド
を満た し た と きは、 も う 入力を受け付けな く な り ます。 デ フ ォル ト : true
246
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
表 12.5 PDF_create_field( ) ・ PDF_create_fieldgroup( ) に よ る フ ィ ール ド プ ロパテ ィ オプ シ ョ ン
オプ シ ョ ン
説明
sorted
(論理値。 type=listbox ・ combobox のみ) true にする と 、 リ ス ト の内容が ソ ー ト さ れます。 デ
フ ォ ル ト : false
spellcheck
(論理値。 type=textfield ・ combobox のみ) true にする と 、 フ ィ ール ド の中でスペルチ ェ ッ ク 機
能がア ク テ ィ ブにな り ます。 デ フ ォ ル ト : true
strokecolor
(色) テキス ト の描線色。 使え る色空間 : gray ・ rgb ・ cmyk。 デ フ ォル ト : {gray 0} (=黒)。
submitname (ハイパーテキス ト 文字列。 type=pushbutton の場合にのみ推奨) フ ォ ームを送信 さ せたい イ ン
タ ーネ ッ ト ア ド レ スの URL エ ン コ ー ド 済み文字列。 デ フ ォ ル ト : な し
taborder
(整数) フ ィ ール ド の、 他のフ ィ ール ド 群に対する タ ブ順序を指定 し ます。 小 さ い数を持つ フ ィ ー
ル ド は、 大き い数を持つ フ ィ ール ド よ り 先に フ ォ ー カ ス さ れます。 デ フ ォ ル ト : 10 +カ レ ン ト
ページ で使われている最大の taborder (ページの最初のフ ィ ール ド では 10)。 こ のデ フ ォ ル ト で
は結果 と し て、 作成順序がそのま ま タ ブ順序にな り ます。
toggle
(論理値。 PDF_create_fieldgroup( ) で type=radiobutton のみ) true にする と 、 グループのラ ジオボ
タ ン を ク リ ッ ク し てア ク テ ィ ブにする こ と も、 非ア ク テ ィ ブにする こ と も で き ます。 false にする
と 、 ク リ ッ ク し て ア ク テ ィ ブにする こ と し かで きず、 非ア ク テ ィ ブにする にはほかのボ タ ン を ク
リ ッ ク する必要があ り ます。 デ フ ォ ル ト : false
tooltip2
(ハイパーテキス ト 文字列。 PDF/UA-1 では空でない文字列が必須) フ ィ ール ド のツール ヒ ン ト に
表示 さ せたいテキス ト 。 ス ク リ ーン リ ーダによ っ て も 使用 さ れます。 ラ ジオボ タ ン と グループ で
は、 Acrobat はグループの最初のボ タ ンのツール ヒ ン ト を使っ て、 他は無視 さ れます。 デ フ ォル
ト : なし
topindex
(整数。 type=listbox のみ) 先頭に表示 さ せたい項目の番号。 最初の項目の番号は 0 です。 デ フ ォ
ルト : 0
unisonselect
(論理値。 PDF_create_fieldgroup( ) で type=radiobutton かつ PDF 1.5 のみ) true にする と 、 同 じ
フ ィ ール ド 名か項目名を持つ ラ ジオボ タ ン群が、 同時に選択 さ れます。 デ フ ォル ト : false
usercoordinates
(論理値) false にする と 、 フ ィ ール ド の座標はデ フ ォ ル ト 座標系で表 さ れている と 見な さ れます。
そ う でなければ、 カ レ ン ト ユーザー座標系が使われます。 デ フ ォル ト : usercoordinates グ ローバ
ルオプ シ ョ ンの値
1. ア イ コ ンのテ ン プ レ ー ト は、 PDF_begin_template( ) 関数で作成する こ と がで き ます。 ア イ コ ンが画像だけで で き ている と き
は、 PDF_load_image( ) に template オプ シ ョ ン を与えて テ ン プ レー ト を作成する こ と も で き ます。
2. type=radiobutton に し ている と きは、 こ のオプ シ ョ ンは PDF_create_field( ) では使えず、 PDF_create_fieldgroup( ) でのみ使え
ます。
12.3 フ ォ ーム フ ィ ール ド
247
表 12.6 PDF_create_field( ) ・ PDF_create_fieldgroup( ) の barcode オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
caption
(ハイパーテキス ト 文字列) バー コ ー ド の下に表示 さ れるキ ャ プ シ ョ ン。 デ フ ォル ト では、 Acrobat
はその文書の file: URL をキ ャ プ シ ョ ン と し て生成 し ます。
dataprep
(整数) デー タ の生成方式。 使え る値 (デ フ ォ ル ト : 0) :
0
バー コ ー ド 内のデー タ を エ ン コ ー ド する前に何の圧縮 も適用 し ません。
1
デー タ を エ ン コ ー ド する前にデー タ を Flate 圧縮アルゴ リ ズムで圧縮 し ます。
ecc
(整数。 symbology=PDF417 ・ QRCode の場合は必須) 誤 り 訂正係数。 値が大き いほど、 冗長性を通 じ
た、 よ り 良い誤 り 訂正が生成 さ れますが、 よ り 大き なバー コ ー ド が必要 と な り ます。
symbology=PDF417 の場合、 こ の値は範囲 0 ~ 8 内で なければな り ません。 symbology=QRCode の場
合、 こ の値は範囲 0 ~ 3 内で なければな り ません。
resolution
(正の整数) バー コ ー ド が表示 さ れる解像度を dpi 単位で (デ フ ォル ト : 300)
symbology
(キーワー ド 。 必須) 使いたいバー コ ー ド 技術 :
PDF417
ISO 15438 に従 っ た PDF417 バー コ ー ド
QRCode
ISO 18004 に従 っ た QR コ ー ド 2005 バー コ ー ド
DataMatrixISO 16022 に従 っ たデー タ マ ト リ ッ ク スバー コ ー ド
xsymheight
(整数。 symbology=PDF417 の場合のみ。 かつその場合は必須) 2 個のバー コ ー ド モ ジ ュ ール間の縦
間隔を ピ ク セル単位で。 比 xsymheight/xsymwidth が整数値である必要があ り ます。 この比に許 さ
れる範囲は 1 ~ 4 です。
xsymwidth
(整数。 必須) 2 個のバー コ ー ド モ ジ ュ ール間の横間隔を ピ ク セル単位で
248
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
12.4 ア ク シ ョ ン
C++ Java C# int create_action(String type, String optlist)
Perl PHP int create_action(string type, string optlist)
C int PDF_create_action(PDF *p, const char *type, const char *optlist)
ア ク シ ョ ン を作成 し ます。 ア ク シ ョ ンは、 さ ま ざ ま なオブジ ェ ク ト や イ ベン ト に適用す る
こ と がで き ます。
type
表 12.7 に従っ た ア ク シ ョ ン種別。
表 12.7 ア ク シ ョ ン種別
種別
説明 : こ の種別に関連する オプ シ ョ ン (一般オプ シ ョ ンに加えて)
GoTo
カ レ ン ト 文書の中の移動先へ行き ます : destination ・ destname
GoTo3DView
(PDF 1.6) 3D アニ メ ーシ ョ ンのカ レ ン ト ビ ュ ーを設定 し ます : 3Dview ・ target
GoToE
(PDF 1.6) 埋め込まれた文書の中の移動先へ行き ます : targetpath
GoToR
別の ( リ モー ト ) 文書の中の移動先へ行き ます : destination ・ destname ・ filename ・ newwindow
Hide
(PDF/A では不可) 注釈または フ ォ ーム フ ィ ール ド を、 隠すか、 または表示 さ せます : hide ・
namelist
ImportData
(PDF/A では不可) フ ォ ーム フ ィ ール ド 群の値を フ ァ イルから 取 り 込みます。
JavaScript
(PDF/A では不可) JavaScript コ ー ド によ る ス ク リ プ ト を実行 し ます : script ・ scriptname
Launch
(PDF/A では不可) ア プ リ ケーシ ョ ン または文書を起動 し ます : defaultdir ・ filename ・
newwindow ・ operation ・ parameters
Movie
(PDF/A では不可) 外部のサウ ン ド フ ァ イルかムービー フ ァ イルを、 フ ローテ ィ ン グウ ィ ン ド ウ内
で、 ま たはムービー注釈の長方形内で再生 し ます : operation ・ target
Named
Acrobat の メ ニ ュ ー項目を、 その名前で同定 し て実行 し ます : menuname
ResetForm
(PDF/A では不可) 文書内のフ ィ ール ド をい く つか、 ない し すべて、 デ フ ォ ル ト 値に設定 し ます。
SetOCGState (PDF 1.5) レ イ ヤーを隠すか、 または表示 さ せます : layerstate ・ preserveradio
SubmitForm
デー タ を URL (uniform resource locator) へ、 すなわち イ ン タ ーネ ッ ト のア ド レ スへ送信 し ます
(ただ し 、 ベーシ ッ ク認証を要する送信は Acrobat では動作 し ません) : canonicaldate ・ exclude ・
exportmethod ・ submitemptyfields ・ url
Trans
(PDF 1.5) 表示を何 らかの視覚効果を使 っ て更新 し ます。 こ れは、 連続する複数のア ク シ ョ ンの最
中に表示を制御する ために有用で し ょ う : duration ・ transition
URI
URI (uniform resource identifier) を解決 し ます。 すなわち、 イ ン タ ーネ ッ ト のア ド レ スへ飛びま
す : ismap ・ url
optlist ア ク シ ョ ンの特性群を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン群 : errorpolicy (表 2.1 参照) ・ hypertextencoding (表 2.3 参照 )
> 表 12.8 に従っ た、以下の種別独自オプシ ョ ン を、表 12.7 に従っ た独自ア ク シ ョ ン種別に
対 し て使え ます :
3Dview ・ richmediaargs ・ canonicaldate ・ defaultdir ・ destination ・ destname ・ duration ・
exclude ・ exportmethod ・ filename ・ functionname ・ hide ・ instance ・ ismap ・ layerstate ・
12.4 ア ク シ ョ ン
249
menuname ・ namelist ・ newwindow ・ operation ・ parameters ・ preserveradio ・ script ・
scriptname ・ submitemptyfields ・ target ・ targetpath ・ transition ・ url
戻り値 ア ク シ ョ ンハン ド ル。 文書の中のオブジ ェ ク ト にア ク シ ョ ン を関連づけ る のに使え ます。
ア ク シ ョ ンハン ド ルは、 カ レ ン ト の文書ス コ ープを終え る ま で使え ます。
詳細
こ の関数は、 ただ 1 つのア ク シ ョ ン を作成 し ます。 さ ま ざ ま なオブジ ェ ク ト には (ペー
ジ、 フ ォーム フ ィ ール ド の イ ベン ト 、 し お り 等) 、 複数のア ク シ ョ ン も 与え る こ と がで き
ますが、 ア ク シ ョ ンは 1 つずつ、 個々に PDF_create_action( ) を呼び出 し て生成す る 必要
があ り ます。 1 つのア ク シ ョ ン を、 複数のオブジ ェ ク ト に使 う こ と も 可能です。 同 じ オプ
シ ョ ン群を持っ た ア ク シ ョ ン を それま でにすでに作成 し てい る 場合は、既存のハン ド ルを
再利用す る こ と を推奨 し ます。
PDF/A 以下のア ク シ ョ ン種別のみが許容 さ れます :
GoTo ・ GoToE ・ GoToR ・ Named ・ RichMediaExecute ・ SubmitForm ・ URI
PDF/X
こ の関数を呼び出 し てはいけ ません。
PDF/UA ismap=true オプシ ョ ンは許容 さ れません。
スコープ オブ ジ ェ ク ト 以外任意。 返 さ れたハン ド ルは、 次に PDF_end_document( ) を呼び出すま で
使え ます。
表 12.8 PDF_create_action( ) のア ク シ ョ ン プ ロパテ ィ オプ シ ョ ン
オプ シ ョ ン
説明
3Dview
(キーワー ド ま たは 3D ビ ュ ーハン ド ル。 GoTo3DView。 必須) 3D 注釈のビ ュ ーを選びます。 キー
ワー ド first ・ last ・ next ・ previous (注釈の views オプ シ ョ ンの中の各項目を参照する) ・
default (注釈の defaultview オプ シ ョ ン を参照する) のいずれか、 または PDF_create_3dview( ) で
作成 し た 3D ビ ュ ーハン ド ル。
canonicaldate
(論理値。 SubmitForm) true にする と 、 日付を表す フ ィ ール ド の送信 さ れる値は、 すべて標準形式
に変換 さ れます。 フ ィ ール ド を日付 と し て解釈する こ と は、 フ ィ ール ド 自体の中ではな く 、 それ
を処理する JavaScript コ ー ド の中でだけ明示的に指定する こ と がで き ます。 デ フ ォ ル ト : false
defaultdir
(文字列。 Launch) 起動する ア プ リ ケーシ ョ ンのためのデ フ ォル ト デ ィ レ ク ト リ を設定 し ます。 こ
れは、 Windows 版の Acrobat でだけ使え ます。 デ フ ォ ル ト : な し
destination
(オプ シ ョ ン リ ス ト 。 GoTo ・ GoToE ・ GoToR。 destname を与えていない と きは必須) 飛ば し たい移動
先を表 12.10 に従 っ て指定 し たオプ シ ョ ン リ ス ト 。
destname
(ハイパーテキス ト 文字列) GoTo (destination を与えていない と きは必須) : PDF_add_
nameddest( ) で定義 し ておいた移動先の名前。 こ の移動先は、 それを参照する前に作る こ と も、 後
に作る こ と も で き ます。
GoToR ・ GoToE (destination を与えていない と きは必須) : 別の文書の、 ま たは埋め込まれている
文書の中の移動先の名前。
duration
250
(float。 Trans) カ レ ン ト ページの表示遷移効果の継続時間を秒単位で設定 し ます. デ フ ォル ト : 1
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
表 12.8 PDF_create_action( ) のア ク シ ョ ン プ ロパテ ィ オプ シ ョ ン
オプ シ ョ ン
説明
exclude
(論理値) SubmitForm : true にする と 、 namelist オプ シ ョ ンは、 どのフ ィ ール ド を除外 し たいか
を指定 し ます。 文書の中のフ ィ ール ド は、 namelist 配列に挙げてあ る もの と 、 exportable オプ
シ ョ ン を false に し てある も の以外がすべて送信 さ れます。 false にする と 、 namelist オプ シ ョ
ンは、 どのフ ィ ール ド を送信に含めたいかを指定 し ます。 フ ィ ール ド グループ を指定 し ている と
きは、 その メ ンバー も すべて送信 さ れます。 デ フ ォル ト : false
ResetForm : true にする と 、 namelist オプ シ ョ ンは、 どのフ ィ ール ド を除外 し たいかを指定 し ま
す。 文書内のフ ィ ール ド は、 namelist 配列に挙げてあ る もの以外がすべて リ セ ッ ト さ れます。
false にする と 、 namelist オプ シ ョ ンは、 どのフ ィ ール ド を リ セ ッ ト に含めたいかを指定 し ます。
フ ィ ール ド グループ を指定 し ている と きは、 その メ ンバー も すべて リ セ ッ ト さ れます。 デ フ ォ ル
ト : false
exportmethod
(キーワー ド の リ ス ト 。 SubmitForm) フ ィ ール ド の名前 と 値の送信方法を制御 し ます。 デ フ ォ ル
ト : fdf。
html ・ fdf ・ xfdf ・ pdf
それぞれ、 HTML ・ FDF ・ XFDF ・ PDF 形式で
annotfields(fdf のみ) 注釈 と フ ィ ール ド をすべて含めます。
coordinate (html のみ) submitform ア ク シ ョ ン を引き起 こ し たマウス ク リ ッ クの座標を、 フ ォ ーム
デー タ に含めて送信 し ます。 座標の値は、 フ ィ ール ド の長方形の左上隅から 測っ た もの
です。
exclurl
(fdf のみ) 送信する FDF か ら url 文字列を除外 し ます。
getrequest (html ・ pdf のみ) HTTP GET を使っ て送信。 指定 し ない と HTTP POST
onlyuser
(fdf ・ annotfields のみ) リ モー ト サーバによ っ て決定 さ れる カ レ ン ト ユーザー名に一
致する名前の注釈だけを送信に含めます。
updates
(fdf のみ) その PDF 文書に入っ ている増分ア ッ プデー ト をすべて含めます
オプ シ ョ ンの組み合わせ例 : exportmethod {fdf updates onlyuser}
filename
(ハイパーテキス ト 文字列) GoToR ・ Launch (必須) : ア ク シ ョ ンが ト リ ガ さ れた時に開かれる、 外
部 (PDF で も それ以外で も) フ ァ イルまたはア プ リ ケーシ ョ ンの名前。 UNC フ ァ イル名は、
\\server\volume と 書 く 必要があ り ます。
ImportData (必須) : フ ォ ームデー タ の入 っ ている外部フ ァ イルの名前。
GoToE : 移動先のルー ト 文書の名前を、 移動元のルー ト 文書から相対的に指定 し ます。 こ の項目を
与え ない と きは、 移動元 と 移動先は同 じ ルー ト 文書を共有 し ます。
functionname
(ハイパーテキス ト 文字列。 RichMediaExecute。 必須) そのス ク リ プ ト コ マ ン ド を プ リ ミ テ ィ ブ
ActionScript または JavaScript 関数名 ( フルス ク リ プ ト ではな く ) と し て指定 し た文字列。
instance オプ シ ョ ンに よ っ て指定 さ れた タ ーゲ ッ ト イ ン ス タ ン スが Flash 内容を含んでいる場合に
は、 この コ マ ン ド 文字列は、 その タ ーゲ ッ ト イ ン ス タ ン スに独自のス ク リ プ ト エ ン ジ ン コ ン テキ
ス ト への ActionScript ExternalInterface 呼び出 し を表 し ます。 その タ ーゲ ッ ト イ ン ス タ ン スが 3D
モデルである場合には、 この呼び出 し は、 3D JavaScript エ ン ジ ンのその注釈のイ ン ス タ ン スのグ
ローバル コ ン テキス ト 内で行われます。
hide
(論理値。 Hide) 注釈を隠すか (true)、 それ と も 表示するか (false) を指定 し ます。 デ フ ォ ル
ト : true
instance
(整数。 RichMediaExecute) その RichMedia 注釈の、 そのス ク リ プ ト を実行する対象 と し たい Flash
または 3D イ ン ス タ ン ス を指定する、 PDF_create_annotation( ) の richmedia オプ シ ョ ンの
configuration サブオプ シ ョ ンの instances サブオプ シ ョ ン内のオプ シ ョ ン リ ス ト の番号(1 か ら始
ま る)。
ismap
(論理値。 URI。 PDF/UA-1 では true は不可) true にする と 、 url が解決 さ れた時に、 マウス位置
の座標が移動先 URI に追加 さ れます。 デ フ ォ ル ト : false
12.4 ア ク シ ョ ン
251
表 12.8 PDF_create_action( ) のア ク シ ョ ン プ ロパテ ィ オプ シ ョ ン
オプ シ ョ ン
説明
layerstate
(オプ シ ョ ン リ ス ト 。 SetOCGState。 必須) キーワー ド と レ イ ヤーハン ド ルか ら成るペアの リ ス ト 。
使え るキーワー ド :
on
レ イヤーを表示 し ます
off
レ イヤーを隠 し ます
toggle
レ イヤーのス テー タ ス を反転 さ せます。 こ れを使 う と きは、 preserveradio オプ シ ョ ン
を false に設定 し ている必要があ り ます。
menuname
(文字列。 Named。 必須) 実行 し たい メ ニ ュ ー項目の名前。 PDF/A では、 nextpage ・ prevpage ・
firstpage ・ lastpage だけが許 さ れます。 それ以外の場合は、 他の名前 も受け付けます。 他の メ
ニ ュ ー項目の名前を見つける ための完全な コ ー ド サン プルが ク ッ ク ブ ッ ク の interactive/
acrobat_menu_items ト ピ ッ ク にあ り ます。
namelist
(文字列の リ ス ト 。 Hide。 必須) 隠 し たいか、 あるいは表示 さ せたい注釈群またはフ ィ ール ド 群の
名前 (グループ名を含む)。
(SubmitForm) exclude オプ シ ョ ンの設定に よ っ て、 送信に含めたいか、 あ るいは除外 し たい
フ ォ ーム フ ィ ール ド 群の名前 (グループ名を含む)。 デ フ ォル ト : exportable オプ シ ョ ン を false
に し てある フ ィ ール ド 以外がすべて送信 さ れます。
(ResetForm) exclude オプ シ ョ ンの設定によ っ て、 リ セ ッ ト に含めたいか、 あ るいは除外 し たい
フ ォ ーム フ ィ ール ド 群の名前 (グループ名を含む)。 デ フ ォル ト : すべてのフ ィ ール ド が リ セ ッ ト
さ れます。
newwindow
(論理値。 GoToE ・ GoToR) 移動先の文書を新 し いウ ィ ン ド ウで開 く かど う かを指定する フ ラ グ。 こ
のフ ラ グ を false にする と 、 移動先の文書はカ レ ン ト 文書か ら同 じ ウ ィ ン ド ウの中で切 り 換わ り
ます。
Launch : こ の項目は、 フ ァ イルが PDF 文書で ない と きは無視 さ れます。 デ フ ォル ト : Acrobat は、
カ レ ン ト の環境設定に従っ て動作 し ます。
operation
(キーワー ド 。 Launch) filename オプ シ ョ ン で指定 し ている文書に適用 し たい操作を指定するキー
ワー ド 。 これは、 Windows 版の Acrobat でだけ使え ます。 filename オプ シ ョ ンが文書で な く ア プ リ
ケーシ ョ ン を指 し ている と きは、 こ のオプ シ ョ ンは無視 さ れて、 ア プ リ ケーシ ョ ンが起動 さ れま
す。 と り う るキーワー ド (デ フ ォ ル ト : open) :
open
文書を開き ます
print
文書を印刷 し ます
(キーワー ド 。 Movie) ムービーま たはサウ ン ド に適用 し たい操作を指定するキーワー ド 。 と り う
るキーワー ド (デ フ ォ ル ト : play) :
play
ムービーの再生を開始 し ます。 その際、 そのムービー注釈の playmode オプ シ ョ ン で指
定 さ れている モー ド を使用 し ます。 その時点でそのムービーが一時停止 さ れている と き
は、 再生位置を先頭へ戻 し てから 再生 さ れます。
stop
ムービーの再生を停止 し ます。
pause
ムービーの再生を一時停止 し ます。
resume
一時停止 さ れているムービーを再開 し ます。
parameters
(文字列。 Launch) filename オプ シ ョ ン で指定 し ている ア プ リ ケーシ ョ ンに渡 し たい引数文字列。
こ れは、 Windows 版の Acrobat でだけ使え ます。 複数の引数はスペースキ ャ ラ ク タ で区切る こ と が
で き ますが、 個々の引数には一切スペースキ ャ ラ ク タ を入れてはいけません。 filename が文書を
指 し ている と きは、 こ のオプ シ ョ ンは指定するべき ではあ り ません。 デ フ ォル ト : な し
preserveradio
(論理値。 SetOCGState) true にする と 、 レ イ ヤー間のラ ジオボ タ ン ス テー タ ス関係を保持 し ます。
デ フ ォ ル ト : true
252
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
表 12.8 PDF_create_action( ) のア ク シ ョ ン プ ロパテ ィ オプ シ ョ ン
オプ シ ョ ン
説明
richmediaargs
(POCA コ ン テナハン ド ル。 RichMediaExecute) そのコ マ ン ド に対する任意の数の引数を指定 し た
配列 コ ン テナに対するハン ド ル。 有効な引数は、 種別が文字列か整数か float か論理値のオブ ジ ェ
ク ト です。 この配列は、 オプ シ ョ ン usage=richmediaargs を用いて作成 さ れている必要があ り ま
す。 デ フ ォル ト : 引数な し
script
(ハイパーテキス ト 文字列。 JavaScript。 必須) 実行 さ せたい JavaScript コ ー ド を入れた文字列。
こ のオプ シ ョ ン を用いて任意の文字列を渡すためには、 10 ページ 「オプ シ ョ ン リ ス ト 内の括弧で
囲ま ない文字列」 で説明 し ている オプ シ ョ ン リ ス ト 文法が有用で し ょ う 。
scriptname
(ハイパーテキス ト 文字列。 JavaScript) 指定する と 、 script オプ シ ョ ン で与えている JavaScript
は、 文書レ ベルの指定名の JavaScript と し て挿入 さ れます。 文書内で同 じ scriptname を複数回与
え る と 、 最後のス ク リ プ ト だけが使われます。 文書レ ベルの JavaScript は、 Acrobat で文書が読み
込まれた後に実行 さ れます。 こ れは、 フ ォ ーム フ ィ ール ド で使いたいス ク リ プ ト で有用で し ょ う 。
submitemptyfields
(論理値。 SubmitForm) true にする と 、 namelist ・ exclude オプ シ ョ ン で決ま るすべてのフ ィ ール
ド が、 値を持つかど う かにかかわ ら ず、 送信 さ れます。 値のない フ ィ ール ド については、 フ ィ ー
ル ド 名だけが送信 さ れます。 false にする と 、 値のない フ ィ ール ド は送信 さ れません。 デ フ ォル
ト : false
target
(文字列。 GoTo3DView ・ Movie ・ RichMediaExecute。 必須) そのス ク リ プ ト を実行する対象 と し た
い、 PDF_create_annotation( ) の name オプ シ ョ ン で指定 さ れた通 り の、 タ ーゲ ッ ト 3D またはムー
ビーま たは リ ッ チ メ デ ィ ア注釈の名前。
targetpath
(オプ シ ョ ン リ ス ト 。 GoToE。 filename を指定 し ていなければ必須) 移動先文書のパス情報を指定
し た移動先オプ シ ョ ン リ ス ト (表 12.9 参照)。 各移動先オプ シ ョ ン リ ス ト は、 移動先へのフ ルパス
の中の 1 個の要素を指定 し 、 追加の要素群を持 っ たネス ト さ れた移動先オプ シ ョ ン リ ス ト 群を持
つ こ と も で き ます。
transition
(キーワー ド 。 Trans) 表示遷移効果を設定 し ます。 キーワー ド の一覧は表 3.9 を参照。 デ フ ォ ル
ト : replace
url
(文字列。 URI ・ SubmitForm。 必須) リ ン ク先を指定する (type=URI の場合)、 ま たは送信内容を処
理 さ せたい Web サーバ上のス ク リ プ ト のア ド レ ス を指定する (type=SubmitForm の場合) URL
(Uniform Resource Locator) を、 7 ビ ッ ト ASCII または EBCDIC (ただ し ASCII 文字だけを含む) で
エ ン コ ー ド し た もの。 任意の リ ソ ース (Web で も ロー カルで も) を指 し 示す こ と がで き、 先頭に
プ ロ ト コ ル識別子 (http:// な ど) が必要です。
表 12.9 PDF_create_action( ) の targetpath オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
annotation
(ハイパーテキス ト 文字列。 relation=child かつ移動先がフ ァ イル添付注釈に関連づけ られている
場合は必須) pagenumber か destname で指定 し たページ上の移動先のフ ァ イル添付注釈の名前を指
定 し ます。
destname
(ハイパーテキス ト 文字列。 pagenumber を与えていて、 かつ relation=child で、 し か も移動先が
フ ァ イル添付注釈に関連づけ られている場合以外は必須) 移動先の フ ァ イル添付注釈を内容 と し
て持つ カ レ ン ト 文書内のページに対する名前付き移動先を指定 し ます。 こ のオプ シ ョ ンは、
pagenumber を指定する と 無視 さ れます。
name
(ハイパーテキス ト 文字列。 relation=child かつ移動先が添付 リ ス ト 内に置かれている場合は必
須。 それ以外の場合は指定 し てはいけません。 annotation を指定する と 無視 さ れます) PDF_
begin/end_document( ) の添付 リ ス ト 内の移動先の名前。
12.4 ア ク シ ョ ン
253
表 12.9 PDF_create_action( ) の targetpath オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
pagenumber (整数。 destname を与えていて、 かつ relation=child で、 し か も移動先がフ ァ イル添付注釈に関
連づけ られている場合以外は必須。 destname を指定する と 無視 さ れます) 移動先のフ ァ イル添付
注釈を内容 と し て持つ カ レ ン ト 文書内のページの番号を指定 し ます。
relation
targetpath
254
(キーワー ド 。 必須) カ レ ン ト 文書 と 移動先 (中間移動先で も可) の関係を指定 し ます。 使え る
キーワー ド :
parent
移動先はカ レ ン ト 文書の親です。
child
移動先はカ レ ン ト 文書の子です。
(オプ シ ョ ン リ ス ト ) 追加の移動先文書のパス情報を表 12.9 に従 っ て指定 し た移動先オプ シ ョ ン リ
ス ト 。 こ のオプ シ ョ ン を指定 し ない と 、 カ レ ン ト 文書が、 移動先を含む移動先フ ァ イル と な り ま
す。
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
12.5 名前付 き移動先
C++ Java C# void add_nameddest(String name, String optlist)
Perl PHP add_nameddest(string name, string optlist)
C void PDF_add_nameddest(PDF *p, const char *name, int len, const char *optlist)
名前付 き 移動先を、 文書のページ上に作成 し ます。
name
(ハ イ パーテ キ ス ト 文字列) 移動先の名前。 リ ン ク 、 し お り 、 その他の ト リ ガの対
象 と し て使え ます。 移動先名は、 文書内で一意にする 必要があ り ます。 文書内で同 じ 名前
を複数回与え る と 、 最後の定義だけが使われて、 他は無警告で無視 さ れます。
(C 言語バ イ ンデ ィ ン グのみ) name の長 さ (バ イ ト 単位)。 len=0 にする と null 終了
len
文字列を与え る 必要があ り ます。
optlist
移 動 先 を 指 定 し た オ プ シ ョ ン リ ス ト 。 空 リ ス ト に す る と 、 {type=fitwindow
page=0} と 同義にな り ます。 以下のオプシ ョ ンが使え ます :
> 一般オプシ ョ ン群 : errorpolicy (表 2.1 参照) ・ hypertextencoding ・ hypertextformat (表
2.3 参照 )
> 表 12.10 に従っ た移動先制御オプシ ョ ン群 :
bottom ・ group ・ left ・ page ・ right ・ top ・ type ・ zoom
詳細 optlist で移動先の詳細を指定す る 必要があ り ます。 移動先は、 カ レ ン ト 文書の ど のページ
にあ っ て も か ま い ません。与え る name は、PDF_create_action( )・PDF_create_annotation( )・
PDF_create_bookmark( ) ・ PDF_begin/end_document( ) の destname オプシ ョ ン で使え ます。
こ のや り 方では、 移動先の定義 と 利用 と を、 2 つの別々の ス テ ッ プに分け る こ と がで き ま
す。
あ る いは、 移動先が利用の時にわか る 場合は、 こ れ ら の関数で destination オプシ ョ ン
を使っ て、 名前付 き 移動先の定義 と 利用を一度に行 う こ と も で き ま すので、 その場合は
PDF_add_nameddest( ) は必要あ り ません。
スコープ オブ ジ ェ ク ト 以外任意
表 12.10 PDF_add_nameddest( ) の移動先オプ シ ョ ン。 PDF_create_action( ) ・ PDF_create_annotation( ) ・ PDF_create_
bookmark( ) ・ PDF_begin/end_document( ) の destination オプ シ ョ ン で も使え ます。
オプ シ ョ ン
説明
bottom
(float。 type=fitrect のみ) ウ ィ ン ド ウの下端に合わせたい、 ページの y 座標。 デ フ ォ ル ト : 0
group
(文字列。 page オプ シ ョ ン を指定 し ている と き、 文書がページグループ を使っ ている な ら必須。 そ
れ以外な ら禁止) 移動先のページが属するページグループの名前。
left
(float。 type=fixed ・ fitheight ・ fitrect ・ fitvisibleheight のみ) ウ ィ ン ド ウの左端に合わせた
い、 ページの x 座標。 デ フ ォ ル ト : 0
page
(整数) 移動先ページのページ番号 (先頭ページは 1)。 ページは、 移動先 PDF に存在 し ている必
要があ り ます。 page 0 にする と 、 ページ ス コ ープの中ではカ レ ン ト ページ を、 文書ス コ ープの中
では page 1 を意味 し ます。 デ フ ォ ル ト : 0
right
(float。 type=fitrect のみ) ウ ィ ン ド ウの右端に合わせたい、 ページの x 座標。 デ フ ォ ル ト : 1000
top
(float。 type=fixed ・ fitwidth ・ fitrect ・ fitvisiblewidth のみ) ウ ィ ン ド ウの上端に合わせた
い、 ページの y 座標。 デ フ ォ ル ト : 1000
12.5 名前付き移動先
255
表 12.10 PDF_add_nameddest( ) の移動先オプ シ ョ ン。 PDF_create_action( ) ・ PDF_create_annotation( ) ・ PDF_create_
bookmark( ) ・ PDF_begin/end_document( ) の destination オプ シ ョ ン で も 使え ます。
オプ シ ョ ン
説明
type
(キーワー ド ) 対象ページ上でのウ ィ ン ド ウの位置を指定 し ます。 と り う るキーワー ド (デ フ ォ ル
ト : fitwindow) :
fitheight
ページの高 さ を ウ ィ ン ド ウに収めて、 x 座標 left をウ ィ ン ド ウの左端に合わせます。
fitrect
left ・ bottom ・ right ・ top で指定 し ている長方形を ウ ィ ン ド ウに収めます。
fitvisible
ページの描画領域 (ArtBox) を ウ ィ ン ド ウに収めます。
fitvisibleheight
ページの描画領域をウ ィ ン ド ウに収めて、 x 座標 left を ウ ィ ン ド ウの左端に合わせま
す。
fitvisiblewidth
ページの描画領域をウ ィ ン ド ウに収めて、 y 座標 top をウ ィ ン ド ウの上端に合わせま
す。
fitwidth ページの幅をウ ィ ン ド ウに収めて、 y 座標 top をウ ィ ン ド ウの上端に合わせます。
fitwindow ページ全体をウ ィ ン ド ウに収めます。
fixed
zoom
256
left ・ top ・ zoom オプ シ ョ ン で指定 し ている、 固定 し た移動先表示を使います。 こ れ ら
のいずれかを指定 し ない と 、 そのカ レ ン ト 値が保たれます。
(float またはパーセ ン ト 値。 type=fixed のみ) ページ内容の表示に使いたい倍率 (1 が 100% を意
味 し ます)。 このオプ シ ョ ン を指定 し ないか、 ま たは 0 にする と 、 リ ン クが押 さ れた時に適用 さ れ
ていた表示倍率が保たれます。
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
12.6 PDF パ ッ ケージ ・ ポー ト フ ォ リ オ
ポー ト フ ォ リ オの諸機能は、 以下の関数 と オプシ ョ ン を用いて実装 さ れてい ます :
> ポー ト フ ォ リ オ を作成す る には、PDF_end_document( ) の portfolio オプシ ョ ン を用い ま
す。 こ の関数については 43 ページ 「3.1 文書関数」 で説明 し てお り 、 こ の portfolio オ
プシ ョ ンについては表 12.13 で後述 し ます。
> フ ァ イ ル と フ ォ ルダ を ポー ト フ ォ リ オに追加す る には、 PDF_add_portfolio_folder( ) と
PDF_add_portfolio_file( ) を用い ます。 こ れ ら の関数については後述 し ます。
> ポー ト フ ォ リ オ内 を ナ ビ ゲー ト す る た めの ア ク シ ョ ン を 作成す る には、 PDF_create_
action( ) と type=GoToE を用い ます (249 ページ 「12.4 ア ク シ ョ ン」 を参照)。
C++ Java C# int add_portfolio_folder(int parent, String, foldername, String optlist)
Perl PHP int add_portfolio_folder(int parent, string foldername, string optlist)
C int PDF_add_portfolio_folder(PDF *p, int parent, const char *foldername, int len, const char *optlist)
新規ま たは既存のポー ト フ ォ リ オに フ ォ ルダ を追加 し ます (要 PDF 1.7ext3)。
parent 親フ ォ ルダ を、こ れ以前に PDF_add_portfolio_folder( ) を呼び出 し て返 さ れた フ ォ
ン ト ハン ド ルで指定す る か、 ま たはルー ト フ ォ ルダの場合は -1 (PHP では 0)。
foldername (ハ イ パーテ キ ス ト 文字列で 1 ~ 255 キ ャ ラ ク タ 。 キ ャ ラ ク タ / \ : * " < > |
は使っ てはいけ ま せん。 最後のキ ャ ラ ク タ は ピ リ オ ド 「.」 に し てはいけ ま せん) フ ォ ル
ダの名前。 同 じ 親を持つ 2 個の フ ォ ルダが、 大文字 ・ 小文字を無視 し た と き に同 じ 名前を
持っ てはいけ ません。 ルー ト フ ォ ルダの名前は Acrobat では無視 さ れます。
len (C 言語バ イ ンデ ィ ン グ) foldername の長 さ (バ イ ト 単位で)。 len=0 と す る と 、 null
終端文字列を与え る 必要があ り ます。
optlist ポー ト フ ォ リ オのプ ロ パテ ィ 群を指定 し たオプシ ョ ン リ ス ト 。 以下のオプシ ョ ン
が使え ます :
> 一般オプシ ョ ン群 : errorpolicy (表 2.1 参照) ・ hypertextencoding ・ hypertextformat (表
2.3 参照 )
> 表 13.6 に従っ た、 フ ォ ルダプ ロ パテ ィ 群のためのオプシ ョ ン : description ・ thumbnail
> 表 12.11 に従っ た メ タ デー タ オプシ ョ ン : fieldlist
戻り値 PDF_add_portfolio_folder( ) ま たは PDF_add_portfolio_file( ) で使え る ハン ド ル。
詳細 生成 さ れた フ ォ ルダ構造は、 カ レ ン ト 文書の PDF ポー ト フ ォ リ オを作成す る ために使わ
れます。こ の フ ォ ルダ構造は PDF_end_document( ) の後に削除 さ れます。こ の関数は、PDF_
begin_document( ) に attachments オプシ ョ ン を与え てい る と き は使っ てはいけ ません。
スコープ オブ ジ ェ ク ト 以外任意
表 12.11 PDF_add_portfolio_folder( ) ・ PDF_add_portfolio_file( ) のオプ シ ョ ン
オプ シ ョ ン
説明
fieldlist
(オプ シ ョ ン リ ス ト の リ ス ト ) フ ァ イルかフ ォ ルダの メ タ デー タ フ ィ ール ド 群を指定 し ます。 各 リ
ス ト は、 PDF_end_document( ) の portfolio オプ シ ョ ンの schema サブオプ シ ョ ンの中のフ ィ ール ド
を指 し 示 し ます。 使え るサブオプ シ ョ ン を表 12.12 に挙げます。
12.6 PDF パ ッ ケージ ・ ポー ト フ ォ リ オ
257
C++ Java C# int add_portfolio_file(int folder, String filename, String optlist)
Perl PHP int add_portfolio_file(int folder, string filename, string optlist)
C int PDF_add_portfolio_file(PDF *p, int folder, const char *filename, int len, const char *optlist)
ポー ト フ ォ リ オの フ ォ ルダ ま たはパ ッ ケージに フ ァ イ ルを追加 し ます (要 PDF 1.7)。
folder こ れ以前に PDF_add_portfolio_folder( ) を呼び出 し て返 さ れた フ ォ ン ト ハン ド ル
か、 ま たはルー ト フ ォ ルダの場合は -1 (PHP では 0)。 ルー ト フ ォ ルダでない フ ォ ルダは
要 PDF 1.7ext3 です。
filename (名前文字列。 filenamehandling グ ロ ーバルオプシ ョ ンに従っ て解釈 さ れます。
表 2.3 参照) PDF ポー ト フ ォ リ オの指定 し た フ ォ ルダに付けたいデ ィ ス ク 上の フ ァ イ ルか
仮想フ ァ イ ルの名前。 PDF_begin_document( ) の createpvf オプシ ョ ン を使えば、 一時フ ァ
イ ルをデ ィ ス ク 上に一切作 ら ずに、 文書を メ モ リ 内で作成 し て、 それを受け渡 し て PDF
ポー ト フ ォ リ オの中に入れ る こ と がで き ます。
Acrobat は、 Acrobat 内か ら フ ァ イ ルを開 く 際に、 ど のアプ リ ケーシ ョ ン を起動す る か
を、 その フ ァ イ ル名の拡張子を用いて決め る こ と に留意 し て く だ さ い。 適切な拡張子を
持っ た フ ァ イ ル名を、 外部的な制約のために使 う こ と がで き ない と き は、 かわ り に PVF
フ ァ イ ル (任意の フ ァ イ ル名が使え ます) を作成する こ と も で き ます。
len (C 言語バ イ ンデ ィ ン グ) filename の長 さ (バ イ ト 単位で)。 len=0 と す る と 、 null 終
端文字列を与え る 必要があ り ます。
optlist フ ォ ン ト のプ ロ パテ ィ 群を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン群 : errorpolicy (表 2.1 参照) ・ hypertextformat (表 2.3 参照 )
> 表 13.6 に従っ た、 フ ァ イ ルプ ロ パテ ィ 群のためのオプシ ョ ン :
description ・ filename ・ mimetype ・ name ・ password ・ relationship ・ thumbnail
> 表 12.11 に従っ た メ タ デー タ オプシ ョ ン : fieldlist
戻り値
フ ァ イ ルの追加が成功 し た と き は値 1、 関数呼び出 し が失敗 し た と き はエ ラ ーコ ー ド -1
(PHP では 0)。 errorpolicy=exception と す る と 、 こ の関数はエ ラ ー時に例外を発生 さ せま
す。 PDF 文書群は、 変更日 と 作成日を取得す る ために開かれます。 PDF 文書を開 く こ と
がで き なかっ た と き (パ ス ワー ド を与え なかっ た場合等) も 、 その文書は PDF ポー ト フ ォ
リ オの中へ取 り 込まれます。
詳細 指定 し た フ ァ イ ルが、PDF 1.7ext3のポー ト フ ォ リ オの指定 し た フ ォ ルダに、ま たはPDF 1.7
のパ ッ ケージに付け ら れます。PDI が利用で き る 場合は、PDF 文書群は可能な ら ば開かれ、
そ の 作 成日 と 変更 日 が ポ ー ト フ ォ リ オ に 書 き 込 ま れ ま す。 こ の 関数 は、 PDF_begin_
document( ) に attachments オプシ ョ ン を与え てい る と き は使っ てはいけ ません。
PDF/A PDF/A-1 : こ の関数を呼び出 し てはいけ ません。
PDF/A-2 : filename は、 PDF/A-1 ま たは PDF/A-2 文書を参照 し てい る 必要があ り ます。
い く つかのオプシ ョ ンは制約 さ れます。 表 13.6 を参照 し て く だ さ い。
PDF/A-3 : 任意の フ ァ イ ル種別を追加で き ます。 relationship オプシ ョ ンが必須です。 パ ッ
ケージに追加 さ れた フ ァ イ ルは、 暗黙に文書全体に関連付け ら れます。
スコープ オブ ジ ェ ク ト 以外任意
258
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
表 12.12 PDF_add_portfolio_folder( ) と PDF_add_portfolio_file( ) の fieldlist オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
key
(文字列。 必須) フ ィ ール ド の名前。 こ れは、 PDF_end_document( ) の portfolio オプ シ ョ ンの
schema サブオプ シ ョ ンの中のキーを指 し 示す必要があ り ます。 名前は一意であ る必要があ り ます。
prefix
(ハイパーテキス ト 文字列) ユーザーに見せる フ ィ ール ド 値の頭に付ける接頭辞文字列。 Acrobat
は こ の項目を type=text の場合にのみ用います。 デ フ ォ ル ト : な し
type
(キーワー ド ) フ ィ ール ド のデー タ 種別。 使え るキーワー ド (デ フ ォル ト : text) :
value
text
テキス ト フ ィ ール ド : フ ィ ール ド 値はハイパーテキス ト 文字列 と し て格納 さ れます。
date
日付フ ィ ール ド : フ ィ ール ド 値は PDF 日付文字列 と し て格納 さ れます。
number
数値フ ィ ール ド : フ ィ ール ド 値は PDF 数値 と し て格納 さ れます。
(ハイパーテキス ト 文字列。 必須) PDF_end_document( ) の portfolio オプ シ ョ ンの schema サブオ
プ シ ョ ンの中の フ ィ ール ド の値を指定 し ます。 そのデー タ 種別を type オプ シ ョ ン で指定する必要
があ り 、 かつ、 こ れを portfolio オプ シ ョ ンの schema サブオプ シ ョ ンの照応する type サブオプ
シ ョ ンに一致 さ せる必要があ り ます。
表 12.13 PDF_end_document( ) の portfolio オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
coversheet
(ハイパーテキス ト 文字列) ユーザー イ ン タ フ ェ ースで最初に見せるポー ト フ ォ リ オ内のフ ァ イル
の名前。 デ フ ォ ル ト : ポー ト フ ォ リ オ を含む文書
coversheetfolder
( フ ォ ルダハン ド ル) coversheet オプ シ ョ ン で指定 さ れた フ ァ イルを含んでいるポー ト フ ォ リ オの
中のフ ォ ルダの名前。 その coversheet 名のフ ァ イルが、 複数のポー ト フ ィ リ オ フ ォルダ内に存在
し てお り 、 coversheetfolder が指定 さ れていない場合には、 最初に出現 し た ものが使われます。
デ フ ォル ト : な し
initialview
(キーワー ド ) 初期表示を指定 し ます。 使え るキーワー ド (デ フ ォ ル ト : detail) :
navigator
custom
(PDF 1.7ext3。 navigator オプ シ ョ ンが必須) そのポー ト フ ォ リ オはカ ス タ ムの Flash
ベースのナビゲー タ に よ っ て表現 さ れます。
detail
ポー ト フ ォ リ オ を詳細モー ド で表示 し ます。 すなわち、 schema オプ シ ョ ン内のすべて
の情報を多段組の形で表示 し ます。 こ のモー ド がユーザーに最 も多 く の情報を提供 し ま
す (Acrobat : 「上に表示」)。
hidden
ポー ト フ ォ リ オ を初め非表示に し ます。 ユーザーが明示的に操作すればフ ァ イル一覧を
得る こ と はで き ます (Acrobat : 「最小化表示」)。
tile
ポー ト フ ォ リ オ を タ イルモー ド で表示 し ます。 すなわち、 コ レ ク シ ョ ン内の各フ ァ イル
を小 さ なア イ コ ン で表 し 、 schema オプ シ ョ ン内の情報の一部分を表示 し ます。 こ の
モー ド はユーザーに フ ァ イル添付に関する ト ッ プ レ ベルな情報を提供 し ます (Acrobat :
「左に表示」)。
(オプ シ ョ ン リ ス ト 。 PDF 1.7ext3。 initialview=custom では必須) そのポー ト フ ォ リ オに カ ス タ ム
の Flash ベースのナビゲー タ を埋め込みます。 こ のカ ス タ ムナ ビゲー タ を、 その文書が開かれた際
に実際に使用するには、 view=custom を用います。 こ う し ない場合には、 そのナ ビゲー タ は、 その
ポー ト フ ォ リ オ を編集する ためには使用で き ますが、 その文書を開いた歳にア ク テ ィ ブにはな り
ません。 使え るサブオプ シ ョ ン群を表 12.14 に挙げています。
そのポー ト フ ォ リ オ を Acrobat で編集する際には、 利用可能なポー ト フ ォ リ オ レ イ アウ ト 群の一覧
内で、 category ・ description ・ icon ・ name の値を用いてそのナビゲー タ が表現 さ れます。
12.6 PDF パ ッ ケージ ・ ポー ト フ ォ リ オ
259
表 12.13 PDF_end_document( ) の portfolio オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
schema
(オプ シ ョ ン リ ス ト の リ ス ト ) ポー ト フ ォ リ オの メ タ デー タ スキーマ : 各オプ シ ョ ン リ ス ト は、
フ ォルダま たはフ ァ イルの fieldlist 内のキーに、 ま たは標準 フ ィ ール ド の名前に照応する一意
な名前を持つ フ ィ ール ド を定義 し ます。 こ れら のフ ィ ール ド は、 Acrobat でのポー ト フ ォ リ オの表
示動作を定義 し ます (デ フ ォ ル ト : Acrobat は、 フ ァ イル名 ・ サイ ズ ・ 変更日 ・ 説明 (あれば) を
表示 し ます) :
sort
editable
(論理値) Acrobat が フ ィ ール ド 値の編集を許すべきかど う かを指定 し ます。 デ フ ォル
ト : false
key
(文字列。 必須) 初期フ ィ ール ド 名。 こ れは一意である必要があ り ます。
以下の名前 (ユーザー定義 フ ィ ール ド には使え ません) を用いる と 、 内蔵 フ ィ ール ド に
新たな ラ ベルを割 り 当て る こ と がで き ます : _creationdate ・ _description ・ _
filename ・
_moddate ・ _size。
label
(ハイパーテキス ト 文字列。 必須) ユーザーに見せる フ ィ ール ド ラ ベルのテキス ト 。
order
(整数) ユーザー イ ン タ フ ェ ースでの フ ィ ール ド の相対順序 (1,2,3,...)
type
(キーワー ド ) フ ィ ール ド のデー タ 種別。 以下の種別を用いて、 fieldlist オプ シ ョ ン
内のユーザー定義フ ィ ール ド を指 し 示す こ と がで き ます (デ フ ォル ト : text) :
text
ハイパーテキス ト 文字列
date
PDF 日付文字列
number 数値
visible
(論理値) ユーザー イ ン タ ー フ ェ ースでのフ ィ ール ド の初期の表示 ・ 非表示。 デ フ ォ ル
ト : true。 ただ し 、 ユーザー定義フ ィ ール ド があ る と きは、 Acrobat は、 内蔵 フ ィ ール
ド を、 それら を表示する と 明示的に指定 さ れていない限 り 、 非表示に し ます。
(オプ シ ョ ン リ ス ト の リ ス ト 。 各 リ ス ト は文字列 1 個 と 、 オプ シ ョ ナルなキーワー ド 1 個を内容 と
し て持ち ます) schema オプ シ ョ ン で指定 し た フ ィ ール ド 群をユーザー イ ン タ フ ェ ースで並べ替え
る順序を指定 し ます。 各サブ リ ス ト は、 フ ィ ール ド 名 (必須) と キーワー ド 1 個 (オプ シ ョ ナル)
を内容 と し て持ち ます。 使え るキーワー ド (デ フ ォル ト : ascending) :
ascending フ ィ ール ド 値を昇順で並べ替え ます。
descending フ ィ ール ド 値を降順で並べ替え ます。
Acrobat はこ の リ ス ト を用いて、 ポー ト フ ォ リ オ内の リ ス ト を並べ替え ます。 この リ ス ト は、 追加
のフ ィ ール ド 群が並べ替えに寄与で き る よ う にする ために用い られ、 追加の各フ ィ ール ド を用い
て順序の決定が推進 さ れます : schema オプ シ ョ ン内の複数のフ ィ ール ド が リ ス ト 内の 1 番目の
フ ィ ール ド で同 じ 値を持つ と きは、 リ ス ト 内の後続の フ ィ ール ド 群が並べ替えに用い られ、 それ
は順序が一意に定ま るか、 あるいはフ ィ ール ド 名を使い果たすま で続け ら れます。 デ フ ォル ト :
並べ替え し ない
split
260
(オプ シ ョ ン リ ス ト 。 PDF 1.7ext3) 分割バーの向き と 位置を指定 し ます。 デ フ ォ ル ト は
initialview オプ シ ョ ン に依存 し ます : 値 detail (または値な し ) は横向き を暗示 し 、 tile は縦
向き を意味 し ます。 initalview=hidden にする と 分割バーは用い られません。 使え るサブオプ シ ョ
ン:
direction
(キーワー ド ) 分割バーの向き。 使え るキーワー ド :
horizontal ウ ィ ン ド ウ を横に分割 し ます。
vertical
ウ ィ ン ド ウ を縦に分割 し ます。
none
ウ ィ ン ド ウ を分割 し ません。 ウ ィ ン ド ウ全体がフ ァ イルナビゲーシ ョ ン表示
に用い ら れます。
position
(パーセ ン ト 値) 分割バーの初期位置を、 得 られる ウ ィ ン ド ウ領域に対するパーセ ン ト
値 と し て指定 し ます。 使え る値は範囲 0 ~ 100 です。 こ の項目は、 direction=none に
する と 無視 さ れます。 デ フ ォ ル ト : ビ ュ ーア依存
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
表 12.14 PDF_add_portfolio_folder( ) ・ PDF_add_portfolio_file( ) の portfolio オプ シ ョ ンの navigator サブオプ シ ョ ンの
サブオプ シ ョ ン
オプ シ ョ ン
説明
apiversion
(文字列。 必須) そのナ ビゲー タ SWF フ ァ イルに よ っ て要求 さ れる ナ ビゲー タ API のバージ ョ ン。
形式 m[.n[.p[.q]]] の文字列 と し て指定 さ れます。 こ こ で m ・ n ・ p ・ q は非負整数です。 存在 し な
い場合は、 n ・ p ・ q はデ フ ォル ト 0 と な り ます。 以下のエ ン ト リ が推奨 さ れます :
Acrobat 9 で使 う 場合 : 9.0.0.0
Acrobat X で使 う 場合 : 9.5.0.0
assets
(オプ シ ョ ン リ ス ト の リ ス ト 。 必須) そのナ ビゲー タ を実装する ために用い ら れる アセ ッ ト 群。 た
と えば Flash フ ァ イル 1 個 と 、 ア イ コ ン 1 個 と 、 その他の リ ソ ース群、 た と えば画像や XML フ ァ
イルな ど。 使え るサブオプ シ ョ ン :
asset
(アセ ッ ト ハン ド ル。 必須) PDF_load_asset( ) を用いて読み込まれたアセ ッ ト に対するハ
ン ド ル。
name
(1 ~ 255 キ ャ ラ ク タ のハイパーテキス ト 文字列。キ ャ ラ ク タ : * " < > | を用いてはいけま
せん。 末尾のキ ャ ラ ク タ はピ リ オ ド 「.」 であ っ てはいけません。 必須) Flash コ ー ド 内
でそのアセ ッ ト を識別する ために用いる こ と がで き る その名前。
category
(ハイパーテキス ト 文字列) そのナビゲー タ が表示 さ れる カ テ ゴ リ
description
(ハイパーテキス ト 文字列) そのナビゲー タ の説明
flash
(ハイパーテキス ト 文字列。 必須) assets オプ シ ョ ン リ ス ト 内の、 type=Flash を持っ た、 その
ポー ト フ ォ リ オ レ イ アウ ト を実装する SWF コ ー ド を内容 と し て持つアセ ッ ト の名前。
icon
(ハイパーテキス ト 文字列) assets オプ シ ョ ン リ ス ト 内の、 type=JPEG か PNG を持 っ た、 そのナ ビ
ゲー タ のためのア イ コ ン を内容 と し て持つアセ ッ ト の名前。 ただ し 、 JPEG 画像は Acrobat では動
作が一貫 し ないよ う ですので、 PNG 画像の使用を推奨 し ます。 Acrobat での最良の結果のためには
サイ ズ 42x42 を推奨 し ます。
id
(文字列。 version が指定 さ れている場合には必須) そのナビゲー タ に対する一意 ID を表 し た、
URI と し て表現 さ れた文字列。 バージ ョ ニ ングスキームを実装する場合には、 そのナ ビゲー タ のす
べてのバージ ョ ン を通 し て同一の id を与え る こ と が必要です。 id が指定 さ れない場合には、
PDFlib は、 マ シ ン生成 GUID に基づいて URN を生成 し ます。
loadtype
(キーワー ド ) そのナビゲー タ SWF を読み込むために用い られる方式。 使え るキーワー ド (デ フ ォ
ル ト はキーワー ド default) :
module
ナビゲー タ SWF が Adobe Flex 2 モ ジ ュ ール と し て読み込まれます。
default ナ ビゲー タ SWF が通常の SWF フ ァ イル と し て読み込まれます。
locale
(文字列) Unicode 技術規格 #35 に従 っ た ロ ケールを持っ た文字列。 例 : en_GB ・ de_DE ・ zh_Hans
name
(ハイパーテキス ト 文字列。 必須) そのポー ト フ ォ リ オの名前
strings
(ハイパーテキス ト 文字列のペアの リ ス ト ) そのナ ビゲー タ に対する ロー カ ラ イ ズ さ れた文字列
群。 各ペアは、 ロー カ ラ イ ズ さ れた文字列に対する識別子 と 、 そのロー カ ラ イ ズ さ れた文字列自
体から成 り ます。
version
(文字列。 id オプ シ ョ ンが必須) そのナビゲー タ のバージ ョ ン。 形式 m[.n[.p[.q]]] の文字列 と し
て指定 し ます。 こ こ で m ・ n ・ p ・ q は非負整数です。 存在 し ない場合には、 n ・ p ・ q はデ フ ォル ト
0 と な り ます。
12.6 PDF パ ッ ケージ ・ ポー ト フ ォ リ オ
261
12.7 地理空間機能
地理空間機能は、 以下の関数 と オプシ ョ ンで実装 さ れます :
> PDF_begin/end_page_ext( ) の viewports オプシ ョ ン を用いて、ページに 1個ない し 複数の
地理参照付 き 領域を割 り 当て る こ と がで き ます。
> PDF_load_image( ) の georeference オプシ ョ ン を用いて、地球ベース座標系を画像に割 り
当て る こ と がで き ます。
地理空間機能のためのオプシ ョ ン群を、 表 12.15 以降に詳 し く 示 し ます。
表 12.15 PDF_begin/end_page_ext( ) の viewports オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
boundingbox
(長方形。 必須) ページ上のビ ュ ーポー ト の位置をデ フ ォ ル ト 座標で指定 し た長方形。
georeference (オプ シ ョ ン リ ス ト 。 必須) 地理空間計測に用いる ためビ ュ ーポー ト に関連付け ら れる世界座標系
の記述。 使え るオプ シ ョ ンは表 12.16 を参照。
hypertextencoding
(キーワー ド ) name オプ シ ョ ンのエ ン コ ーデ ィ ン グ を指定 し ます。 空文字列は unicode と 同等で
す。 デ フ ォル ト : hypertextencoding グ ローバルオプ シ ョ ンの値
name
(ハイパーテキス ト 文字列) ビ ュ ーポー ト の説明 タ イ ト ル (地図名)。 ただ し 、 Acrobat は こ の
ビ ュ ーポー ト 名をユーザー イ ン タ フ ェ ースに表示 し ません。
表 12.16 PDF_load_image( ) の georeference オプ シ ョ ンのサブオプ シ ョ ン。 PDF_begin/end_page_ext( ) の viewports
オプ シ ョ ンの georeference サブオプ シ ョ ンのサブオプ シ ョ ン と し て も用い られます
オプ シ ョ ン
説明
angularunit
(キーワー ド ) 求める角度表示単位を指定 し ます (デ フ ォ ル ト : deg) :
areaunit
degree
度
grad
グ ラ ー ド (全円の 1/400、 すなわち 0.9 度)
(キーワー ド ) 求める面積表示単位を指定 し ます (デ フ ォ ル ト : sqm) :
sqm
平方 メ ー ト ル
ha
ヘ ク タ ール (10,000 平方 メ ー ト ル)
sqkm
平方キロ メ ー ト ル
sqft
平方フ ィ ー ト
a
エー カ ー
sqmi
平方マ イル
こ こ で指定 し た単位は、 以下の Acrobat の設定を無効に し ている と きのみ、 表示に用い られます :
「環境設定」 → 「 もの さ し (地図情報)」 → 「デ フ ォル ト の面積単位を使用」。
bounds
(折れ線で点 2 個以上) 地理空間変換が有効 と な る領域の境界を指定 し ます (地図では、 こ の境界
折れ線は図郭線 と し て知ら れています)。 点群は、 ページ ビ ュ ーポー ト の境界枠に対 し て、 または
画像の寸法に対 し て相対的に表現 し ます。 デ フ ォ ル ト : {0 0 0 1 1 1 1 0}、 すなわち ビ ュ ーポー
ト ・ 画像領域全体が地図に用い ら れます。
displaysystem
(オプ シ ョ ン リ ス ト ) 緯度 ・ 経度 と い っ た位置の値をユーザーに見せる表示に用いる座標系を表
12.17 に従っ て指定 し ます。 こ の項目を利用する と 、 地図を指定する ために coords オプ シ ョ ン で
与えた座標系以外の座標系で座標を表示する こ と がで き ます。
262
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
表 12.16 PDF_load_image( ) の georeference オプ シ ョ ンのサブオプ シ ョ ン。 PDF_begin/end_page_ext( ) の viewports
オプ シ ョ ンの georeference サブオプ シ ョ ンのサブオプ シ ョ ン と し て も 用い ら れます
オプ シ ョ ン
linearunit
説明
(キーワー ド ) 求める距離表示単位を指定 し ます (デ フ ォ ル ト : m) :
m
メートル
km
キロ メ ー ト ル
ft
国際フ ィ ー ト
usft
米国測量 フ ィ ー ト
mi
国際マ イル
nm
海里
こ こ で指定 し た単位は、 以下の Acrobat の設定を無効に し ている と きのみ、 表示に用い られます :
「環境設定」 → 「も の さ し (地図情報)」 → 「デ フ ォル ト の距離単位を使用」。
mappoints
(float ペア 2 個以上の リ ス ト 。 必須) 数値の リ ス ト で、 各ペアが 2D 単位正方形内の点を定義 し ま
す。 この単位正方形は、 ページ ビ ュ ーポー ト の、 または georeference オプ シ ョ ン を含む画像の長
方形境界へマ ッ プ さ れます。 こ の mappoints リ ス ト は、 worldpoints リ ス ト と 同 じ 数の点を内容 と
し て持つ必要があ り 、 各点は、 worldpoints リ ス ト 内の地理空間位置に照応する単位正方形内の地
図位置 と な り ます。
worldpoints
(float ペア 2 個以上の リ ス ト 。 必須) 座標ペアの リ ス ト で、 各ペアが、 mappoints オプ シ ョ ン内の
それぞれの点の世界座標を指定 し ます。 こ のペアの数は、 mappoints オプ シ ョ ン内のペアの数 と 一
致する必要があ り ます。 座標値は、 worldsystem オプ シ ョ ン で指定 し た座標系に基づ き ます :
type=geographic の と きは、 緯度 ・ 経度値を度単位で与え る必要があ り ます。 type=projected の
と きは、 投影 さ れた x ・ y 値を与え る必要があ り ます。
worldsystem (オプ シ ョ ン リ ス ト 。 必須) 表 12.17 に従っ た世界座標系 (worldpoints の解釈のための)。
表 12.17 PDF_load_image( ) の georeference オプ シ ョ ンの mapsystem ・ displaysystem サブオプ シ ョ ンのサブオプ
シ ョ ン。 PDF_begin/end_page_ext( ) の viewports オプ シ ョ ンの georeference サブオプ シ ョ ンのサブオプ シ ョ ン と し
て も 用い ら れます
オプ シ ョ ン
説明
epsg
(整数。 epsg か wkt のいずれか 1 つだけ を必ず与え る必要があ り ます) 座標系を EPSG 参照コ ー ド
で指定 し ます。 なお、 Acrobat 9 は type=geographic の と きは EPSG コ ー ド に対応 し ていませんの
で、 その場合は wkt を用いて く だ さ い。
type
(キーワー ド 。 必須) 座標系の種類を指定 し ます :
geographic 測地座標系 (wkt のみ対応)
projected 投影座標系 (wkt に も epsg に も対応)
wkt
(文字列で最大 1024 ASCII キ ャ ラ ク タ 。 epsg か wkt のいずれか 1 つだけを必ず与え る必要があ り
ます) 座標系を 「Well Known Text」 (WKT) の文字列で指定 し ます。 WKT は、 EPSG コ ー ド を全 く
持たない カ ス タ ム座標系に対 し て推奨 さ れます。
12.7 地理空間機能
263
264
第 12 章 : イ ン タ ラ ク テ ィ ブ機能
13 マルチ メ デ ィ ア機能
13.1 3D アー ト ワー ク
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルが ク ッ ク ブ ッ クの multimedia/starter_3d ト ピ ッ ク にあ り ます。
3D 機能群は、 以下の関数 と オプシ ョ ン を用いて実装 さ れてい ます :
> 3D デー タ を読み込むには、PDF_load_3ddata( ) を用い ます。 こ の関数については後述 し
ます。
> 3D ビ ュ ーを作成す る には、 PDF_create_3dview( ) を用い ます。 こ の関数については後述
し ます。
> 3D 注釈を作成す る には、PDF_create_annotation( ) と type=3D を用い ます。こ の関数につ
いては、 231 ページ 「12.2 注釈」 で説明 し てい ます。 ただ し 、 こ の関数の、 3D 注釈を
制御す る ためのオプシ ョ ン群については、 表 13.4 で後述 し ます。
> 3D
注釈を制御す る ためのア ク シ ョ ン を作成する には、 PDF_create_action( )
と
type=3Dview を用い ます (249 ページ 「12.4 ア ク シ ョ ン」 を参照)。
C++ Java C# int load_3ddata(String filename, String optlist)
Perl PHP int load_3ddata(string filename, string optlist)
C int PDF_load_3ddata(PDF *p, const char *filename, int len, const char *optlist)
3D モデルを、 デ ィ ス ク ベース ま たは仮想フ ァ イ ルか ら 読み込みます (要 PDF 1.6)。
filename (名前文字列。 filenamehandling グ ロ ーバルオプシ ョ ンに従っ て解釈 さ れます。
表 2.3 参照) 3D モデルの入っ た、 デ ィ ス ク ベース ま たは仮想フ ァ イ ルの名前。
len (C 言語バ イ ンデ ィ ン グのみ) filename の長 さ (バ イ ト 単位)。 len=0 にする と null 終
了文字列を与え る 必要があ り ます。
optlist 3D モデルのプ ロ パテ ィ 群を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン群 : errorpolicy (表 2.1 参照) ・ hypertextencoding (表 2.3 参照)
> 表 13.1 に従っ て 3D モデルのプ ロ パテ ィ 群を指定する オプシ ョ ン群 :
defaultview ・ script ・ type ・ views
戻り値 3D ハン ド ル。 PDF_create_annotation( ) で 3D 注釈を作成する のに使え ます。 3D ハン ド ル
は、 カ レ ン ト の文書ス コ ープ を終え る ま で使え ます。 errorpolicy=return の場合、 戻 り 値 1 (PHP では 0) はエ ラ ーを示すので、 そ う でないか を呼び出 し 側で検査す る 必要があ り
ます。
詳細
フ ァ イ ルは、 PRC ま たは U3D 形式の 3D デー タ を内容 と し て持つ必要があ り ます。
スコープ オブ ジ ェ ク ト 以外任意。 返 さ れたハン ド ルは、 次に PDF_end_document( ) を呼び出すま で
使え ます。
13.1 3D アー ト ワー ク
265
表 13.1 PDF_load_3ddata( ) のオプ シ ョ ン
オプ シ ョ ン
説明
defaultview
(キーワー ド ま たは 3D ビ ュ ーハン ド ル) 3D 注釈の初期ビ ュ ーを指定 し ます。 キーワー ド first ・
last (views オプ シ ョ ンの中の各項目を参照する) のいずれか、 または PDF_create_3dview( ) で作
成 し た 3D ビ ュ ーハン ド ル。 デ フ ォ ル ト : first
script
(ハイパーテキス ト 文字列) 3D モデルが実体化 さ れた時に実行 さ せたい JavaScript コ ー ド を入れた
文字列。 デ フ ォ ル ト : ス ク リ プ ト な し
type
views
(キーワー ド ) 3D デー タ の種類を指定 し ます (デ フ ォ ル ト : U3D) :
PRC
(PDF 1.7ext3) Product Representation Compact (PRC) 形式 (ISO 14739-1)
U3D
(PDF 1.6) Universal 3D File 形式 (U3D)。 以下の種類が使え ます (www.ecmainternational.org 参照) : Universal 3D File Format (U3D), 1st Edition ・ ECMA-363, Universal
3D File Format (U3D), 3rd Edition。
(3D ビ ュ ーハン ド ルの リ ス ト ) 3D モデルに対する定義済みビ ュ ーの リ ス ト 。 リ ス ト の各要素は、
PDF_create_3dview( ) で作成 し た 3D ビ ュ ーハン ド ルです。 ビ ュ ー群を PDF_create_3dview( ) で作成
し た際に用い られた type オプ シ ョ ンは、 PDF_create_3ddata( ) 内の type オプ シ ョ ン と 一致 し てい
る必要があ り ます。 デ フ ォ ル ト : 空 リ ス ト
C++ Java C# int create_3dview(String username, String optlist)
Perl PHP int create_3dview(string username, string optlist)
C int PDF_create_3dview(PDF *p, const char *username, int len, const char *optlist)
3D ビ ュ ーを作成 し ます (要 PDF 1.6)。
username
(ハ イ パーテ キ ス ト 文字列) 3D ビ ュ ーのユーザー イ ン タ フ ェ ース名。
len (C 言語バ イ ンデ ィ ン グのみ) username の長 さ (バ イ ト 単位)。 len=0 にする と null
終了文字列を与え る 必要があ り ます。
optlist 3D ビ ュ ーのプ ロ パテ ィ 群を指定 し たオプシ ョ ン リ ス ト :
> 一般オプシ ョ ン群 : errorpolicy (表 2.1 参照) ・ hypertextencoding (表 2.3 参照)
> 3D ビ ュ ーのプ ロ パテ ィ 群を表 13.2 に従っ て指定する オプシ ョ ン群 :
background・camera2world・cameradistance・lighting・name・rendermode・type・U3Dpath
戻り値 3D ビ ュ ーハン ド ル。 カ レ ン ト の文書ス コ ープ を終え る ま で使え ます。 errorpolicy=return
の場合、 戻 り 値 -1 (PHP では 0) はエ ラ ーを示すので、 そ う でないかを呼び出 し 側で検査
す る 必要があ り ます。
詳細 3D ビ ュ ーハン ド ルは、 PDF_load_3ddata( ) の views オプシ ョ ンで 3D モデルに関連づけ る
こ と も で き ま す し 、 あ る いは PDF_create_annotation( ) で 3D 注釈を作成 し た り 、 PDF_
create_action( ) で 3D 関連のア ク シ ョ ン を作成 し た り する のに使 う こ と も で き ます。
スコープ オブ ジ ェ ク ト 以外任意。 返 さ れたハン ド ルは、 次に PDF_end_document( ) を呼び出すま で
使え ます。
カ メ ラ 位置 カ メ ラ の位置は camera2world オプシ ョ ンで指定す る こ と がで き ます。 あ る
いは、 JavaScript コ ー ド を付けて、 カ メ ラ のモデルに対す る 位置 と 向 き を指定す る こ と も
で き ます。 PDFlib ク ッ ク ブ ッ ク に、 こ の よ う な JavaScript コ ー ド を 3D モデルに付け る サ
ンプル コ ー ド があ り ます。
266
第 13 章 : マルチ メ デ ィ ア機能
表 13.2 PDF_create_3dview( ) のオプ シ ョ ン
オプ シ ョ ン
説明
background
(オプ シ ョ ン リ ス ト ) 3D モデルの背景を指定 し ます :
fillcolor
(色) 背景色を RGB 色空間で表現 し ます。 デ フ ォ ル ト : 白
entire
(論理値) true にする と 、 背景は注釈全体に適用 さ れます。 そ う でなければ、 注釈の
3Dbox オプ シ ョ ン で指定 し てあ る長方形にだけ適用 さ れます。 デ フ ォル ト : false
camera2world
(float 12 個の リ ス ト ) カ メ ラの位置 と 向き を世界座標で指定 し た 3D 変換行列 (以下説明参照)。
デ フ ォル ト : 3D モデルの中で内部的に定義 さ れた初期ビ ュ ー
cameradistance
(float。 負値は不可。 camera2world を指定 し ない と 無視 さ れます) カ メ ラ と 軌道中心の距離。 詳 し
く は、 ISO 32000-1 の section 13.6.4 「3D Views」 の CO キーの説明を参照。 デ フ ォ ル ト : 3D デー タ
の中で内部的に定義
lighting
(オプ シ ョ ン リ ス ト 。 PDF 1.7) 3D アー ト ワー ク の照明方式を指定 し ます。 以下のオプ シ ョ ン を使
え ます :
type
(キーワー ド ) 照明方式を指定 し ます。 使え るキーワー ド (デ フ ォ ル ト : Artwork) :
Artwork 光は 3D アー ト ワー ク内で指定 さ れる。
None
光な し 。 3D アー ト ワー ク 内で指定 さ れている光は無視 さ れます。
White
3 個のラ イ ト グ レー無限遠光、 ア ン ビ エ ン ト 項な し
Day
3 個のラ イ ト グ レー無限遠光、 ア ン ビ エ ン ト 項な し
Night
黄色 1 個 ・ ア ク ア色 1 個 ・ 青 1 個の無限遠光、 ア ン ビ エ ン ト 項な し
Hard
3 個のグ レー無限遠光、 中程度のア ン ビ エ ン ト 項
Primary 赤 1 個 ・ 緑 1 個 ・ 青 1 個の無限遠光、 ア ン ビ エ ン ト 項な し
Blue
3 個の青色無限遠光、 ア ン ビ エ ン ト 項な し
Red
3 個の赤色無限遠光、 ア ン ビ エ ン ト 項な し
Cube
長軸に沿っ て配置 さ れた 6 個のグ レー無限遠光、 ア ン ビ エ ン ト 項な し
CAD
3 個のラ イ ト グ レー無限遠光 と カ メ ラ に付いた光 1 個、 ア ン ビ エ ン ト 項な し
Headlamp カ メ ラ に付いた 1 個の無限遠光、 低いア ン ビ エ ン ト 項
name
(ハイパーテキス ト 文字列) 3D ビ ュ ーの名前。 GoTo ア ク シ ョ ン で使 う こ と がで き ます。 こ れは必
須ではない内部的な名前であ り 、 必須の username 引数 と は別個に扱われます。
rendermode
(オプ シ ョ ン リ ス ト 。 PDF 1.7) 3D アー ト ワー ク を表示する ためのレ ン ダモー ド を指定 し ます。 使
え るサブオプ シ ョ ン を表 13.3 に挙げます。
type
(キーワー ド 。 このビ ュ ーが PDF_load_3ddata( ) で type=PRC で使われる な ら必須) 3D デー タ の種別
を指定 し ます (デ フ ォ ル ト : U3D) :
U3Dpath
PRC
こ のビ ュ ーは、 PDF_load_3ddata( ) で type=PRC で使用 さ れる。
U3D
こ のビ ュ ーは、 PDF_load_3ddata( ) で type=U3D で使用 さ れる。
(ハイパーテキス ト 文字列。 camera2world オプ シ ョ ンが指定 さ れている場合には無視 さ れます。
type=U3D の場合み) 3D アー ト ワー ク内のビ ュ ー ノ ー ド にア ク セスする ために用い られる ビ ュ ー
ノ ー ド 名。
以下の値を camera2world オプシ ョ ンに与え る と 、代表的な カ メ ラ 位置を実現す る こ と
がで き ます。 x ・ y ・ z は、 カ メ ラ の位置を記述す る 適切な値です。 こ れ ら の値は、 定め ら
れた条件を満たす必要があ り ます (後述参照) :
前か ら のビ ュ ー :
{-1 0 0 0 0 1 0 1 0 x y z} x小、y大負、z小
左か ら のビ ュ ー :
{ 0 1 0 0 0 1 1 0 0 x 0 z} x大負、z小
13.1 3D アー ト ワー ク
267
上か ら の ビ ュ ー :
{-1 0 0 0 1 0 0 0 -1 x 0 z} x小、z大負
後ろか ら の ビ ュ ー :
{ 1 0 0 0 0 1 0 -1 0 x y z} x小、y大正、z小
下か ら の ビ ュ ー :
{-1 0 0 0 -1 0 0 0 1 x 0 z} x小、z大負
右か ら の ビ ュ ー :
{ 0 -1 0 0 0 1 -1 0 0 x 0 z} x大正、z小
等角ビ ュ ー、 すなわち投影の方向が 3 軸すべて と 等 し い角度で交わ る 場合。 こ の よ う な
ビ ュ ーはち ょ う ど 8 個、 八分空間ご と に 1 個ずつあ り ます :
{0.707107 -0.707107 0 -0.5 -0.5 0.707107 -0.5 -0.5 -0.707107 x y z}
x, y, z large positive
x ・ y ・ z 値は、 モデルの位置 と サ イ ズに応 じ て選ぶ必要があ り ます。 「大」 は、 カ メ ラ と モ
デルの間に充分大 き な距離を と る ために、その値を モデルのサ イ ズ よ り かな り 大 き く す る
必要があ る こ と を意味 し ます。 値が大 き すぎ る と 、 モデルは非常に小 さ く 表示 さ れ、 そ し
て ビ ュ ーを回転 さ せ る と すぐ に視界か ら 外れて し ま い ます。 値が小 さ すぎ る と 、 モデルは
ビ ュ ーに収 ま り き り ません。 「小」 は、 その絶対値を、 大 き な値に比べて小 さ し 、 モデル
のサ イ ズ を あ ま り 大 き く 超え ない よ う にす る 必要があ る こ と を意味 し ます。
表 13.3 PDF_create_3dview( ) の rendermode オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
crease
(float で範囲 0 ~ 180) 折 り 目値
facecolor
(RGB カ ラ ーまたはキーワー ド 、 type=Illustration のみ) 表面色。 この色はい く つかのレ ン ダ
モー ド で用い られます。 キーワー ド backgroundcolor はカ レ ン ト 背景色を意味 し ます。 デ フ ォル
ト : backgroundcolor
opacity
(float で範囲 0 ~ 1、 またはパーセ ン ト 値) い く つかのレ ン ダモー ド における不透明値。 デ フ ォ ル
ト : 0.5
rendercolor
(RGB カ ラ ー) 補助色。 この色はい く つかのレ ン ダモー ド で用い ら れます。 デ フ ォ ル ト : 黒
268
第 13 章 : マルチ メ デ ィ ア機能
表 13.3 PDF_create_3dview( ) の rendermode オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
type
(キーワー ド 。 PDF 1.7) 3D アー ト ワー ク を表示する ためのレ ン ダモー ド (デ フ ォ ル ト :
Artwork) :
Artwork
レ ン ダモー ド は 3D アー ト ワー ク内で指定 さ れる。 rendermode オプ シ ョ ンの こ れ以外の
サブオプ シ ョ ンはすべて無視 さ れます。
Solid
テ ク スチ ャ付き で照明 さ れた幾何図形輪郭群を表示。
SolidWireframe
テ ク スチ ャ付き で照明 さ れた、 単色の辺を持っ た幾何図形輪郭 (三角形) 群を表示。
Transparent
テ ク スチ ャ付き で照明 さ れた、 追加の透過の水準を持っ た幾何図形輪郭 (三角形) 群を
表示。
TransparentWireframe
テ ク スチ ャ付き で照明 さ れた、 追加の透過の水準を持っ た幾何図形輪郭 (三角形) 群を
表示。
BoundingBox
テ ク スチ ャ付き で照明 さ れた、 追加の透過の水準を持っ た、 単色の不透明な辺を持 っ た
幾何図形輪郭 (三角形) 群を表示。
TransparentBoundingBox
各節点の、 その節点に対する局所座標空間の軸に沿っ た、 追加の透過の水準を持っ た境
界枠の面を表示。
TransparentBoundingBoxOutline
各節点の、 その節点に対する局所座標空間の軸に沿っ た、 追加の透過の水準を持っ た境
界枠の辺 と 面を表示。
Wireframe 各節点の、 その節点に対する局所座標空間の軸に沿っ た、 追加の透過の水準を持っ た境
界枠の辺 と 面を表示。
ShadedWireframe
辺のみを、 ただ し その 2 個の頂点の間でその色を補間 し 、 かつ照明を適用 し て表示。
HiddenWireframe
辺を単色で、 ただ し 後ろ向きの辺 と 隠 さ れた辺を除いて表示。
Vertices
頂点のみを単色で表示。
ShadedVertices
頂点のみを、 ただ し その頂点色を用いて、 かつ照明を適用 し て表示。
Illustration表面を持 っ たシルエ ッ ト 辺を、 隠線を除いて表示。
SolidOutline
照明 さ れテ ク スチ ャ付きの表面を持 っ たシルエ ッ ト 辺を、 隠線を除いて表示。
ShadedIllustration
照明 さ れテ ク スチ ャ付きの表面を持 っ た、 アー ト ワー ク の弱 く 照明 さ れた領域を除 く た
めの追加の放射項目を持っ たシルエ ッ ト 辺を表示。
13.1 3D アー ト ワー ク
269
表 13.4 PDF_create_annotation( ) で type=3D の場合の 3D オプ シ ョ ン
オプ シ ョ ン
説明
3Dactivate
(オプ シ ョ ン リ ス ト 。 type=3D のみ) 3D 注釈を ア ク テ ィ ブにする タ イ ミ ング と 、 ア ク テ ィ ブ ・ 非ア
ク テ ィ ブに し た と きの状態を指定 し ます。 使え るサブオプ シ ョ ン :
enable
(キーワー ド ) 注釈をいつ起動するべきかを指定 し ます (デ フ ォ ル ト : click) :
open
ページ を開いた時に起動。
visible
ページが見えた時に起動。
click
注釈は、 ス ク リ プ ト かユーザーア ク シ ョ ン で明示的に起動する必要がある。
enablestate (キーワー ド ) 初期アニ メ ーシ ョ ン ス テー タ ス (デ フ ォル ト : play) :
pause
3D モデルが実体化 さ れるが、 ス ク リ プ ト ア ニ メ ーシ ョ ンは無効にな る。
play
3D モデルが実体化 さ れる。 ス ク リ プ ト アニ メ ーシ ョ ンがある と きはそれが
有効にな り ます。
disable
(キーワー ド ) 注釈をいつ起動解除するべきかを指定 し ます (デ フ ォル ト :
invisible) :
close
ページ を閉 じ た時に起動解除。
invisible ページが見えな く な っ た時に起動解除。
click
注釈は、 ス ク リ プ ト かユーザーア ク シ ョ ン で明示的に起動解除する必要があ
る。
disablestate (キーワー ド ) 注釈を起動解除 し た際の状態 (デ フ ォ ル ト : reset) :
pause
3D モデルはレ ン ダ リ ン グで き るが、 ア ニ メ ーシ ョ ンは無効にな る。
play
3D モデルはレ ン ダ リ ン グで き、 アニ メ ーシ ョ ンは有効にな る。
reset
3D モデルを使 う 前の任意の初期状態。
modeltree (論理値。 PDF 1.6) true にする と 、 注釈のア ク テ ィ ベーシ ョ ン時にモデルツ リ ーナ ビ
ゲーシ ョ ン タ ブが開かれます (デ フ ォル ト : false)
toolbar
(論理値。 PDF 1.6) true にする と 、 注釈のア ク テ ィ ベーシ ョ ン時に 3D ツールバー (注釈
の上部の) が表示 さ れます (デ フ ォ ル ト : true)
3Ddata
(オプ シ ョ ン リ ス ト 。 type=3D のみ。 必須) PDF_load_3ddata( ) で作成 し た 3D ハン ド ル。
3Dinteractive
(論理値。 type=3D のみ) true にする と 、 3D モデルはイ ン タ ラ ク テ ィ ブ な用途を想定 し ます。
false にする と 、 JavaScript で動か さ れる こ と を想定 し ます。 デ フ ォ ル ト : true
3Dshared
(論理値。 type=3D のみ) true にする と 、 3Ddata オプ シ ョ ン で指定 し ている 3D デー タ は、 間接的
に参照 さ れます。 同 じ デー タ を参照する複数の 3D 注釈は、 そのモデルのただ 1 つの動作時実体を
共有 し ます。 こ れはすなわち、 変更はそのよ う な注釈すべてにおいて同時に見え る こ と を意味 し
ます。 デ フ ォ ル ト : false
3Dinitialview
(キーワー ド ま たは 3D ビ ュ ーハン ド ル) 3D モデルの初期ビ ュ ーを指定 し ます。 キーワー ド
first ・ last ・ (モデルの views オプ シ ョ ンの中の各項目を参照する) ・ default (モデルの
defaultview オプ シ ョ ン を参照する) のいずれか、 または PDF_load_3ddata( ) で作成 し た 3D ビ ュ ー
ハン ド ル。 デ フ ォル ト : default
270
第 13 章 : マルチ メ デ ィ ア機能
13.2 ア セ ッ ト ・ リ ッ チ メ デ ィ ア機能 (Flash)
マルチ メ デ ィ ア機能群は、 以下の関数 と オプシ ョ ン を用いて実装 さ れてい ます :
> リ ッ チ メ デ ィ ア 注釈内で使用す る た め の マルチ メ デ ィ ア ア セ ッ ト を 読み込むには、
PDF_load_asset( ) を用い ます。 こ れを用いて、 フ ァ イ ル添付 と し て使用 さ れ る アセ ッ ト
を読み込む こ と も で き ます。 こ の関数については後述 し ます。
> リ ッ チ メ デ ィ ア注釈を作成す る には、PDF_create_annotation( ) と type=RichMediaを用い
ます。 こ の関数については、 231 ページ 「12.2 注釈」 で説明 し てい ます。 ただ し 、 こ
の関数の richmedia オプシ ョ ンの関連サブオプシ ョ ン群については、 表 13.7 以下の表
群で後述 し ます。
> リ ッ チ メ デ ィ ア注釈を制御す る ためのア ク シ ョ ン を作成す る には、PDF_create_action( )
と type=RichMediaExecute を用い ます (249 ページ 「12.4 ア ク シ ョ ン」 を参照)。
PDF_load_asset( )
を 用 い て 読 み 込 ま れ た ア セ ッ ト を、 PDF_create_annotation( )
type=FileAttachment か Movie を用いて使用す る こ と も で き ます。
と
C++ Java C# int load_asset(String type, String filename, String optlist)
Perl PHP int load_asset(string type, string filename, string optlist)
C int PDF_load_asset(PDF *p, const char *type, const char *filename, int len, const char *optlist)
リ ッ チ メ デ ィ ア アセ ッ ト か フ ァ イ ル添付を、デ ィ ス ク ベース ま たは仮想フ ァ イ ルか ら 読み
込みます。
type
読み込まれ る アセ ッ ト の種別を表 13.5 に従っ て指定 し た キーワ ー ド 。
表 13.5 アセ ッ ト 種別
種別
使え る内容
アセ ッ ト を使え る関数 と オプ シ ョ ン / サブオプ シ ョ ン
3D
U3D ・ PRC
PDF_create_annotation( ) : richmedia/configurations/instances/asset
Attachment1 PDF/A-2 : PDF/A1 ・ PDF/A-2 のみ。
それ以外 : 任意
PDF_end_document( ) : attachments
PDF_create_annotation( ) : attachment
PDF/A-3 のみ : PDF_end_document( ) ・ PDF_begin/end_page_ext( ) ・ PDF_begin/
end_dpart( ) ・ PDF_begin_template_ext( ) ・ PDF_load_image( ) ・ PDF_open_pdi_
page( ) ・ PDF_load_graphics( ) : associatedfiles
Flash
Shockwave (*.swf)
PDF_create_annotation( ) : richmedia/configurations/instances/asset
PDF_end_document( ) : portfolio/navigator/flash
Generic
任意
PDF_create_annotation( ) : richmedia/assets
PDF_end_document( ) : portfolio/navigator/assets
JavaScript
ECMAScript エデ ィ
シ ョ ン 2 を内容 と す
る テキス ト フ ァ イ
ル
PDF_create_annotation( ) : richmedia/activate/script
JPEG
JPEG 画像
PDF_end_document( ) : portfolio/navigator/icon
PNG
PNG 画像
PDF_end_document( ) : portfolio/navigator/icon
Sound
MP3 な ど
PDF_create_annotation( ) : richmedia/configurations/instances/asset
13.2 アセ ッ ト ・ リ ッ チ メ デ ィ ア機能 (Flash)
271
表 13.5 ア セ ッ ト 種別
種別
使え る内容
アセ ッ ト を使え る関数 と オプ シ ョ ン / サブオプ シ ョ ン
Video
FLV ・ QuickTime ・
F4V ・ H.264 な ど
PDF_create_annotation( ): richmedia/configurations/instances/asset
1. PDF_add_portfolio_folder/file( ) に対 し て、 また、 PDF_begin/end_document( ) の attachments オ プ シ ョ ン に対するサブ オプ シ ョ
ン と し て用いる場合には、 type=Attachment と 暗黙に見な さ れます。
2. ISO 8859-1 エ ン コ ーデ ィ ン グか、 BOM 付き UTF-16 LE ま たは BE で
filename (名前文字列。 filenamehandling グ ロ ーバルオプシ ョ ンに従っ て解釈 さ れます。
表 2.3 参照) PDF フ ァ イ ル内に埋め込まれ る デ ィ ス ク ベース ま たは仮想フ ァ イ ルの名前。
Unicode フ ァ イ ル名が使え ますが、 ただ し Acrobat で正 し く 表示 さ れ る ためには PDF 1.7
が必要です。
len (C 言語バ イ ンデ ィ ン グのみ) filename の長 さ (バ イ ト 単位で)。 len = 0 の場合には、
ヌ ル終端文字列を与え る 必要があ り ます。
optlist 以下のオプシ ョ ン を内容 と す る こ と がで き る オプシ ョ ン リ ス ト :
> すべての種別に対す る 一般オプシ ョ ン : errorpolicy (表 2.1 参照)
> type=Attachment の場合には、表 13.6 に従っ た さ ら な る 添付特性オプシ ョ ン群を使え ま
す:
description ・ documentattachment ・ external ・ filename ・ mimetype ・ name ・ password ・
relationshipthumbnail
戻り値
リ ッ チ メ デ ィ アか フ ァ イ ル添付に対す る アセ ッ ト ハン ド ル。 こ のハン ド ルは、 それを囲 う
文書ス コ ープの終了ま での間、 表 13.5 に挙げ る 関数群で使用す る こ と がで き ます。 返 さ
れた アセ ッ ト ハン ド ルを、 複数の PDF 文書にわた っ て再利用す る こ と はで き ません。
errorpolicy=return の場合には、戻 り 値が -1 であ る か ど う かを呼び出 し 側でチ ェ ッ ク す
る 必要があ り ます。 なぜな ら -1 はエ ラ ーを知 ら せてい る か ら です。 こ の関数呼び出 し が
失敗 し た場合には、 その失敗の理由を、 PDF_get_errmsg( ) を用いて要求す る こ と も で き ま
す。
詳細
こ の関数は、 type=Attachment の場合にはすべての PDF 互換レベルで使用す る こ と がで
き 、 それ以外のすべての種別では PDF 1.7ext3 を必要 と し ます。
PDF/A PDF/A-1 : こ の関数を呼び出 し てはいけ ません。
PDF/A-2 : filename は、 PDF/A-1 ま たは PDF/A-2 文書を参照 し てい る 必要があ り ます。
い く つかのオプシ ョ ンは制約 さ れます。
PDF/A-3 : い く つかのオプシ ョ ンは制約 さ れます。 添付はそれぞれ、 その文書のち ょ う ど
1 つの部分 と 紐付け ら れ る 必要があ り ます。 すなわち、 こ の生成 さ れた アセ ッ ト ハン ド ル
を、 ち ょ う ど 1 つの associatedfiles オプシ ョ ンに与え る 必要があ り ます。
PDF/X PDF/X-1a/3 : こ の関数を呼び出 し てはいけ ません。
スコープ オブ ジ ェ ク ト 以外任意
表 13.6 PDF_load_asset( ) の type=Attachment の場合の、 または PDF_add_portfolio_folder/file( ) の、 または PDF_
begin/end_document( ) の attachments オプ シ ョ ンに対するサブオプ シ ョ ン と し て用いる ためのオプ シ ョ ン
オプ シ ョ ン
説明
description
(ハイパーテキス ト 文字列。 PDF 1.6。 PDF/A-2/3 と PDF/UA-1 では推奨) その フ ァ イルに紐付け
られる説明テキス ト 。
272
第 13 章 : マルチ メ デ ィ ア機能
表 13.6 PDF_load_asset( ) の type=Attachment の場合の、 または PDF_add_portfolio_folder/file( ) の、 または PDF_
begin/end_document( ) の attachments オプ シ ョ ンに対するサブオプ シ ョ ン と し て用いる ためのオプ シ ョ ン
オプ シ ョ ン
説明
documentattachment
(論理値。 PDF/A-3 ・ PDF 2.0 でのみ、 かつ relationship オプ シ ョ ンが指定 さ れている場合のみ
可。 PDF_add_portfolio_file/folder( ) では不可) その連携フ ァ イルを、 文書レ ベル添付 (埋め込み
フ ァ イル) と し て も保存 し ます。 こ れは、 連携 フ ァ イルデー タ 構造群を認識 し ない PDF ビ ュ ーア
( これは Acrobat X/XI/DC も 含みます) のユーザー イ ン タ フ ェ ースで添付群を リ ス ト する ために有
用で し ょ う 。 デ フ ォル ト : false
external
(論理値。 PDF/A では false と する必要があ り ます。 attachments オプ シ ョ ン と PDF_add_portfolio_
file/folder( ) では不可) true の場合、 そのフ ァ イルの内容は PDF 内に埋め込まれず、 外部フ ァ イル
への参照だけが作成 さ れます。 こ のオプ シ ョ ン external=true は、 ムービーでは、 Acrobat がその
ムービーを再生で き る よ う にする ために必須です。 デ フ ォル ト : false
filename
(名前文字列) その フ ァ イルの名前。 その内容は、 指定 さ れた種別に応 じ て表 13.5 に挙げている必
要条件群に準拠 し ている必要があ り ます。 Unicode フ ァ イル名を使え ますが、 Acrobat での正 し い
表示のためには PDF 1.7 が必要です。 こ のオプ シ ョ ンは、 PDF_load_asset( ) ・ PDF_add_portfolio_file/
folder( ) の関数引数 filename を通 じ て与え る こ と も で き ますが、 PDF_begin/end_document( ) の
attachments オプ シ ョ ン と と も に用い ら れる場合には必須です。 こ の filename の、 デ ィ レ ク ト リ 構
成要素を除いたベース部分だけが PDF 出力へ書き出 さ れます。
mimetype
(文字列。 PDF/A-3 では必須。 PDF_add_portfolio_folder( ) では不可) そのフ ァ イルの MIME タ イ プ。
その MIME タ イ プが未知の場合には、 PDF/A-3 では、 文字列 application/octet-stream を用いる
必要があ り ます。
name
(ハイパーテキス ト 文字列。 PDF_add_portfolio_folder( ) では不可) その添付の名前。 デ フ ォ ル ト :
filename から パス構成要素を除いた もの
password
(最長 127 キ ャ ラ ク タ の文字列。 PDF/A-2 では不可。 PDI が利用可能な場合のみ可。 PDF_add_
portfolio_folder( ) では不可) 保護 さ れた PDF 文書を、 その日付エ ン ト リ 群を取得する ために開 く た
めに必要な PDF マ ス タ ーパスワー ド 。
relationship
(ハイパーテキス ト 文字列。 PDF 2.0 ・ PDF/A-3 でのみ可。 PDF/A-3 では必須。 PDF_add_portfolio_
folder( ) では不可) その フ ァ イルの、 それが紐付け られる文書の部分に対する関係。 こ の値は任意
の文字列 と する こ と がで き ますが、 PDF/A-3 規格では以下の定義済みキーワー ド が挙げ られてい
ます :
Alternative
そのフ ァ イルは代替表現であ る (オーデ ィ オな ど)
Data
そのフ ァ イルは視覚表現を導出する ために用い ら れる情報を表 し ている (表やグ ラ フの
ための CSV デー タ な ど)
そのフ ァ イルは元ソ ース素材である (その文書に紐付け られたワー ド プ ロ セ ッ サ文書
や、 画像に紐付け られたス プ レ ッ ド シー ト な ど)。
Supplement
そのフ ァ イルは、 元ソ ース またはデー タ の、 よ り 容易に消費可能であ ろ う 補足表現を表
し ている (画像内の数式の MathML 表現な ど)。
Unspecified
その関係は未知である、 ない し は他のキーワー ド で表現で き ない。
Source
thumbnail
(画像ハン ド ル) そのフ ァ イルのためのサムネール と し て使用 し たい画像。 こ のハン ド ルは、 PDF_
load_image( ) を用いて作成 さ れている必要があ り 、 かつ こ の画像は、 PDF_add_thumbnail( ) に対 し て
挙げている必要条件群を満た し ている必要があ り ます。 Acrobat は、 添付のためのサムネールを無
視 し ます。
13.2 アセ ッ ト ・ リ ッ チ メ デ ィ ア機能 (Flash)
273
表 13.7 PDF_create_annotation( ) の type=RichMedia の場合の richmedia オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
activate
(オプ シ ョ ン リ ス ト ) 表 13.8 に従っ た、 表現のス タ イル、 デ フ ォ ル ト ス ク リ プ ト 動作、 デ フ ォル ト
ビ ュ ー情報、 およびそのア ニ メ ーシ ョ ンが起動 さ れた際のア ニ メ ーシ ョ ン ス タ イルを指定 し たオ
プシ ョ ン リ ス ト 。
assets
(オプ シ ョ ン リ ス ト の リ ス ト 。 必須) Flash 内容から 参照で き る名前付き ア セ ッ ト :
asset
name
configuration
(アセ ッ ト ハン ド ル。 必須) PDF_load_asset( ) を用いて読み込まれたア セ ッ ト に対するハ
ン ド ル。
(1 ~ 255 キ ャ ラ ク タ のハイパーテキス ト 文字列。キ ャ ラ ク タ : * " < > | を使 っ てはいけま
せん。 末尾キ ャ ラ ク タ を ピ リ オ ド 「.」 と し てはいけません。 必須) Flash コ ー ド 内で こ
のアセ ッ ト を識別する ために使用で き る、 こ のア セ ッ ト の名前。
(オプ シ ョ ン リ ス ト 。 必須) こ の構成オプ シ ョ ン リ ス ト は、 1 個ない し 複数のイ ン ス タ ン スオプ
シ ョ ン リ ス ト を内容 と する こ と がで き ます。 その type オプ シ ョ ンは、 こ れら のイ ン ス タ ン スの コ
レ ク シ ョ ンに対する動作を記述する こ と を支援 し ます。 た と えば、 FLV 映像フ ァ イルは、 それを
閲覧する ために、 SWF フ ァ イルを必要 と するかも し れません。 こ の構成の中における主要イ ン ス
タ ン スは SWF フ ァ イルであるかも し れませんが、 その注釈は映像再生を意図 し た も のですので、
し たが っ て、 種別 Video を持つべき です。 こ の type を設定する こ と は、 そのア セ ッ ト の、 作成者
の意図する用途を提示 し ますので、 作成または編集工程の間に内容個別ユーザー イ ン タ フ ェ ース
を表示する際にその選択肢を よ り 良 く 通知 し ます。 使え る オプ シ ョ ン :
instances (オプ シ ョ ン リ ス ト の リ ス ト 。 必須) リ ス ト はそれぞれ、 ア セ ッ ト 1 個の単一のイ ン タ
フ ェ ース を、 注釈 1 個のアー ト ワー ク を入れ込むための設定 と と も に指定 し ます。 使え
るオプ シ ョ ン :
asset
(ハイパーテキス ト 文字列。 必須) assets オプ シ ョ ン で指定 さ れた リ ッ チ メ
デ ィ ア アセ ッ ト 名。 種別 3D ・ Flash ・ Sound ・ Video の リ ッ チ メ デ ィ ア アセ ッ
ト の名前のみを こ こ では指定で き ます。
params
(オプ シ ョ ン リ ス ト 。 type=Flash でのみ可) 表 13.10 に従っ た、 Flash アセ ッ ト
に関連する引数群。
deactivate
name
(ハイパーテキス ト 文字列) こ の構成の一意名。
type
(キーワー ド ) こ の構成に対する主要内容種別。 有効なキーワー ド は 3D ・ Flash ・
Sound ・ Video です。 デ フ ォ ル ト : こ のシーン種別は、 instances オプ シ ョ ン リ ス ト の 1 個
目の要素で指定 さ れている フ ァ イルフ ァ イルの種別を参照する こ と によ っ て決定 さ れま
す。
(オプ シ ョ ン リ ス ト ) 読み込み解除 ( リ ス タ ー ト か一時停止) の条件を指定 し ます :
condition (キーワー ド ) こ の注釈がいつ起動解除 さ れるかを指定 し ます (デ フ ォ ル ト :
clicked) :
clicked
こ の注釈は、 ユーザーア ク シ ョ ンかス ク リ プ ト に よ っ て明示的に起動解除 さ
れる。
closed
こ の注釈は、 こ の注釈を内容 と するページがカ レ ン ト ページ と し ての フ ォ ー
カ ス を失 っ た時にただ ちに起動解除 さ れる。
invisible こ の注釈は、 こ の注釈を内容 と するページが見えな く な っ た時にただ ちに起
動解除 さ れる。
views
274
(3D ビ ュ ーハン ド ルの リ ス ト ) PDF_create_3dview( ) に よ っ て返 さ れた 3D ビ ュ ーハン ド ル。 ビ ュ ー
が指定 さ れない場合には、 3D ビ ュ ーの、 レ ン ダ リ ング / ラ イ ト ニ ングモー ド 群、 背景色、 カ メ ラ
デー タ と い っ た構成要素群に対 し て、 デ フ ォル ト 値群が使用 さ れます。 デ フ ォ ル ト : 空 リ ス ト
第 13 章 : マルチ メ デ ィ ア機能
表 13.8 PDF_create_annotation( ) の richmedia オプ シ ョ ンの activate サブオプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
animation
(オプ シ ョ ン リ ス ト ) このアー ト ワー ク内に存在するキー フ レームアニ メ ーシ ョ ン群を駆動する希
望方式。 使え るオプ シ ョ ン :
playcount (整数) 非負数は、 こ のア ニ メ ーシ ョ ンが再生 さ れる回数を表 し ます。 負数は、 こ のア
ニ メ ーシ ョ ンが無限に繰 り 返 さ れる こ と を示 し ます。 デ フ ォル ト : -1
condition
speed
(正の float) 1 よ り 大き い値は、 こ のア ニ メ ーシ ョ ン を再生する ためにかかる時間を短
縮、 つま り こ のア ニ メ ーシ ョ ン を ス ピー ド ア ッ プ し ます。 これを利用する と 、 作成者
は、 アニ メ ーシ ョ ンの内容を オーサ リ ング し なおす こ と な く 、 その望む速度を変え る こ
と がで き ます。 デ フ ォ ル ト : 1
style
(キーワー ド ) そのア ニ メ ーシ ョ ン ス タ イルを指定 し ます (デ フ ォ ル ト : none) :
none
キー フ レームアニ メ ーシ ョ ン群は、 ビ ュ ーア ア プ リ ケーシ ョ ンに よ っ て直接
駆動 さ れるべき ではない。 この値は、 JavaScript な どの代替手段を通 じ てア
ニ メ ーシ ョ ン を駆動する こ と を意図 さ れた文書に よ っ て用い ら れます。 こ の
animation オプ シ ョ ンの残 り のサブオプ シ ョ ン群は無視 さ れます。
linear
キー フ レームアニ メ ーシ ョ ンは最初か ら最後ま で線形に駆動 さ れる。 こ れ
は、 歩行動作な どにおいて、 こ のアニ メ ーシ ョ ンの通 し 再生を繰 り 返す こ と
にな り ます。
oscillating キー フ レームアニ メ ーシ ョ ンはその時間範囲に沿 っ て往復する。 こ れは、 破
片の爆発や分解な どにおいて、 こ のア ニ メ ーシ ョ ンの往復再生にな り ます。
(キーワー ド ) この注釈がいつ起動 さ れるかを指定 し ます (デ フ ォ ル ト : clicked) :
clicked
こ の注釈は、 ユーザーア ク シ ョ ンかス ク リ プ ト に よ っ て明示的に起動 さ れる。
opened
こ の注釈は、 こ の注釈を内容 と するページがカ レ ン ト ページ と し ての フ ォ ー カ ス を得た
時にただ ちに起動 さ れる。
visible
こ の注釈は、 こ の注釈を内容 と するページの任意の部分が見えた時にただ ちに起動 さ れ
る。
presentation (オプ シ ョ ン リ ス ト ) この注釈 と ユーザー イ ン タ フ ェ ース要素群がどのよ う に レ イ アウ ト さ れて描
画 さ れるかを指定 し ます : 使え る オプ シ ョ ン群を表 13.9 に挙げています。
scripts
(ハイパーテキス ト 文字列の リ ス ト ) PDF_load_asset( ) を用いて埋め込まれている、 かつ こ の
richmedia オプ シ ョ ンのサブオプ シ ョ ン で指定 さ れた、 type=JavaScript の リ ッ チ メ デ ィ ア アセ ッ
ト 群の名前群を内容 と する リ ス ト 。 空 リ ス ト は、 ス ク リ プ ト が実行 さ れない こ と を意味 し ます。
デ フ ォル ト : 空 リ ス ト
view
(キーワー ド か 3D ビ ュ ーハン ド ル) 3D リ ッ チ メ デ ィ アの起動ビ ュ ーを指定 し ます。 ハン ド ルは、
richmedia オプ シ ョ ン リ ス ト の views サブオプ シ ョ ンに も含まれている必要があ り ます。こ の views
オプ シ ョ ンが指定 さ れない場合には、 3D ビ ュ ーの構成要素群に対するデ フ ォ ル ト 値群が用い ら れ
ます。 使え るキーワー ド (デ フ ォ ル ト : first) :
first
richmedia オプ シ ョ ン リ ス ト の views サブオプ シ ョ ンの 1 番目の要素
13.2 アセ ッ ト ・ リ ッ チ メ デ ィ ア機能 (Flash)
275
表 13.9 PDF_create_annotation( ) の richmedia オプ シ ョ ンの activate サブオプ シ ョ ンの presentation サブオプ
シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
navigationpane
(論理値) ナビゲーシ ョ ンパネルユーザー イ ン タ フ ェ ース要素のデ フ ォ ル ト 動作。 true の場合、 こ
の内容が初期起動 さ れる際にナ ビゲーシ ョ ンパネルは表示 さ れます。 デ フ ォル ト : false
passcontextclick
(論理値) こ の リ ッ チ メ デ ィ ア注釈上での コ ン テキス ト ク リ ッ ク が メ デ ィ ア プ レーヤ ラ ン タ イ ムへ
渡 さ れるか、 それ と も PDF ビ ュ ーアに よ っ て処理 さ れるかを指定 し ます。 false の場合、 PDF
ビ ュ ーアが こ の コ ン テキス ト ク リ ッ ク を処理 し ます。 true の場合、 PDF ビ ュ ーアの コ ン テキス ト
メ ニ ュ ーは表示 さ れず、 ユーザーは メ デ ィ ア プ レーヤ ラ ン タ イ ムに よ っ て生成 さ れた コ ン テキス
ト メ ニ ュ ー と 任意のカ ス タ ムア イ テム群を目に し ます。 デ フ ォル ト : false
style
(キーワー ド ) こ の リ ッ チ メ デ ィ アがどのよ う に表示 さ れるかを指定 し ます (デ フ ォ ル ト :
embedded) :
embedded PDF ページ内に埋め込まれて
windowed window オプ シ ョ ン リ ス ト によ っ て指定 さ れた別ウ ィ ン ド ウ内で
toolbar
(論理値) こ の注釈に紐付け ら れた イ ン タ ラ ク テ ィ ブ ツールバーのデ フ ォル ト 動作。 true の場合、
こ の注釈が起動 さ れて フ ォ ー カ ス を与え られた時に ツールバーが表示 さ れます。 デ フ ォ ル ト :
type=3D では true、 それ以外では false
transparent
(論理値) ページ内容が こ の リ ッ チ メ デ ィ ア内容の透過領域を通 し て表示 さ れるかど う かを指定 し
ます。 true の場合、 こ の リ ッ チ メ デ ィ ア アー ト ワー クはページ内容の上にアル フ ァ チ ャ ン ネルを
用いて合成 さ れます。 false の場合、 こ の リ ッ チ メ デ ィ ア アー ト ワー クはページ内容の上に合成 さ
れる前に不透明な背景の上に描画 さ れます。 デ フ ォル ト : false
window
(オプ シ ョ ン リ ス ト ) style=windowed に対する フ ローテ ィ ングウ ィ ン ド ウのサイ ズ と 位置。 座標は
usercoordinates オプ シ ョ ンに応 じ てユーザーまたはデ フ ォル ト 座標で表 さ れます。
その動作は注釈オプ シ ョ ン zoom ・ rotate がに設定 さ れている場合 と 同様です。 使え るサブオプ
ション :
heightdefault
(float) こ のウ ィ ン ド ウのデ フ ォル ト 高 さ 。 デ フ ォ ル ト : 216 (デ フ ォル ト 座標で)
widthdefault
(float) こ のウ ィ ン ド ウのデ フ ォル ト 幅。 デ フ ォ ル ト : 288 (デ フ ォ ル ト 座標で)
276
第 13 章 : マルチ メ デ ィ ア機能
表 13.10 PDF_create_annotation( ) の option オプ シ ョ ンの configurations サブオプ シ ョ ンの instances サブオプ
シ ョ ンの params サブオプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
binding
説明
(キーワー ド ) この Flash 内容がどの実体に固着 し ているかを指定 し ます (デ フ ォル ト : none) :
background
こ の Flash 内容は背景に固着 し てお り 、 ア ク テ ィ ブ な注釈内のすべての 3D モデル内容
と Flash 前面要素群の背面に レ ン ダ さ れる。 ある 1 個の リ ッ チ メ デ ィ ア注釈に対 し て
は、 binding=background を伴 う params オプ シ ョ ン リ ス ト を持つア ク テ ィ ブ な イ ン ス タ
ン スは 1 個ある こ と がで き ます。 複数指定 さ れている場合には、 その背景に対 し て指定
さ れた最後のイ ン ス タ ン スが用い ら れます。
foreground
こ の Flash 内容は前目に固着 し てお り 、 ア ク テ ィ ブ な注釈内の 3D モデル と 背景 Flash 内
容の前面に レ ン ダ さ れる。 複数のイ ン ス タ ン スが binding=foreground を持つ場合、 そ
の Flash 内容は背面から 前面へ順に レ ン ダ さ れ、 各イ ン ス タ ン スはそれ以前のイ ン ス タ
ン ス群の上にそのアル フ ァ チ ャ ン ネルを用いて合成 さ れます。
cuepoints
material
こ の Flash 内容は 3D 内容の一部である素材に固着 し ている。その素材が 3D シーン内の形
状に適用 さ れている場合には、 その Flash オブ ジ ェ ク ト はこ のオブ ジ ェ ク ト 上で、 こ の
オブ ジ ェ ク ト の表面に貼 り 付いているかのよ う に再生 し ている よ う に見え ます。
none
こ の Flash 内容は固着 さ れてお ら ず、 再生時に見えない。
(オプ シ ョ ン リ ス ト の リ ス ト ) 映像はキ ュ ーポ イ ン ト 群を含む こ と がで き ます。 こ のキ ュ ーポ イ ン
ト は、 その映像ス ト リ ーム内に符号化 さ れているか、 あ るいはその Flash 内容内の連携
ActionScript に よ っ て作成 さ れる こ と も で き ます。 各オプ シ ョ ン リ ス ト は、 そのキ ュ ーポ イ ン ト を
ア ク シ ョ ンに関連付ける ス テー ト を指定 し ます。、 こ のア ク シ ョ ンは、 ア プ リ ケーシ ョ ンへ渡す こ
と も で き ます し 、 あ るいは体裁を変え る ために使 う こ と も で き ます。 その Flash 内容内のキ ュ ーポ
イ ン ト 群が、 PDF フ ァ イル内で name ま たは time オプ シ ョ ン群に よ っ て指定 さ れた値群によ っ て
宣言 さ れたキ ュ ーポ イ ン ト 群 と マ ッ チ さ れます。 使え るオプ シ ョ ン :
action
name
flashvars
(ア ク シ ョ ン リ ス ト ) こ のキ ュ ーポ イ ン ト が ト リ ガ さ れた、 すなわち こ の Flash 内容がそ
の再生中に こ れにマ ッ チするキ ュ ーポ イ ン ト に達 し た場合に実行 さ れる ア ク シ ョ ン。
activate このキ ュ ーポ イ ン ト が ト リ ガ さ れた、すなわち こ の Flash 内容がその再生中に
これにマ ッ チするキ ュ ーポ イ ン ト に達 し た場合に実行 さ れる ア ク シ ョ ン。
(テキス ト 文字列。 必須) こ のキ ュ ーポ イ ン ト の名前。 こ の Flash 内容内のキ ュ ーポ イ ン
ト に対 し てマ ッ チ さ れます。 また、 表示に も用い られます。
time
(float。 必須) こ のキ ュ ーポ イ ン ト の時刻値を ミ リ 秒単位で表 し た もの。 この Flash 内容
内のキ ュ ーポ イ ン ト に対 し てマ ッ チ さ れます。 また、 表示に も 用い ら れます。 なお、
Acrobat 9 ・ X は こ の タ イ ムス タ ン プ を無視 し ます。 ダ ミ ー値を与え る こ と も で き ます。
type
(キーワー ド ) こ のキ ュ ーポ イ ン ト の種別
Event
イ ベン ト と は、 照応する ア ク シ ョ ンが ト リ ガ さ れる こ と 以外何の特徴 も ない
汎用のキ ュ ーポ イ ン ト です。
Navigation
ナ ビゲーシ ョ ンキ ュ ーポ イ ン ト と は、 Flash ムービー (FLV) 内に符号化 さ れ
た イ ベン ト です。 ユーザーがチ ャ プ タ ーへ飛ぶ こ と やチ ャ プ タ ーを スキ ッ プ
する こ と を要求 し た時に、 ナ ビゲーシ ョ ンキ ュ ーポ イ ン ト を用いてそのチ ャ
プ タ ーの位置を示す こ と がで き る よ う 、 チ ャ プ タ ース ト ッ プ を符号化する こ
と が可能です。
(ハイパーテキス ト 文字列) 起動 さ れた時に Flash プ レーヤ コ ン テキス ト へ渡 さ れる、 整形 さ れた
名前 ・ 値ペア。 こ の形式の仕様については、 www.adobe.com/go/tn_16417 で入手で き る文書 「Using
FlashVars to pass variables to a SWF」 (TechNote tn_16417) を参照 し て く だ さ い。 デ フ ォ ル ト :
Flash プ レーヤへ何のデー タ も 送られない
materialname
(ハイパーテキス ト 文字列。 binding=material では必須) 内容を紐付け し たい素材名。
13.2 アセ ッ ト ・ リ ッ チ メ デ ィ ア機能 (Flash)
277
表 13.10 PDF_create_annotation( ) の option オプ シ ョ ンの configurations サブオプ シ ョ ンの instances サブオプ
シ ョ ンの params サブオプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
settings
(ハイパーテキス ト 文字列) Flash イ ン ス タ ン スに紐付け ら れた設定情報を格納する ために用い ら
れる テキス ト 文字列。 この値は、 ActionScript の ExternalInterface コ マ ン ド multimedia_
loadSettingsString に よ っ て渡 さ れます。 デ フ ォ ル ト : undefined
278
第 13 章 : マルチ メ デ ィ ア機能
14 文書交換
14.1 文書情報 フ ィ ール ド
C++ Java C# void set_info(String key, String value)
Perl PHP set_info(string key, string value)
C void PDF_set_info(PDF *p, const char *key, const char *value)
C void PDF_set_info2(PDF *p, const char *key, const char *value, int len)
文書情報フ ィ ール ド key に value を書 き 込みます。
key (名前文字列) 文書情報フ ィ ール ド の名前。 標準フ ィ ール ド 名のいずれか、 ま たは任
意のカ ス タ ム フ ィ ール ド 名を用い る こ と がで き ます (表 14.1 参照)。 カ ス タ ム フ ィ ール ド
の数に制限は あ り ま せん。 カ ス タ ム文書情報 フ ィ ール ド の利用 と 意味づけ に関 し て は、
Dublin Core Metadata 要素セ ッ ト を一読す る こ と を PDFlib ユーザーに奨励 し ます。1
value (ハ イ パーテ キ ス ト 文字列) key 引数に設定 し たい文字列。 Acrobat では、 value に
最大長 255 バ イ ト と い う 制約が課 さ れてい ます。
len (PDF_set_info2( ) のみ、 かつ C 言語バ イ ンデ ィ ン グのみ) value の長 さ (バ イ ト 単
位)。 len=0 にす る と null 終了文字列を与え る 必要があ り ます。
詳細 与え る 情報の値は、 カ レ ン ト 文書にだけ使われ る ので、 同 じ オブ ジ ェ ク ト ス コ ープの中で
生成す る 文書すべ て に 使 わ れ る わ け で は あ り ま せ ん。 PDF_begin/end_document( ) に
autoxmp オプ シ ョ ン を 与え て あ る と 、 PDF_set_info( ) に与え た情報 フ ィ ール ド 群か ら 、
PDFlib が自動的に XMP 文書 メ タ デー タ を同期作成 し ます。
文書情報フ ィ ール ド 群は、 PDF_begin/end_document( ) の metadata オプシ ョ ンに与え
ら れ る XMP 文書 メ タ デー タ 内の照応す る プ ロ パテ ィ 群をオーバ ラ イ ド し ます。
PDF/X key=Title と key=Creator を持つ情報フ ィ ール ド には、空でない値を与え る 必要があ り ます。
あ る いは、 PDF/X-4 ・ PDF/X-5 では、 PDF_begin_document( ) の metadata オプシ ョ ンで
dc:title ・ xmp:CreatorTool XMP プ ロ パテ ィ を与え る こ と も で き ます。
Trapped 情報フ ィ ール ド では値 True と False のみが許容 さ れます。
PDF/UA key=Title を持つ情報フ ィ ール ド には、 空でない値を与え る 必要があ り ます。 あ る いは、
PDF_begin_document( )のmetadataオプシ ョ ンでdc:title XMPプ ロ パテ ィ を与え る こ と も で
き ます。
スコープ 任意。 オブ ジ ェ ク ト ス コ ープで使 う と 、 与え る 値は次の文書にのみ使われます。
表 14.1 文書情報 フ ィ ール ド に対するキー
キー
説明
Subject
文書のサブ タ イ ト ル
Title
文書の タ イ ト ル
1. dublincore.org 参照
14.1 文書情報 フ ィ ール ド
279
表 14.1 文書情報フ ィ ール ド に対するキー
キー
説明
Creator
文書の作成に使用 さ れた ソ フ ト ウ ェ ア (PDF 生成ソ フ ト ウ ェ ア を示す
Producer と は別です。 Producer はつねに PDFlib にな り ます)。 Acrobat では、
この項目は 「ア プ リ ケーシ ョ ン」 と 表示 さ れます。
Author
文書の作成者
Keywords
文書の内容を記述 し たキーワー ド
Trapped
文書に ト ラ ッ ピ ングが適用 さ れているかど う かを表 し ます。 と り う る値は
True ・ False ・ Unknown。
その他任意の名前
ユーザー定義の文書情報 フ ィ ール ド 。 PDFlib は、 任意の数のフ ィ ール ド に対
応 し ています。 1 つのカ ス タ ム フ ィ ール ド 名は一度 し か与えてはいけません。
PDF_begin/end_document( ) の moddate オプ シ ョ ン も参照。
XMP メ タ デー タ が作成 さ れる (autoxmp または metadata オプ シ ョ ンによ っ
て) 場合は、 カ ス タ ム文書情報 フ ィ ール ド には、 以下のいずれのキ ャ ラ ク タ
を も 含めてはいけません : & \ < > " 空白
標準識別に用い ら れる フ ィ ール ド は許容 さ れません。
280
第 14 章 : 文書交換
14.2 XMP メ タ デー タ
XMP メ タ デー タ は、 文書全体か、 個別のページ ・ フ ォ ン ト ・ ICC プ ロ フ ァ イ ル ・ 画像 ・ テ
ン プ レ ー ト ・ 取 り 込み PDF ページに対 し て与え る こ と がで き ま す。 さ ま ざ ま な関数の
metadata オプシ ョ ンのサブオプシ ョ ン を表 14.2 に示 し ます。
表 14.2 PDF_begin/end_document( ) ・ PDF_begin/end_page_ext( ) ・ PDF_load_font( ) ・ PDF_load_iccprofile( ) ・ PDF_load_
image( ) ・ PDF_begin_template_ext( ) ・ PDF_open_pdi_page( ) の metadata オプ シ ョ ン と PDF_load_graphics( ) の
templateoptions オプ シ ョ ンのサブオプ シ ョ ン
オプ シ ョ ン
説明
compress
(論理値。 PDF_begin/end_document( ) では不可) PDF 出力内の XMP メ タ デー タ ス ト リ ームを圧縮 し
ます。 こ のオプ シ ョ ン を PDF_begin_page_ext( ) でのみ与え、 PDF_end_page_ext( ) で与えない と 、 そ
の値はデ フ ォル ト よ り も優先 さ れます。 デ フ ォ ル ト : false
PDF/A-1 ・ PDF/X : compress=true は許 さ れません。
inputencoding (キーワー ド ) filename で与えた メ タ デー タ を解釈する ためのエ ン コ ーデ ィ ン グ。 デ フ ォル ト :
unicode
inputformat
(キーワー ド ) filename で与えた メ タ デー タ の形式。 デ フ ォ ル ト : utf8、 ただ し inputencoding が
8 ビ ッ ト エ ン コ ーデ ィ ングの と きは bytes
keepxmp
(論理値。 PDF_load_image( ) ・ PDF_load_graphics( ) でのみ可。 filename と の組み合わせ不可) 画像ま
たはグ ラ フ ィ ッ ク フ ァ イル内に存在する XMP メ タ デー タ が保持 さ れます。 すなわち、 PDF 文書内
の生成画像に付け られます。 XMP メ タ デー タ は、 TIFF ・ JPEG ・ JPEG 2000 画像形式内 と SVG グ
ラ フ ィ ッ ク内で効力を持ち ます。 画像ま たはグ ラ フ ィ ッ ク フ ァ イル内に XMP メ タ デー タ が見つか
ら ない と きは、 こ のオプ シ ョ ンは何の効力も持ち ません。 デ フ ォル ト : false
filename
(名前文字列。 keepxmp を与えなければ必須) 整形式 XMP メ タ デー タ を内容 と し て持つ フ ァ イルの
名前。 こ れは filenamehandling グ ローバルオプ シ ョ ン に従っ て解釈 さ れます (表 2.3 参照)。
PDF/A PDF/A のための XMP 識別プ ロ パテ ィ 群は自動的に作成 さ れます。
PDFlib は、ユーザーが与え た XMP ス ト リ ームの中の関連項目群を、標準文書情報フ ィ ー
ル ド 群へ同期 さ せます (autoxmp モー ド が文書情報フ ィ ール ド を XMP へ同期 さ せ る の と
同様です)。 ただ し 、 PDFlib はそれ以外の XMP 項目群を カ ス タ ム文書情報フ ィ ール ド 群へ
同期 さ せ る こ と は し ません。 XMP 文書 メ タ デー タ に対す る さ ら な る PDF/A 必要条件群を
PDFlib チ ュ ー ト リ アルで説明 し てい ます。 以下の検証が XMP メ タ デー タ に対 し て行われ
ます :
> PDF/A-1 : 文書レベル XMP が、XMP 2004 に準拠する か、 あ る いは拡張ス キーマ記述を
含む必要があ り ます。文書レベルXMPのための ス キーマ記述は、PDF_begin_document( )
か PDF_end_document( ) で与え る こ と がで き ます。
> PDF/A-2/3:文書レベルお よ び コ ン ポーネ ン ト レベル (ページ等) の XMP が、XMP 2005
に準拠す る か、 あ る いは拡張 ス キーマ記述を含む必要があ り ます。 コ ン ポーネ ン ト レ
ベル XMP のための ス キーマ記述は、 それぞれの コ ン ポーネ ン ト レベル XMP を用いて
(PDF_begin_page_ext( ) 内な ど で)、 あ る いは、 PDF_begin_document( ) の中で文書レベ
ル XMP を用いて与え る こ と がで き ます。
PDF/X PDF/X-4/5 のための XMP 識別プ ロ パテ ィ 群は自動的に作成 さ れます。
PDF/VT PDF/VT のための XMP 識別プ ロ パテ ィ 群は自動的に作成 さ れます。
PDF/UA PDF/UA のための XMP 識別プ ロ パテ ィ 群は自動的に作成 さ れます。
14.2 XMP メ タ デー タ
281
14.3 タ グ付 き PDF
タ グ付き PDF を生成す る には、 PDF_begin_document( ) で tagged オプシ ョ ンが true に設
定 さ れてい る 必要があ り ます。 タ グ付 き PDF モー ド は、 PDF/A-1a/2a/3a ・ PDF/UA 規格
では自動的に起動 さ れます。 タ グ付き PDF を作成す る 際には PDF/UA 規則群に従 う こ と
を強 く 推奨 し ます。
ク ッ ク ブ ッ ク 完全な コ ー ド サン プルがク ッ ク ブ ッ ク の interchange/starter_pdfua1 ト ピ ッ ク にあ り ま
す。
C++ Java C# int begin_item(String tagname, String optlist)
Perl PHP int begin_item(string tagname, string optlist)
C int PDF_begin_item(PDF *p, const char *tagname, const char *optlist)
タ グ付 き PDF のために構造エ レ メ ン ト かその他の コ ン テ ン ツ エ レ メ ン ト を開 き ます。
tagname そのア イ テ ムのエ レ メ ン ト 構造種別の名前。 表 14.3 に従っ て、 以下のグルー
プのエ レ メ ン ト 種別を使え ます (詳 し く は PDFlib チ ュ ー ト リ アルを参照) :
> 標準エ レ メ ン ト 種別群 (標準エ レ メ ン ト 種別群の詳 し い説明は PDFlib チ ュ ー ト リ アル
にあ り ます)
> 構造エ レ メ ン ト ではない擬似エ レ メ ン ト 種別群
> タ グ名 Plib_custom_tag は、 カ ス タ ムエ レ メ ン ト 種別の使用を暗黙に前提 し ます ( こ れ
は customtag=true と 等価です)。 実際の タ グ名を tagname オプシ ョ ンで与え る 必要が
あ り ます。 カ ス タ ム エ レ メ ン ト 種別群は rolemap 文書オプシ ョ ン を必要 と し ます。
あ る いは タ グ名を、 こ の引数を オーバ ラ イ ド す る tagname オプシ ョ ン を通 じ て与え る こ
と も で き ます。
表 14.3 PDF_begin_item( ) ・ PDF_begin_mc( ) ・ PDF_mc_point( ) の、 および さ ま ざ ま な関数の tag オプ シ ョ ンの、 標
準 ・ 擬似 ・ カ ス タ ムエ レ メ ン ト 種別
カテゴ リ
タグ
標準構造エ レ メ ン ト 種別群
グループ化
Document ・ Part ・ Art ・ Sect ・ Div ・ BlockQuote ・ Caption ・ TOC ・ TOCI ・ Index ・ NonStruct ・
Private
見出 し と 段
落
P ・ H ・ H1 ・ H2 ・ H3 ・ H4 ・ H5 ・ H6 ・ H7 ・ H8 な ど (BLSE)
ラ ベル と 箇
条書き
L ・ LI ・ Lbl ・ LBody (BLSE)
テーブル
Table (BLSE) ・ TR ・ TH ・ TD ・ THead1 ・ TBody1 ・ TFoot1
(テーブル タ グはすべて、 PDF_fit_table( ) によ っ て自動的に作成 さ れる こ と も で き ます。 PDFlib
チ ュ ー ト リ アル参照)
インライン
Span ・ Quote ・ Note ・ Reference ・ BibEntry ・ Code ・ Link ・ Annot1 (ILSE、 ただ し オプ シ ョ ン
inline=false を用いて BLSE へ変え る こ と も で き ます)
イラス ト
レーシ ョ ン
Figure ・ Formula ・ Form (ILSE)
日本語
Ruby1 (グループ化) ・ RB1 ・ RT1 ・ RP1 ・ Warichu1 (グループ化) ・ WT1 ・ WP1
282
第 14 章 : 文書交換
表 14.3 PDF_begin_item( ) ・ PDF_begin_mc( ) ・ PDF_mc_point( ) の、 および さ ま ざ ま な関数の tag オプ シ ョ ンの、 標
準 ・ 擬似 ・ カ ス タ ムエ レ メ ン ト 種別
カテゴ リ
タグ
擬似エ レ メ ン ト 種別群
非構造化エ
レメン ト群
Artifact
ページの本文か ら区別するべき ページ装飾。
(ア ク セ シ ビ リ テ ィ スパン。 PDF には Span と し て書き込まれますが、 イ ン ラ イ ン ア イ テ
ム Span と は区別する必要があ り ます) こ れを使 う と 、 構造エ レ メ ン ト に属 さ ない コ ン
テ ン ツや、 構造エ レ メ ン ト の一部分に似た コ ン テ ン ツに対 し て、 ア ク セ シ ビ リ テ ィ 属性
群を与え る こ と がで き ます。
ReversedChars
(非推奨) 文字の並び順が反対にな っ ている右書きの言語のテキス ト を指定 し ます。
ASpan
Clip
(非推奨) マー ク付き切 り 抜き シーケ ン ス を指定 し ます。 すなわち、 ク リ ッ ピ ングパス
または表現モー ド 7 のテキス ト のみを指定 し ます。 表示 さ れる グ ラ フ ィ ッ ク または
PDF_save( ) / PDF_restore( ) を含みません。
カ ス タ ムエ レ メ ン ト 種別群
ユーザー定
義エ レ メ ン
ト群
tag 引数では タ グ名 Plib_custom_tag を与え る必要があ り ます。 PDF へ書き込まれる実際の タ グ名
を tagname オプ シ ョ ン で与え る必要があ り ます。 カ ス タ ムエ レ メ ン ト 種別群は rolemap 文書オプ
シ ョ ン を必要 と し ます。
1. 要 PDF 1.5 以上
optlist ア イ テ ムの詳細を指定 し たオプシ ョ ン リ ス ト 。 継承可能な設定はすべて子エ レ メ
ン ト へ継承 さ れますので、 繰 り 返す必要はあ り ません。 ア イ テ ムのプ ロ パテ ィ は後で変更
で き ないので、 すべて こ こ で設定す る 必要があ り ます。 以下のオプシ ョ ンが使え ます :
> 一般オプシ ョ ン : hypertextencoding (表 2.3 参照)
> 表 14.4 に従っ た タ グ制御 ・ ア ク セシ ビ リ テ ィ オプシ ョ ン群 :
ActualText ・ Alt ・ customtag ・ E ・ inline ・ Lang ・ tagname ・ Placement ・ Title
> 表 14.4 に従っ た、 ページ装飾に関連す る オプシ ョ ン :
artifactsubtype ・ artifacttype ・ Attached
> 表 14.4 に従っ た テーブル関連オプシ ョ ン :
ColSpan ・ Headers ・ id ・ RowSpan ・ Scope ・ Summary
> 表 14.4 に従っ た幾何情報オプシ ョ ン :
BBox ・ Height ・ usercoordinates ・ Width
> 表 14.4 に従っ た、 エ レ メ ン ト ど う し の関係のためのオプシ ョ ン : index?parent
> 表 14.4 に従っ た、 し お り を付け る ためのオプシ ョ ン : bookmark
> 表 14.4 に従っ た、 箇条書 き 特性を指定す る ためのオプシ ョ ン : ListNumbering
> 表 14.4 に従っ た、 ネ ス ト さ れた構造エ レ メ ン ト を挿入す る ためのオプシ ョ ン : tag
戻り値
ア イ テ ムハン ド ル。 以後のア イ テ ム関連の呼び出 し で使え ます。
詳細 新規構造エ レ メ ン ト ま たはページ装飾 (ま と めて ア イ テム と いい ます) を開始 し ます。 デ
フ ォ ル ト では、 こ の新規エ レ メ ン ト は、 カ レ ン ト でア ク テ ィ ブなア イ テ ムの子 と し て挿入
さ れます。 し か し 、 parent ・ index オプシ ョ ン を用いて、 構造ツ リ ー内の別の場所を指定
す る こ と も で き ます。 構造エ レ メ ン ト は、 任意の レベルにネ ス ト で き ます。 疑似 ・ イ ン ラ
イ ン種別を除 き 、 構造エ レ メ ン ト は、 それが開かれたページに縛 ら れず、 任意の数のペー
ジへ続 く こ と も で き ます。 空の構造エ レ メ ン ト は避け る こ と が推奨 さ れます。
構造エ レ メ ン ト と Alt/ActualText 属性は、PDFlib チ ュ ー ト リ アル内の諸規則に従っ て適
切にネ ス ト さ れ る 必要があ り ます。い く つかの装飾的要素は自動的にページ装飾 と し て タ
14.3 タ グ付き PDF
283
グ付け さ れます。 詳 し く は PDFlib チ ュ ー ト リ アルを参照 し て く だ さ い。
PDF/A PDF/A-1a/2a/3a では タ グ付けは必須ですが、 タ グ用途やネ ス ト 化について具体的な必要
条件はあ り ません。
PDF/UA すべてのテ キ ス ト に自然言語指定が必須です。
すべての画像 ・ グ ラ フ ィ ッ ク 内容は Artifact か Figure と し て タ グ付け さ れ る 必要があ り ま
す。
追加の規則群が さ ま ざ ま なエ レ メ ン ト 種別 と オプシ ョ ンに適用 さ れます(PDFlib チ ュ ー ト
リ アル参照)。
スコープ ページ。 グループ化エ レ メ ン ト の場合は文書 も 。 照応する PDF_end_item( ) と 必ずペアに
し て呼び出す必要があ り ます。 こ の関数は タ グ付 き PDF モー ド でのみ使え ます。
表 14.4 PDF_begin_item( ) の、 および さ ま ざ ま な関数の tag オプ シ ョ ン を用いた短縮 タ グ付けの、 構造 ・ 擬似 タ グの
ためのオプ シ ョ ン。 い く つかのオプ シ ョ ンは PDF_begin_mc( ) ・ PDF_mc_point( ) で も使用可能です。
オプ シ ョ ン
説明
ActualText
(ハイパーテキス ト 文字列。 PDF 1.5 における ASpan 以外の擬似 タ グでは不可。 PDF 1.4 モー ド で使
う と きは、 inline オプ シ ョ ン を false に設定する必要があ り ます) コ ン テ ン ツ ア イ テム と その子
群に対する等価な代替テキス ト 。
Alt
(ハイパーテキス ト 文字列。 PDF 1.5 における ASpan 以外の擬似 タ グでは不可。 PDF 1.4 モー ド で使
う と きは、 inline オプ シ ョ ン を false に設定する必要があ り ます) コ ン テ ン ツ ア イ テム と その子
群に対する代替説明 と し ての単語か句。 図や画像な ど、 テキス ト と し て認識で き ない ものに対 し
て与え る必要があ り ます。
artifactsubtype
(キーワー ド 。 tagname=Artifact かつ artifacttype=Pagination でのみ可。 PDF 1.7) ページ装飾
の下位種別 : Header ・ Footer ・ Watermark
artifacttype
(キーワー ド 。 tagname=Artifact でのみ可) コ ン テ ン ツ ア イ テムのページ装飾種別を指定 し ます :
Pagination ラ ン ニ ングヘ ッ ダやページ番号 と い っ た付随的なページ機能。
Layout
脚注罫線や表の背景色 と い っ た タ イ ポグ ラ フ ィ またはデザイ ン要素。
Page
ト ンボやカ ラ ーバー と い っ た印刷支援。
Background (PDF 1.7) ページか構造エ レ メ ン ト の長 さ い っ ぱい、 および / または幅い っぱいにわた
る画像か色付き ブ ロ ッ ク
Attached
(キーワー ド の リ ス ト 。 tagname=Artifact かつ artifacttype=Pagination か Background で、 ペー
ジ全体の背景ページ装飾を持つ場合のみ可) ページ装飾が論理的に添付 さ れる、 ページの辺を、
も し あれば指定 し ます。 こ の リ ス ト は、 1 ~ 4 個のキーワー ド Top ・ Bottom ・ Left ・ Right を内容
と し ます。 Left と Right の両方、 または Top と Bottom の両方を含む場合は、 ページ装飾がそれぞ
れ幅い っぱいか高 さ い っぱいであ る こ と を示 し ます。
BBox
(長方形。 tagname=Artifact ・ Figure ・ Form ・ Table でのみ可。 artifacttype=Background では必
須、 それ以外ではオプ シ ョ ナル、 ただ し Reflow では推奨) こ のエ レ メ ン ト の外接枠を、 デ フ ォル
ト 座標で (usercoordinates=false の場合)、 あるいはユーザー座標で (usercoordinates=true の
場合) 表 し た もの。 PDFlib は、 配置 さ れた画像 ・ グ ラ フ ィ ッ ク ・ PDF ページ (tagname=Figure か
Artifact を持つ) ・ フ ォ ーム フ ィ ール ド (tagname=Form か Artifact を持つ) と 、 表エ ン ジ ン によ っ
て作成 さ れた表 (tagname=Table か Artifact を持つ) に対 し て、 自動的に こ の BBox を作成 し ま
す。
bookmark
( し お り ハン ド ル。 イ ン ラ イ ン ・ 疑似 タ グでは不可) この構造エ レ メ ン ト と 紐付け られる し お り に
対するハン ド ル。
ColSpan
(整数。 tagname=TH ・ TD でのみ可) テーブルのセルがわた る列の数。 デ フ ォル ト : 1
284
第 14 章 : 文書交換
表 14.4 PDF_begin_item( ) の、 および さ ま ざ ま な関数の tag オプ シ ョ ン を用いた短縮 タ グ付けの、 構造 ・ 擬似 タ グの
ためのオプ シ ョ ン。 い く つかのオプ シ ョ ンは PDF_begin_mc( ) ・ PDF_mc_point( ) で も使用可能です。
オプ シ ョ ン
説明
contents
(文字列。 PDF_begin_mc( ) でのみ可) マー ク付き コ ン テ ン ツ シーケ ン ス を記述する コ ン テ ン ツ文字
列。
customtag
(論理値。 rolemap 文書オプ シ ョ ン を必要 と し ます) true の場合、 tagname オプ シ ョ ン で与え られ
たエ レ メ ン ト 種別名は、 rolemap 文書オプ シ ョ ン を通 じ て標準エ レ メ ン ト 種別へマ ッ プ さ れる必要
のある カ ス タ ムエ レ メ ン ト 種別です。 デ フ ォル ト : false
こ のオプ シ ョ ン を true に設定する こ と は、 引数 tagname=Plib_custom_tag を与え る こ と と 等価で
す。
E
(ハイパーテキス ト 文字列。 ASpan 以外の擬似 タ グでは不可。 TagSuspect では不可。 構造 タ グに対
し ては要 PDF 1.5) コ ン テ ン ツ ア イ テムに対する略語の展開形。 略語や頭字語を説明する ためには
与え る必要があ り ます。 Acrobat の読み上げ機能は、 展開テキス ト を、 た と え明示的な単語区切 り
がな く て も、 独立 し た単語 と し て扱います。
Headers
(文字列の リ ス ト 。 tagname=TH ・ TD でのみ可。 PDF 1.5) この リ ス ト の各文字列は、 このセルに紐
付いた テーブルヘ ッ ダセル (TH エ レ メ ン ト ) の識別子です。 こ の識別子 (群) は、 その タ ーゲ ッ
ト セルに、 その id オプ シ ョ ン を用いて割 り 当て られている必要があ り ます。 複数のヘ ッ ダセルが
参照 さ れる場合には、 テーブル行ヘ ッ ダ群を テーブル列ヘ ッ ダ群よ り 前に挙げるべき です。 こ れ
ら のグループ名では、 ヘ ッ ダ群は、 最も 個別な ものか ら最も 汎用な ものへ と 並べるべき です。
Height
(float。 tagname=Figure ・ Form ・ Formula ・ Table ・ TD ・ TH でのみ可) こ のエ レ メ ン ト の高 さ を、 デ
フ ォ ル ト 座標で (usercoordinates=false の場合)、 あるいはユーザー座標で
(usercoordinates=true の場合) 表 し た も の。
id
(文字列。 疑似エ レ メ ン ト と 、 Note 以外のイ ン ラ イ ン エ レ メ ン ト では不可) こ のエ レ メ ン ト に識別
子を割 り 当て ます。 こ の文字列は、 すべての構造エ レ メ ン ト の中で一意である必要があ り ます。
index
(整数。 擬似 タ グでは不可) エ レ メ ン ト を親の中に挿入 し たい位置の、 ゼロか ら始ま る番号。 この
位置から 開始 し て、 その親の既存の子孫群が上方へシ フ ト さ れてい き ます。 0 から 、 カ レ ン ト の子
の数ま での値を与え る こ と がで き ます。 値 -1 は、 こ のエ レ メ ン ト を末尾に、 すなわち新規の最近
ア イ テム と し て追加 し ます。 こ れは、 カ レ ン ト のエ レ メ ン ト 数を index と し て与え る こ と と 等価
です。 デ フ ォル ト : -1
inline
(論理値。 tagname=Code ・ BibEntry ・ Note ・ Quote ・ Reference ・ Span でのみ可) true にする と 、
コ ン テ ン ツ ア イ テムはイ ン ラ イ ン で書き込まれ、 構造エ レ メ ン ト は作成 さ れません。 デ フ ォル ト :
true
Lang
(文字列。 ASpan 以外の擬似 タ グでは不可) コ ン テ ン ツ ア イ テムの言語識別子を、 表 3.1 の lang オ
プ シ ョ ン で説明 し ている形式で指定 し ます。 こ れを使 う と 、 文書全体の言語を、 個々の コ ン テ ン
ツ ア イ テムについてオーバラ イ ド する こ と が可能です。
PDF/UA-1 : 自然言語を、 こ のオプ シ ョ ン を用いて、 または PDF_begin_document( ) の lang オプ
シ ョ ン を用いて指定する必要があ り ます。
14.3 タ グ付き PDF
285
表 14.4 PDF_begin_item( ) の、 および さ ま ざ ま な関数の tag オプ シ ョ ン を用いた短縮 タ グ付けの、 構造 ・ 擬似 タ グの
ためのオプ シ ョ ン。 い く つかのオプ シ ョ ンは PDF_begin_mc( ) ・ PDF_mc_point( ) で も使用可能です。
オプ シ ョ ン
説明
ListNumbering
(キーワー ド 。 tagname=L でのみ可。 PDF/UA-1 では必須。 PDF/UA-1 では、 LI のいずれの子も エ
レ メ ン ト を内容 と し ない箇条書き では None と する必要があ り ます) 番号付き箇条書き内の Lbl エ
レ メ ン ト 群の コ ン テ ン ツに対 し て用い ら れる付番系列、 あ るいは番号な し 箇条書き内の各項目の
頭に付 く 記号 (デ フ ォ ル ト : None) :
Circle
白丸ビ ュ レ ッ ト
Decimal
10 進ア ラ ビ ア数字 (1 ~ 9、 10 ~ 99、 …)
isc
黒丸ビ ュ レ ッ ト
LowerAlpha 英小文字 (a, b, c, ...)
LowerRoman
ローマ数字小文字 (i, ii, iii, iv, ...)
None
自動付番な し 。 Lbl エ レ メ ン ト 群 (も し あれば) が、 付番な し で任意のテキス ト を内容
と する。 こ の場合には、 こ の箇条書きのラ ベル群を表現するすべてのグ ラ フ ィ ッ ク を
Artifact と し てマー ク する必要があ り ます。
Square
黒四角ビ ュ レ ッ ト
UpperAlpha 英大文字 (A, B, C, ...)
UpperRoman
ローマ数字大文字 (I, II, III, IV, ...)
parent
(ア イ テムハン ド ル。 擬似 タ グでは不可) こ のエ レ メ ン ト の親。 以前に PDF_begin_item( ) を、 また
は PDF_get_option( ) の activeitemid キーワー ド を呼び出 し て返 さ れたハン ド ルです。 値 0 は、 構
造ツ リ ーのルー ト を参照 し ます。 -1 は、 カ レ ン ト でア ク テ ィ ブ な エ レ メ ン ト を参照 し ます。 いい
かえれば parent=-1 は、 カ レ ン ト エ レ メ ン ト の子を開き ます。 擬似 ・ イ ン ラ イ ン エ レ メ ン ト 種別
は親 と し て許容 さ れません。 デ フ ォ ル ト : -1
Placement
(キーワー ド 。 擬似エ レ メ ン ト と イ ン ラ イ ン エ レ メ ン ト Span ・ Quote ・ Note ・ Reference ・
BibEntry ・ Code に対 し ては不可) エ レ メ ン ト の、 それを囲 う 参照領域に対する相対的な位置付け
を指定 し ます。 これは、 文書が再整形 さ れる際や、 他の形式へ書き出 さ れる際に意味を持ち ます。
Figure ・ Formula ・ Form ・ Link ・ Annot エ レ メ ン ト に対 し ては、 それがグループ化エ レ メ ン ト の子
と し て作成 さ れている な ら ば、 Placement=Block を推奨 し ます (デ フ ォ ル ト : Inline) :
Before
Block
要素の割 り 当て四角形の 「前」 辺が、 要素を囲 う 最も 近い参照領域のそれ と 同 じ 位置に
な る よ う 配置 し ます。
要素を囲 う 参照領域または親 BLSE 内のブ ロ ッ ク進行向き内にス タ ッ ク し ます。
End
要素の割 り 当て四角形の 「終」 辺が、 要素を囲 う 最も 近い参照領域のそれ と 同 じ 位置に
な る よ う 配置 し ます。
Inline
要素を囲 う BLSE 内のイ ン ラ イ ン進行向き内にパ ッ ク し ます。
Start
要素の割 り 当て四角形の 「始」 辺が、 要素を囲 う 最も 近い参照領域のそれ と 同 じ 位置に
な る よ う 配置 し ます。
RowSpan
(整数。 tagname=TH ・ TD のみ) テーブルのセルがわた る テーブル行の数。 デ フ ォ ル ト : 1
Scope
(キーワー ド 。 tagname=TH のみ。 PDF 1.5。 PDF/UA-1 では推奨) そのテーブルヘ ッ ダセルが、 そ
れを含むテーブル行内の他のセル群に対する も のなのか、 それ と も それを含むテーブル列内のそ
れなのか、 あ るいはそれを含むテーブル行 と テーブル列の両方に対する も のなのかを、 Row ・
Column ・ Both のいずれかのキーワー ド で指定 し ます。
Summary
(ハイパーテキス ト 文字列。 tagname=Table でのみ可。 PDF 1.7) こ のテーブルの目的 と 構造の概要
tag
(オプ シ ョ ン リ ス ト ) カ レ ン ト エ レ メ ン ト の子 と し て挿入 さ れる追加の構造エ レ メ ン ト 。 表 14.4 に
従っ たすべてのオプ シ ョ ン をサブオプ シ ョ ン と し て使え ます。 タ グ群は任意のレ ベルにネス ト す
る こ と がで き ます。
286
第 14 章 : 文書交換
表 14.4 PDF_begin_item( ) の、 および さ ま ざ ま な関数の tag オプ シ ョ ン を用いた短縮 タ グ付けの、 構造 ・ 擬似 タ グの
ためのオプ シ ョ ン。 い く つかのオプ シ ョ ンは PDF_begin_mc( ) ・ PDF_mc_point( ) で も使用可能です。
オプ シ ョ ン
説明
tagname
(名前文字列。 PDF_add_table_cell( ) を除き、 tag オプ シ ョ ン を用いた短縮 タ グ付けのためには こ の
オプ シ ョ ンが必須です) 表 14.3 に従 っ た標準エ レ メ ン ト 種別か疑似エ レ メ ン ト 種別の名前、 また
はカ ス タ ム タ グの名前。 あ るいは こ のオプ シ ョ ンの値は、 関数引数 tagname を通 じ て与え る こ と
も で き ます。
カ ス タ ム タ グ名を与え るには、 オプ シ ョ ン customtag=true か引数 tagname=Plib_custom_tag を与
え ます。 こ の場合には、 この tagname オプ シ ョ ンはカ ス タ ム タ グの任意の名前を内容 と し ます。
ただ し こ の名前に対 し て、 標準エ レ メ ン ト 種別へのマ ッ ピ ン グが、 PDF_begin_document( ) の
rolemap オプ シ ョ ン を用いて定義 さ れている必要があ り ます。 カ ス タ ムエ レ メ ン ト 種別名は、 127
個の winansi キ ャ ラ ク タ か、 ま たは最長 127 UTF-8 バイ ト へ展開 さ れる Unicode キ ャ ラ ク タ 列を上
限 と し ます。 カ ス タ ムエ レ メ ン ト 種別名は、 予約済み接頭辞 Plib で始ま っ てはいけません。
Title
(ハイパーテキス ト 文字列。 イ ン ラ イ ン ・ 擬似 タ グでは不可。 PDF/UA-1 では見出 し に対 し て推奨)
構造エ レ メ ン ト の タ イ ト ル。 こ の タ イ ト ルは、 Acrobat で構造ツ リ ーを表示または操作する ために
有用で し ょ う 。
usercoordinates
(論理値) false の場合、 BBox ・ Width ・ Height はデ フ ォル ト 座標で表 さ れている と 見な さ れ、 そ
う で ない場合にはユーザー座標が用い ら れます。 デ フ ォ ル ト : グローバル usercoordinates オプ
シ ョ ンの値
Width
(float。 tagname=Figure ・ Form ・ Formula ・ Table ・ TD ・ TH でのみ可) こ のエ レ メ ン ト の幅を、 デ
フ ォ ル ト 座標で (usercoordinates=false の場合)、 あるいはユーザー座標で
(usercoordinates=true の場合) 表 し た も の。
C++ Java C# void end_item(int id)
Perl PHP end_item(int id)
C void PDF_end_item(PDF *p, int id)
構造エ レ メ ン ト やその他の内容ア イ テ ム を閉 じ ます。
id
ア イ テ ムのハン ド ル。 PDF_begin_item( ) で取得 し てお く 必要があ り ます。
詳細
イ ン ラ イ ン ア イ テ ムはすべて、 ページ を終え る 前に閉 じ る 必要があ り ます。 通常ア イ テ ム
はすべて、 文書を終え る 前に閉 じ る 必要があ り ます。 ただ し 、 通常ア イ テ ムはすべて、 完
了次第閉 じ る こ と を強 く 推奨 し ます。 ア イ テ ムは、 そのすべての子を あ ら か じ め閉 じ てい
る と き にのみ、 閉 じ る こ と がで き ます。 ア イ テ ム を閉 じ た後は、 その親がア ク テ ィ ブなア
イ テ ムにな り ます。
スコープ
イ ン ラ イ ン ア イ テ ムの場合はページ。グループ化ア イ テ ムの場合は文書 も 。照応する PDF_
begin_item( ) と 必ずペアに し て呼び出す必要があ り ます。 こ の関数は タ グ付 き PDF モー
ド でのみ使え ます。
短縮 タ グ付け 構造エ レ メ ン ト と ページ装飾は、PDF_begin/end_item( ) ペア を用いて作成
す る こ と がで き ます。 あ る いはそのかわ り に、 以下の関数の tag オプシ ョ ン (表 14.5 参
照) を用いて短縮 タ グ付け を利用す る こ と も 可能です :
> PDF_add_table_cell( ) と 、 PDF_fit_*( ) の照応す る オプシ ョ ン :
fitgraphics ・ fitimage ・ fitpath ・ fitpdipage ・ fittextline ・ fittextflow ・ fitannotation ・ fitfield
> PDF_begin_document( ) : 短縮 タ グ付け を用いて、 その構造 ヒ エ ラ ルキーのルー ト エ レ
メ ン ト を作成で き ます
14.3 タ グ付き PDF
287
>
>
>
>
>
>
>
>
>
>
PDF_create_annotation( )
PDF_create_field( )
PDF_draw_path( )
PDF_fit_graphics( )
PDF_fit_image( )
PDF_fit_pdi_page( ) ・ PDF_info_pdi_page( )
PDF_fit_table( ) : 短縮 タ グ付けが自動テーブル タ グ付け を引 き 起 こ し ます
PDF_fit_textflow( )
PDF_fit_textline( )
さ ま ざ ま な関数の matchbox オプシ ョ ン
短縮 タ グ付け を用いて グループ化エ レ メ ン ト を作成す る こ と はで き ません。 ただ し PDF_
begin_document( ) で用い ら れ る 場合は例外です( こ れ以外の関数はすべて直接 コ ン テ ン ツ
を作成 し ますが、 こ れはグループ化エ レ メ ン ト では許容 さ れないか ら です) 。 短縮 タ グ付
けの詳 し い説明は PDFlib チ ュ ー ト リ アルにあ り ます。
表 14.5 PDF_add_table_cell( ) と 、 PDF_add_table_cell( ) ・ PDF_create_annotation( ) ・ PDF_create_field( ) ・ PDF_draw_
path( ) ・ PDF_fit_graphics( ) ・ PDF_fit_image( ) ・ PDF_fit_pdi_page( ) ・ PDF_fit_table( ) ・ PDF_fit_textflow( ) ・ PDF_fit_
textline( ) の照応する fit* オプ シ ョ ン と 、 さ ま ざ ま な関数の matchbox オプ シ ョ ンの、 短縮 タ グ付けのためのオプ
ション
オプ シ ョ ン
説明
tag
(オプ シ ョ ン リ ス ト ) その配置 さ れる コ ン テ ン ツに対する構造エ レ メ ン ト かページ装飾を作成 し ま
す。 表 14.4 に挙げているサブオプ シ ョ ン群を使え ます。
C++ Java C# void activate_item(int id)
Perl PHP activate_item(int id)
C void PDF_activate_item(PDF *p, int id)
以前に作成 し た構造エ レ メ ン ト やその他の コ ン テ ン ツ ア イ テ ム を ア ク テ ィ ブ化 し ます。
id ア イ テ ムのハン ド ル。 PDF_begin_item( ) で取得 し てお く 必要があ り ます。 ま だ閉 じ ら
れていてはいけ ません。 擬似 ・ イ ン ラ イ ン ア イ テ ムはア ク テ ィ ブ化で き ません。
詳細 構造エ レ メ ン ト を一時停止 し てお き 、 後で ま た ア ク テ ィ ブ化す る と い う 方式を採用す る
と 、 多段組の レ イ ア ウ ト や、 本文中に割 り 込む コ ラ ム な ど、 た と え 1 つのページ上に複数
の構造の枝が同時併行 し てい る よ う な場合で も 、 タ グ付き PDF のページ を柔軟に効率 よ
く 作成す る こ と がで き る よ う にな り ます。
parent ・ index タ グ付けオプシ ョ ン (表 14.4 参照) を用い る と 構造エ レ メ ン ト を構造ツ
リ ー内の特定箇所に挿入で き る のに対 し 、 PDF_activate_item( ) を用い る と 、 以前に作成 し
た構造エ レ メ ン ト に さ ら な る 内容を追加す る こ と がで き ます。
Acrobat での諸問題を回避す る ために、PDF_activate_item( ) を呼び出 し た直後に直接 コ
ン テ ン ツ を追加す る べ き ではあ り ません。 他の構造エ レ メ ン ト のみを追加する べき です。
スコープ 文書 ・ ページ。 こ の関数は タ グ付 き PDF モー ド でのみ使え ます。
288
第 14 章 : 文書交換
14.4 マー ク 付 き コ ン テ ン ツ
C++ Java C# void begin_mc(String tagname, String optlist)
Perl PHP begin_mc(string tagname, string optlist)
C void PDF_begin_mc(PDF *p, const char *tagname, const char *optlist)
マー ク 付 き コ ン テ ン ツ シーケ ン ス を開始 さ せ ま す。 プ ロ パテ ィ 群を与え る こ と も で き ま
す。
tagname マー ク 付 き コ ン テ ン ツ シーケ ン ス の名前。 以下の タ グが使え ます :
> 表 14.4 のすべての イ ン ラ イ ン ・ 擬似 タ グ群。
> ユーザー定義プ ロ パテ ィ を持つカ ス タ ム項目に対 し ては タ グ名Plib_custom を用い る こ
と がで き ます。
> タ グ名 Plib は予約済みです。
optlist 以下のマー ク 付 き コ ン テ ン ツ シーケ ン ス オプシ ョ ン群が使え ます :
> 一般オプシ ョ ン : hypertextencoding (表 2.3 参照)
> マー ク 付 き コ ン テ ン ツ シーケ ン ス の標準プ ロ パテ ィ 群のためのオプシ ョ ン群。 表 14.4
の タ グ付けオプシ ョ ン群の、 以下の部分集合が使え ます :
ActualText ・ Alt ・ artifactsubtype ・ artifacttype ・ contents ・ customtag ・ E ・ Lang ・
ListNumbering ・ Placement ・ tagname
> タ グ Plib_custom ・ Plib では表 14.6 の properties オプシ ョ ン も 使え ます。
詳細 指定 し た タ グ と プ ロ パテ ィ 群を持っ たマー ク 付 き コ ン テ ン ツ シーケ ン ス が開始 さ れ ます。
オプシ ョ ン を何 も 与え なければ、 プ ロ パテ ィ を何 も 持た ないシーケ ン ス が作成 さ れ ます。
マ ー ク 付 き コ ン テ ン ツ シ ー ケ ン ス は 任 意 の 階層 に ネ ス ト 可 能 で す。 PDF_begin/end_
item( ) ・ PDF_begin/end_mc( ) のネ ス ト を適切に行 う のはユーザー側の役割です。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ 。 照応す る PDF_end_mc( ) と 必ずペアに し て、
同 じ ス コ ープ内で呼び出す必要があ り ます。
表 14.6 PDF_begin_mc( ) ・ PDF_mc_point( ) によ る タ グのユーザー定義プ ロパテ ィ のためのオプ シ ョ ン
オプ シ ョ ン
説明
properties
(オプ シ ョ ン リ ス ト の リ ス ト 。 tagname=Plib ・ tagname=Plib_custom のみ) 各 リ ス ト は、 ユーザー
定義プ ロパテ ィ を指定 し た 3 個のオプ シ ョ ン を内容 と し て持ち ます :
key
(文字列。 必須) プ ロパテ ィ の名前。
type
(キーワー ド 。 必須) プ ロパテ ィ 値の型 : boolean ・ name ・ string のいずれか。
value
(type=string な らハイパーテキス ト 文字列、 そ う で ないな ら文字列。 必須) プ ロパ
テ ィ の値。
C++ Java C# void end_mc( )
Perl PHP end_mc( )
C void PDF_end_mc(PDF *p)
も っ と も 最近に開かれたマー ク 付 き コ ン テ ン ツ シーケ ン ス を終了 さ せます。
詳細 マー ク 付 き コ ン テ ン ツ シーケ ン ス はすべて、 PDF_end_page_ext( ) を呼び出す前に閉 じ る
必要があ り ます。
14.4 マー ク付き コ ン テ ン ツ
289
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ。 照応す る PDF_begin_mc( ) と 必ずペアに し て、
同 じ ス コ ープ内で呼び出す必要があ り ます。
C++ Java C# void mc_point(String tagname, String optlist)
Perl PHP mc_point(string tagname, string optlist)
C void PDF_mc_point(PDF *p, const char *tagname, const char *optlist)
マー ク 付 き コ ン テ ン ツ ポ イ ン ト を追加 し ます。 プ ロ パテ ィ 群を与え る こ と も で き ます。
tagname マー ク 付 き コ ン テ ン ツ ポ イ ン ト の名前。 以下の タ グが使え ます :
> 表 14.4 のすべての イ ン ラ イ ン ・ 擬似 タ グ群。
> カ ス タ ム項目に対 し ては タ グ名 Plib_custom を用い る こ と がで き ます。
> タ グ名 Plib は予約済みです。
optlist 以下のオプシ ョ ンが使え ます :
> 表 14.6 に従っ たマー ク 付 き コ ン テ ン ツ ポ イ ン ト の標準プ ロ パテ ィ オプシ ョ ン群。
> タ グ Plib_custom ・ Plib では表 14.6 のオプシ ョ ン も 使え ます。
詳細 指定 し た タ グ名 と プ ロ パテ ィ 群を持っ たマー ク 付 き コ ン テ ン ツ ポ イ ン ト が作成 さ れ ます。
オプシ ョ ン を何 も 与え なければ、プ ロ パテ ィ を何 も 持た ないマー ク 付 き コ ン テ ン ツ ポ イ ン
ト が作成 さ れます。
スコープ ページ ・ パ タ ーン ・ テ ン プ レー ト ・ グ リ フ
290
第 14 章 : 文書交換
14.5 文書部分 ヒ エ ラ ルキー
C++ Java C# void begin_dpart(String optlist)
Perl PHP begin_dpart(string optlist)
C void PDF_begin_dpart(PDF *p, const char *optlist)
文書部分 ヒ エ ラ ルキー内に新規 ノ ー ド を開始 し ます(PDF/VTかPDF 2.0を必要 と し ます)。
optlist 表 14.7 に従っ た文書部分 ヒ エ ラ ルキーオプシ ョ ン群を指定 し たオプシ ョ ン リ ス
ト : associatedfiles ・ dpm
PDF/VT PDF_begin_dpart( ) への初めての呼び出 し は、 暗黙的に、 文書部分 (DPart) ヒ エ ラ ルキー
のルー ト ノ ー ド を作成 し ます。 最上位レベルで PDF_begin_dpart( ) を複数回呼び出す こ と
はエ ラ ーです。
PDF_begin_dpart( ) を呼び出 し た後に PDF_begin_page_ext( ) を呼び出す こ と は、文書部
分のページ範囲の開始を定義 し ます。 次に PDF_begin_dpart( ) を呼び出すま での間のすべ
ての後続す る ページ群は、 その同一の文書部分に属 し ます。 すべての呼び出 し は と も に文
書部分 ヒ エ ラ ルキーを木構造 と し て作成 し 、 こ の文書部分 ヒ エ ラ ルキーは 2 種類の ノ ー ド
を内容 と す る こ と がで き ます :
> 内部 ノ ー ド は、他の 1 個ない し 複数の ノ ー ド を子孫 と し て持ち ます。 こ の子孫は、内部
ノ ー ド か葉 ノ ー ド のいずれかであ る こ と がで き ますが、 あ る 1 つの内部 ノ ー ド が両方
の種類の子孫を内容 と す る こ と はで き ません。
> 葉 ノ ー ド は、 あ る 範囲内のページ (群) を記述 し ま す。 葉 ノ ー ド は子孫 ノ ー ド を決 し
て持ち ません。
PDF_begin_dpart( ) と PDF_end_dpart( )への呼び出 し は、PDF_end_document( ) が呼び出 さ れ
た際にマ ッ チ し てい る 必要があ り ます。文書に対 し て文書部分 ヒ エ ラ ルキーを作成 し よ う
と す る と き は、 こ の関数を、 PDF_begin_page_ext( ) を初めて呼び出す よ り も 前に少な く と
も 1 回は呼び出 し てお く 必要があ り ます。PDF_begin_dpart( ) への複数回の呼び出 し は、文
書部分 ヒ エ ラ ルキーの、 よ り 深い レベル群を作成 し ます。 文書部分 ヒ エ ラ ルキーの こ の生
成 さ れ る 深 さ (すなわち、 PDF_begin_dpart( ) の最大ネ ス ト 化レベル) は、 nodenamelist
文書オプシ ョ ン を用いて指定 さ れた リ ス ト の長 さ と マ ッ チす る 必要があ り ます。
スコープ 文書。 こ の関数は、 マ ッ チす る PDF_end_dpart( ) への呼び出 し と 必ずペアにす る 必要があ
り ます。
表 14.7 PDF_begin/end_dpart( ) のオプ シ ョ ン
オプ シ ョ ン
説明
associatedfiles (アセ ッ ト ハン ド ルの リ ス ト 。 PDF 2.0 ・ PDF/A-3 でのみ可) PDF/A-3 に従っ た連携 フ ァ イル群の
ためのア セ ッ ト ハン ド ル群。 こ の フ ァ イル群は、 PDF_load_asset( ) と type=attachment を用いて読
み込まれている必要があ り ます。
dpm
(POCA コ ン テナハン ド ル。 PDF_begin_dpart( ) か PDF_end_dpart( ) に与え る こ と がで き ますが、 同一
文書部分について両方の関数に与え る こ と はで き ません) PDF_poca_new( ) を用いて作成 さ れた辞
書 コ ン テナに対するハン ド ル。 こ の辞書 コ ン テナは、 その新規 ノ ー ド に対する文書部分 メ タ デー
タ を内容 と し ています。 この辞書は、 オプ シ ョ ン usage=dpm を用いて作成 さ れている必要があ り
ます。
14.5 文書部分 ヒ エ ラルキー
291
C++ Java C# void end_dpart(String optlist)
Perl PHP end_dpart(string optlist)
C void PDF_end_dpart(PDF *p, const char *optlist)
文書部分 ヒ エ ラ ルキー内で ノ ー ド を閉 じ ます (PDF/VT か PDF 2.0 を必要 と し ます)。
optlist 表 14.7 に従っ て文書部分 ヒ エ ラ ルキーオプシ ョ ン群を指定 し たオプシ ョ ン リ ス
ト : associatedfiles ・ dpm
PDF/VT PDF_end_page_ext( ) の後の初めての PDF_end_dpart( ) への呼び出 し は、 暗黙的に、 文書部
分 ヒ エ ラ ルキーの葉に属す る ページ範囲の終了を定義 し ます。 PDF_begin_dpart( ) と PDF_
end_dpart( ) への呼び出 し は、PDF_end_document( ) が呼び出 さ れた際にマ ッ チ し てい る 必
要があ り ます。
スコープ 文書。 こ の関数は、 マ ッ チす る PDF_begin_dpart への呼び出 し と 必ずペアにす る 必要があ
り ます。
292
第 14 章 : 文書交換
A 全 API 関数一覧
こ の付章ではすべての API 関数を挙げます。 関数名を ク リ ッ ク す る と その説明へ飛
べます。
一般
set_option
フォン ト
load_font
テキス ト 組版
set_text_option
色
setcolor
get_option
close_font
fit_textline
makespotcolor
get_string
setfont
info_textline
load_iccprofile
new (C only)
info_font
add_textflow
begin_pattern_ext
delete
begin_font
create_textflow
end_pattern
create_pvf
end_font
fit_textflow
shading_pattern
delete_pvf
begin_glyph_ext
info_textflow
shfill
info_pvf
end_glyph
delete_textflow
shading
get_errnum
encoding_set_char
表組版
add_table_cell
画像 ・ テ ン プ レー ト
load_image
get_errmsg
get_apiname
get_opaque (C/C++ only)
単純テキス ト 出力
set_text_pos
fit_table
close_image
poca_new
show
info_table
fit_image
poca_delete
show_xy
delete_table
info_image
poca_insert
continue_text
poca_remove
stringwidth
文書 と ページ
begin_document
Unicode 変換
convert_to_unicode
begin_template_ext
範囲枠
info_matchbox
end_template_ext
SVG グ ラ フ ィ ッ ク
load_graphics
begin_document_callback
(C/C++ only)
close_graphics
end_document
info_graphics
fit_graphics
get_buffer
begin_dpart
end_dpart
begin_page_ext
end_page_ext
suspend_page
resume_page
define_layer
set_layer_dependency
begin_layer
end_layer
第 A 章 : 全 API 関数一覧
293
グ ラ フ ィ ッ ク ス テー ト
set_graphics_option
パス構築
moveto
PDI
open_pdi_document
イ ン タ ラ ク テ ィ ブ機能
create_action
setlinewidth
lineto
curveto
open_pdi_callback
(C/C++ only)
add_nameddest
save
restore
circle
close_pdi_document
create_field
create_gstate
arc
open_pdi_page
create_fieldgroup
set_gstate
arcn
close_pdi_page
create_bookmark
circular_arc
fit_pdi_page
add_portfolio_folder
ellipse
info_pdi_page
add_portfolio_file
translate
elliptical_arc
process_pdi
scale
rect
rotate
closepath
align
pCOS
pcos_get_number
create_3dview
skew
load_asset
concat
パス描画 ・ ク リ ッ ピ ング
stroke
pcos_get_string
setmatrix
closepath_stroke
座標変換
create_annotation
マルチ メ デ ィ ア
load_3ddata
pcos_get_stream
文書交換
set_info
fill_stroke
ブ ロ ッ ク流 し 込み (PPS)
fill_textblock
closepath_fill_stroke
fill_imageblock
end_item
clip
fill_pdfblock
activate_item
endpath
fill_graphicsblock
begin_mc
fill
begin_item
end_mc
Path Objects
add_path_point
draw_path
info_path
delete_path
294
第 A 章 : 全 API 関数一覧
mc_point
B 全オプ シ ョ ン ・ キーワー ド 一覧
こ の索引は、 すべてのオプシ ョ ン を アルフ ァ ベ ッ ト 順に並べて、 それを使え る 関数を併記
し た も のです。 ページ番号を ク リ ッ ク す る と その説明へ飛びます。
&
&name
fit_textflow() のオプ シ ョ ン リ ス ト マ ク ロ呼
び出 し 109
3D
3Dactivate
create_annotation() の 270
3Ddata
create_annotation() の 270
3Dinitialview
create_annotation() の 270
3Dinteractive
create_annotation() の 270
3Dshared
create_annotation() の 270
3Dview
create_action() の 250
A
acrobat
info_font() 77
action
begin/end_page_ext() の 56
create_annotation() の 233
create_bookmark() の 229
create_field/group() の 243
end_document() の 45
process_pdi() の 215
activate
create_annotation() の richmedia のサブオ
プ シ ョ ン 274
activeitemid キーワー ド
get_option() の 30
activeitemindex キーワー ド
get_option() の 30
activeitemisinline キーワー ド
get_option() の 30
activeitemkidcount キーワー ド
get_option() の 30
activeitemname キーワー ド
get_option() の 30
activeitemstandardname キーワー ド
get_option() の 30
actual
info_font() の 77
ActualText
begin_item() と tag オプ シ ョ ンの 284
actualtext
set_text_option() ・ fit_textline() ・ fill_
textblock() の 80
addfitbox
fit_textflow() の wrap のサブオプ シ ョ ン
116
addpath
add_path_point() のキーワー ド 160
adjustmethod
add/create_textflow() の 105
adjustpage
fit_image/fit_graphics/fit_pdi_page() の 183
advancedlinebreak
add/create_textflow() の 105
align
begin_pattern_ext() の transform オプ シ ョ
ンのキーワー ド 200
draw_path() の 134
alignchar
fit/info_textline() の 134
alignment
add/create_textflow() の 104
create_annotation() の 233
create_field/group() の 243
fit/info_textline() ・ add/create_textflow()
の leader のサブオプ シ ョ ン 98
alpha
create_gstate() の softmask の type サブオ
プ シ ョ ンのキーワー ド 148
alphachannelname
load_image() の 179
alphaisshape
create_gstate() の 147
Alt
begin_item() と tag オプ シ ョ ンの 284
angle
info_textline() のキーワー ド 100
angularunit
georeference のサブオプ シ ョ ン 262
animation
annotation() の richmedia の activate サブ
オプ シ ョ ンのサブオプ シ ョ ン 275
annotation
create_action() の targetpath のサブオプ
シ ョ ン 253
annotationtype
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 124
annotcolor
create_annotation() の 233
索引
295
antialias
shading() の 175
い く つかの関数の shading オプ シ ョ ンの
サブオプ シ ョ ン 145
api
info_font() の 77
apiversion
PDF_add_portfolio_file/folder() の portfolio
のサブサブオプ シ ョ ン 261
area
fill in fit_table() の fill のサブオプ シ ョ ン 127
areaunit
georeference のサブオプ シ ョ ン 262
artbox
begin/end_page_ext() の 56
artifactsubtype
begin_item() と tag オプ シ ョ ンの 284
artifacttype
begin_item() と tag オプ シ ョ ンの 284
ascender
info_font() の 76
info_textline() のキーワー ド 100
load_font() の 69
asciifile
set_option() の 25
assets
create_annotation() の richmedia のサブオ
プ シ ョ ン 274
PDF_add_portfolio_file/folder() の portfolio
のサブサブオプ シ ョ ン 261
associatedfiles
begin/end_dpart() の 291
end_document() の 45
in begin/end_page_ext() 56
load_image() ・ load_graphics() ・ open_pdi_
page() ・ begin_template_ext() の 197
Attached
begin_item() と tag オプ シ ョ ンの 284
attachment
create_annotation() の 233
attachmentpassword
begin_document() の 50
attachmentpoint
draw_path() の 134
attachments
begin/end_document() の 45
autospace
set_option() の 26
autosubsetting
load_font() の 69
avoidbreak
add/create_textflow() の 105
avoiddemostamp
set_option() の 26
avoidemptybegin
add/create_textflow() の 104
296
索引
avoidwordsplitting
add_table_cell() の 121
fit_textflow() の 113
B
backdropcolor
create_gstate() の softmask のサブオプ
シ ョ ン 148
background
create_3dview() の 267
backgroundcolor
create_field/group() の 243
barcode
create_field/group() の 243
basestate
set_layer_dependency() の 64
BBox
begin_item() と tag オプ シ ョ ンの 284
bboxexpand
draw_path() の 164
bboxwidth, bboxheight
info_path() のキーワー ド 165
begoptlistchar
create_textflow() の 110
beziers
fit_textflow() の wrap のサブオプ シ ョ ン
116
bitreverse
load_image() の 181
bleedbox
begin/end_page_ext() の 56
blendmode
create_gstate() の 147
blind
fit_table() の 125
fit_textflow() の 113
多 く の関数の 134
block
process_pdi() の 215
blockname
process_pdi() の block のサブオプ シ ョ ン
215
blocks in begin/end_page_ext() 56
bookmark
begin_item() と tag オプ シ ョ ンの 284
bordercolor
create_field/group() の 243
borderstyle
create_annotation() の 233
create_field/group() の 243
borderwidth
い く つかの関数の 143
bottom
add_nameddest() のオプ シ ョ ン、 create_
action() ・ create_annotation() ・ create_
bookmark() ・ begin/end_document() の
destination オプ シ ョ ンのサブオプ シ ョ ン
255
boundingbox
begin_glyph_ext() の 92
begin_pattern_ext() の 173
begin/end_page_ext() の viewports オプ
シ ョ ンのサブオプ シ ョ ン 262
draw_path() の 164
info_*() のキーワー ド 138
info_matchbox() のキーワー ド 142
info_textflow() のキーワー ド 118
shading() の 175
bounds
georeference のサブオプ シ ョ ン 262
boxes
fit_textflow() の wrap のサブオプ シ ョ ン
116
boxexpand
open_pdi_page() の 208
boxheight
matchbox のサブオプ シ ョ ン 139
boxlinecount
info_textflow() のキーワー ド 118
boxsize
さ ま ざ ま な関数の 134
boxwidth
matchbox のサブオプ シ ョ ン 139
bpc
load_image() の 181
buttonlayout
create_field/group() の 243
buttonstyle
create_field/group() の 244
C
calcorder
create_field/group() の 244
calloutline
create_annotation() の 233
camera2world
create_3dview() の 267
cameradistance
create_3dview() の 267
canonicaldate
create_action() の 250
capheight
info_font() の 76
info_textline() のキーワー ド 100
load_font() の 69
caption
create_field/group() の 244
create_field/group() の barcode オプ シ ョ ン
のサブオプ シ ョ ン 248
fit_table() の 126
captiondown
create_field/group() の 244
captionoffset
create_annotation() の 233
captionposition
create_annotation() の 233
captionrollover
create_field/group() の 244
cascadedflate
load_image() の 179
category
PDF_add_portfolio_file/folder() の portfolio
のサブサブオプ シ ョ ン 261
centerwindow
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 52
charclass
add/create_textflow() の 107
charmapping
add/create_textflow() の 107
charref
set_option() の 26
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 80
charspacing
create_field/group() の 244
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 81
checkcolorspace
info_image() のキーワー ド 184
keyword in info_font() 77
checkoutputintentprofile
in open_pdi_document() 204
checktags
begin_document() の 49
open_pdi_document() の 204
checktransgroupprofile
open_pdi_page() の 208
children
set_layer_dependency() の 64
cid
info_font() の 75, 76
cidfont
info_font() の 76
circle
add_path_point() のキーワー ド 160
circles
fit_textflow() の wrap のサブオプ シ ョ ン
116
circular
add_path_point() のキーワー ド 160
classes
set_option() の logging のサブオプ シ ョ ン
20
clip
draw_path() の 164
clipping
matchbox のサブオプ シ ョ ン 140
clippingarea
open_pdi_page() の 209
clippingpath
info_image() のキーワー ド 184
索引
297
clippingpathname
load_image() の 179
cliprule
い く つかの関数の 143
clockwise
add_path_point() の 162
elliptical_arc() の 157
cloneboxes
fit_pdi_page() の 211
open_pdi_page() の 209
close
add_path_point() の 162
draw_path() の 164
cloudy
create_annotation() の 234
CMap
set_option() の 26
code
begin_glyph_ext() の 92
info_font() の 75, 76
codepage
info_font() の 76
codepagelist
info_font() の 77
colorize
load_image() の 179
colorized
begin_font() の 90
colscalegroup
add_table_cell() の 121
ColSpan
begin_item() と tag オプ シ ョ ンの 284
colspan
add_table_cell() の 121
colwidth
add_table_cell() の 121
colwidthdefault
fit_table() の 126
comb
create_field/group() の 244
comment
fit_textflow() のオプ シ ョ ン リ ス ト マ ク ロ
定義 106
commitonselect
create_field/group() の 244
compatibility
begin_document() の 47
components
load_image() の 181
compress
metadata のサブオプ シ ョ ン 281
set_option() の 26
condition
annotation() の richmedia の activate サブ
オプ シ ョ ンのサブオプ シ ョ ン 275
configuration
create_annotation() の richmedia のサブオ
プ シ ョ ン 274
298
索引
containertype
poca_new() の 39
contents
begin_mc() の 285
create_annotation() の 234
continuetextflow
add_table_cell() の 121
control
add_path_point() のキーワー ド 160
convert
pcos_get_stream() の 218
copy
create_pvf() の 36
copyglobals
load_image() の 181
count
info_matchbox() のキーワー ド 142
coversheet
end_document() の portfolio のサブオプ
シ ョ ン 259
coversheetfolderend_document() の portfolio
のサブオプ シ ョ ン 259
crease
create_3dview() の rendermode のサブオ
プ シ ョ ン 268
createdate
create_annotation() の 234
createfittext
fit_textflow() の 113
createlastindent
fit_textflow() の 113
creatematchboxes
fit_textflow() の wrap のサブオプ シ ョ ン
117
createorderlist
set_layer_dependency() の 64
createoutput
begin_document() の 50
createpvf
begin_document() の 51
createrichtext
create_annotation() の 234
createtemplate
load_image() の 179
createwrapbox
matchbox のサブオプ シ ョ ン 140
creatorinfo
define_layer() の 61
cropbox
begin/end_page_ext() の 56
ctm_a/b/c/d/e/f キーワー ド
get_option() の 30
currentvalue
create_field/group() の 244
currentx/y キーワー ド
get_option() の 30
curve
add_path_point() のキーワー ド 160
custom
create_annotation() の 234
customtag
begin_item() と tag オプ シ ョ ンの 285
D
dasharray
add_path_point() の 161
create_annotation() の 234
create_field/group() の 244
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 81
い く つかの関数の 143
dashphase
add_path_point() の 161
い く つかの関数の 143
dataprep
create_field/group() の barcode オプ シ ョ ン
のサブオプ シ ョ ン 248
datestring
create_annotation() の 234
deactivate
create_annotation() の richmedia のサブオ
プ シ ョ ン 274
debugshow
fit_table() の 126
decorationabove
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 81
defaultcmyk
begin/end_page_ext() の 56
defaultdir
create_action() の 250
defaultfontfamily
load_graphics() の 187
defaultfontfamily in load_graphics() 191
defaultfontoptions
load_graphics() の 187
defaultgray
begin/end_page_ext() の 56
defaultimageoptions
load_graphics() の 187
defaultrgb
begin/end_page_ext() の 56
defaultstate
define_layer() の 61
defaultvalue
create_field/group() の 244
defaultvariant
set_layer_dependency() の 64
defaultview
load_3ddata() の 266
depend
set_layer_dependency() の 64
descender
info_font() の 77
info_textline() のキーワー ド 100
load_font() の 69
description
info_graphics() のキーワー ド 192
load_asset() の、 ま たはその他諸関数のサ
ブオプ シ ョ ン 272
load_iccprofile() の 170
PDF_add_portfolio_file/folder() の portfolio
のサブサブオプ シ ョ ン 261
destination
begin/end_document() の 45
create_action() の 250
create_annotation() の 234
create_bookmark() の 229
destname
create_action() の 250
create_action() の targetpath のサブオプ
シ ョ ン 253
create_annotation() の 235
create_bookmark() の 229
end_document() の 45
devicergb
load_graphics() の 188
direct
poca_insert() の 39, 40
direction
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 52
disable
add/create_textflow() の shadow のサブオ
プ シ ョ ン 83
create_annotation() の 3Dactivate のサブオ
プ シ ョ ン 270
set_option() の logging のサブオプ シ ョ ン
19
disablestate
create_annotation() の 3Dactivate のサブオ
プ シ ョ ン 270
display
create_annotation() の 235
create_field/group() の 244
displaydoctitle
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 52
displaysystem
georeference のサブオプ シ ョ ン 262
documentattachment
load_asset() の、 ま たはその他諸関数のサ
ブオプ シ ョ ン 273
domain
shading() の 175
い く つかの関数の shading オプ シ ョ ンのサ
ブオプ シ ョ ン 145
doubleadapt
matchbox のサブオプ シ ョ ン 140
doubleoffset
matchbox のサブオプ シ ョ ン 140
索引
299
down
create_annotation() の template のサブオ
プ シ ョ ン 238
downsamplemask
load_image() の 179
dpi
さ ま ざ ま な関数の 134
dpm
begin/end_dpart() の 291
drawbottom ・ drawleft ・ drawright ・ drawtop
matchbox のサブオプ シ ョ ン 140
dropcorewidths
load_font() の 69
duplex
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 52
duration
begin/end_page_ext() の 56
create_action() の 250
E
E
begin_item() と tag オプ シ ョ ンの 285
ecc
create_field/group() の barcode オプ シ ョ
ンのサブオプ シ ョ ン 248
editable
create_field/group() の 244
ellipse
add_path_point() のキーワー ド 160
elliptical
add_path_point() のキーワー ド 160
embedding
load_font() の 69
embedprofile
load_iccprofile() の 170
enable
create_annotation() の 3Dactivate のサブ
オプ シ ョ ン 270
set_option() の logging のサブオプ シ ョ ン
19
enablestate
create_annotation() の 3Dactivate のサブ
オプ シ ョ ン 270
Encoding
set_option() の 26
encoding
info_font() の 76, 77
load_font() の 70
end
matchbox のサブオプ シ ョ ン 140
い く つかの関数の shading オプ シ ョ ンの
サブオプ シ ョ ン 145
endcolor
い く つかの関数の shading オプ シ ョ ンの
サブオプ シ ョ ン 145
300
索引
endingstyles
create_annotation() の 235
endoptlistchar
create_textflow() の 110
endx ・ endy
info_textline() のキーワー ド 100
entire
create_3dview() の background のサブオプ
シ ョ ン 267
enumeratefonts
set_option() の 26
environment
load_image() ・ load_graphics() ・ open_pdi_
page() ・ begin_template_ext() の pdfvt の
サブオプ シ ョ ン 201
epsg
georeference の coords ・ displaycoords サ
ブオプ シ ョ ンのサブオプ シ ョ ン 263
errorconditions
load_graphics() の 188
escapesequence
set_option() の 26
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 80
exceedlimit
matchbox のサブオプ シ ョ ン 140
exchangefillcolors
fit_textflow() の 113
exchangestrokecolors
fit_textflow() の 113
exclude
create_action() の 251
exists
info_matchbox() のキーワー ド 142
exportable
create_field/group() の 244
exportmethod
create_action() の 251
extend0
shading() の 175
extend1
shading() の 175
external in load_asset() and suboption for other
functions 273
F
facecolor
create_3dview() の rendermode のサブオ
プ シ ョ ン 268
fakebold
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 81
faked
info_font() の 76
fallbackfont
info_font() の 77
fallbackfontfamily
load_graphics() の 188
fallbackfontoptions
load_graphics() の 188
fallbackfonts
load_font() の 70
fallbackheight
load_graphics() の 188
fallbackimage
load_graphics() の 189
fallbackwidth
load_graphics() の 189
familyname
begin_font() の 90
info_font() の 77
feature
info_font() の 77
featurelist
info_font() の 77
features
fit/info_textline() ・ fill_textblock() ・ add/
create_textflow() の 99
fieldlist
add_portfolio_folder() の 257
fieldname
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 124
fieldtype
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 124
create_fieldgroup() の 245
filemode
begin_document() の 51
filename
begin_template_ext() ・ load_image() ・
open_pdi_page() の reference のサブオプ
シ ョ ン 200
create_action() の 251
info_graphics() のキーワー ド 192
info_image() のキーワー ド 184
load_asset() の、 ま たはその他諸関数のサ
ブオプ シ ョ ン 273
metadata のサブオプ シ ョ ン 281
set_option() の logging のサブオプ シ ョ ン
19
filenamehandling
set_option() の 27
fileselect
create_field/group() の 245
fill
add_path_point() の 162
draw_path() の 164
fit_table() の 127
fillcolor
add_path_point() の 161
add/create_textflow() の shadow のサブオ
プ シ ョ ン 83
create_3dview() の background のサブオプ
シ ョ ン 267
create_annotation() の 235
create_field/group() の 245
fit/info_textline() ・ add/create_textflow()
の leader のサブオプ シ ョ ン 98
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 81
い く つかの関数の 143
fillrule
add_path_point() の 161
fit_textflow() の wrap のサブオプ シ ョ ン 117
い く つかの関数の 143
firstbodyrow
info_table() のキーワー ド 129
firstdraw
fit_table() の 127
firstlinedist
fit_textflow() の 113
info_textflow() のキーワー ド 118
firstparalinecount
info_textflow() のキーワー ド 118
fitannotation
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 124
fitfield
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 124
fitgraphics
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 122
fitheight
add_nameddest( ) と destination オプ シ ョ
ンの type オプ シ ョ ンのキーワー ド 256
fitimage
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 122
fitmethod
create_annotation() の template のサブオ
プ シ ョ ン 238
create_field/group() の 245
fit_textflow() の 114
さ ま ざ ま な関数の 134
fitpath
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 123
fitpdipage
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 123
fitrect
add_nameddest( ) と destination オプ シ ョ
ンの type オプ シ ョ ンのキーワー ド 256
fitscalex, fitscaley
info_*() のキーワー ド 138
索引
301
fittext
info_textflow() のキーワー ド 118
fittextflow
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 123
fittextline
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 123
fittingpossible
info_graphics() のキーワー ド 192
info_pdi_page() のキーワー ド 212
fitvisible
add_nameddest( ) と destination オプ シ ョ
ンの type オプ シ ョ ンのキーワー ド 256
fitvisibleheight ・ fitvisiblewidth
add_nameddest( ) と destination オプ シ ョ
ンの type オプ シ ョ ンのキーワー ド 256
fitwidth
add_nameddest( ) と destination オプ シ ョ
ンの type オプ シ ョ ンのキーワー ド 256
fitwindow
add_nameddest( ) と destination オプ シ ョ
ンの type オプ シ ョ ンのキーワー ド 256
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 52
fixed
add_nameddest( ) と destination オプ シ ョ
ンの type オプ シ ョ ンのキーワー ド 256
fixedleading
add/create_textflow() の 104
fixedtextformat
create_textflow() の 110
flash
PDF_add_portfolio_file/folder() の portfolio
のサブサブオプ シ ョ ン 261
flatness
add_path_point() の 161
create_gstate() の 147
い く つかの関数の 143
flush
begin_document() の 51
set_option() の logging のサブオプ シ ョ ン
19
font
create_annotation() の 235
create_field/group() の 245
fit/info_textline() ・ add/create_textflow()
の leader のサブオプ シ ョ ン 98
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 82
FontAFM
set_option() の 27
fontfile
info_font() の 77
fontname
info_font() の 77
load_font() の 70
302
索引
FontnameAlias
set_option() の 27
FontOutline
set_option() の 27
FontPFM
set_option() の 27
fontscale
fit_textflow() の 114
info_textflow() のキーワー ド 118
fontsize
create_annotation() の 235
create_field/group() の 245
fit/info_textline() ・ add/create_textflow()
の leader のサブオプ シ ョ ン 98
info_font() の 76
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 82
fontstyle
create_bookmark() の 230
info_font() の 77
load_font() の 70
fonttype
info_font() の 78
footer
fit_table() の 127
forcebox
open_pdi_page() の 209
forcedheight/forcedwidth
load_graphics() の 189
forcedwidth
load_graphics() の 189
full
info_font() の 77
functionname
create_action() の 251
G
georeference
begin/end_page_ext() の viewports のサブ
オプ シ ョ ン 262
load_image() の 197
glyphcheck
set_option() の 27
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 80
glyphid
info_font() の 75, 78
glyphname
begin_glyph_ext() の 92
info_font() の 75, 78
graphics
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 123
graphicsheight, graphicswidth
info_graphics() のキーワー ド 192
group
add_nameddest() のオプ シ ョ ン、 create_
action() ・ create_annotation() ・ create_
bookmark() ・ begin/end_document() の
destination オプ シ ョ ンのサブオプ シ ョ ン
255
begin_page_ext() の 56
begin/end_document() の labels オプ シ ョ
ン と begin/end_page_ext() の label オプ
シ ョ ンのサブオプ シ ョ ン 52
resume_page() の 60
set_layer_dependency() の 64
groups
begin_document() の 45
gstate
add_path_point() の 161
add/create_textflow() の shadow のサブオ
プ シ ョ ン 83
fit_image/fit_graphics/fit_pdi_page() の 183
fit_table() の 127
fit/info_textline() ・ add/create_textflow()
の 114
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 82
shading_pattern() の 174
さ ま ざ ま なグ ラ フ ィ ッ ク 関数の 144
H
header
fit_table() の 127
Headers
begin_item() と tag オプ シ ョ ンの 285
Height
begin_item() と tag オプ シ ョ ンの 285
height
add_path_point() の 162
begin/end_page_ext() の 56
info_*() のキーワー ド 138
info_matchbox() のキーワー ド 142
load_image() の 181
hide
create_action() の 251
hidemenubar
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 52
highlight
create_annotation() の 235
create_field/group() の 245
honorclippingpath
load_image() の 179
honoriccprofile
load_image() の 179
horboxgap
info_table() のキーワー ド 129
horizscaling
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 82
horshrinking
info_table() のキーワー ド 129
horshrinklimit
fit_table() の 127
hortabmethod
add/create_textflow() の 104
HostFont
set_option() の 27
hostfont
info_font() の 78
hypertextencoding
begin_template_ext() ・ load_image() ・
open_pdi_page() の reference のサブオプ
シ ョ ン 200
begin/end_document() の labels オプ シ ョ
ン と begin/end_page_ext() の label オプ
シ ョ ンのサブオプ シ ョ ン 52
begin/end_page_ext() の viewports のサブ
オプ シ ョ ン 262
set_option() の 27
hypertextformat
set_option() の 27
hyphenchar
add/create_textflow() の 108
I
icccomponents keyword in get_option() 30
ICCProfile
set_option() の 27
iccprofile
get_option() の 31
info_image() のキーワー ド 184
load_image() の 179
iccprofilecymk, iccprofilegray, iccprofilergb
set_option() の 28
icon
create_field/group() の 245
PDF_add_portfolio_file/folder() の portfolio
のサブサブオプ シ ョ ン 261
icondown
create_field/group() の 245
iconname
create_annotation() の 235
load_image() ・ load_graphics() ・ open_pdi_
page() ・ begin_template_ext() の 197
iconrollover
create_field/group() の 245
id
begin_item() と tag オプ シ ョ ンの 285
PDF_add_portfolio_file/folder() の portfolio
のサブサブオプ シ ョ ン 261
ignoreclippingpath
fit_image/fit_graphics/fit_pdi_page() の 183
ignoremask
load_image() の 179
ignoreorientation
fit_image/fit_graphics/fit_pdi_page() の 183
load_image() の 179
ignorepdfversion in open_pdi_document() 209
索引
303
image
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 123
imagehandle
load_image() の 181
imageheight
info_image() のキーワー ド 185
imagemask
info_image() のキーワー ド 185
imagetype
info_image() のキーワー ド 185
imagewidth
info_image() のキーワー ド 185
includeoid
19
includepid
set_option() の logging のサブオプ シ ョ ン
19
includetid
set_option() の logging のサブオプ シ ョ ン
19
index
begin_item() と tag オプ シ ョ ンの 285
create_bookmark() の 230
info_font() の 79
info_pdi_page() の 213
poca_insert() ・ poca_remove() の 40
indextype
begin/end_document() の search のサブオ
プ シ ョ ン 47
infomode
info_image() のキーワー ド 185
load_image() の 180
open_pdi_document() の 204
initialexportstate
define_layer() の 61
initialprintstate
define_layer() の 62
initialsubset
load_font() の 71
initialviewend_document() の portfolio のサブ
オプ シ ョ ン 259
initialviewstate
define_layer() の 62
inittextstate
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 82
set_text_state() の 144
inline
begin_item() と tag オプ シ ョ ンの 285
load_image() の 182
inmemory
begin_document() の 51
open_pdi_document の 204
innerbox
matchbox のサブオプ シ ョ ン 140
inputencoding
metadata のサブオプ シ ョ ン 281
304
索引
inputformat
metadata のサブオプ シ ョ ン 281
inreplyto
create_annotation() の 235
instance
create_action() の 251
intent
define_layer() の 62
interiorcolor
create_annotation() の 235
interpolate
load_image() の 180
inversefill
fit_textflow() の wrap のサブオプ シ ョ ン
117
invert
load_image() の 180
invisiblelayers
set_layer_dependency() の 64, 65
ismap
create_action() の 251
istemplate
info_graphics() のキーワー ド 192
italicangle
info_font() の 78
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 82
item
create_bookmark() の 230
itemname
create_field/group() の 245
itemnamelist
create_field/group() の 245
itemtextlist
create_field/group() の 246
J
justifymethod
fit/info_textline() の 96
K
K
load_image() の 182
keepfilter
pcos_get_stream() の 219
keepfont
load_font() の 71
keephandles
delete_table() の 130
keepnative
info_font() の 78
load_font() の 71
keepxmp
metadata のサブオプ シ ョ ン 281
kerning
set_option() の 28
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 82
kerningpairs
info_font() の 78
key
add_portfolio_file/folder() の fieldlist のサ
ブオプ シ ョ ン 259
create_annotation() の custom のサブオプ
シ ョ ン 234
poca_insert() ・ poca_remove() の 40
L
label
begin/end_page_ext() の 57
labels
begin/end_document() の 45
Lang
begin_item() と tag オプ シ ョ ンの 285
lang
begin_document() の 49
info_pdi_page() のキーワー ド 212
load_graphics() の 189
language
define_layer() の 62
fit/info_textline() ・ fill_textblock() ・ add/
create_textflow() の 99
info_font() の 77
largearc
add_path_point() の 162
elliptical_arc() の 157
lastalignment
add/create_textflow() の 104
lastbodyrow
info_table() のキーワー ド 129
lastfont
info_textflow() のキーワー ド 118
lastfontsize
info_textflow() のキーワー ド 118
lastlinedist
fit_textflow() の 114
info_textflow() のキーワー ド 118
lastmark
info_textflow() のキーワー ド 118
lastparalinecount
info_textflow() のキーワー ド 118
layer
create_annotation() の 236
create_field/group() の 246
load_image() ・ load_graphics() ・ open_pdi_
page() ・ begin_template_ext() の 197
layerstate
create_action() の 252
leader
add/create_textflow() の 104
fit/info_textline() の 96
leaderlength
create_annotation() の 236
leaderoffset
create_annotation() の 236
leading
info_textflow() のキーワー ド 118
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 82
left
add_nameddest() のオプ シ ョ ン、 create_
action() ・ create_annotation() ・ create_
bookmark() ・ begin/end_document() の
destination オプ シ ョ ンのサブオプ シ ョ ン
255
leftindent
add/create_textflow() の 104
leftlinex ・ leftliney
info_textflow() のキーワー ド 118
licensefile
set_option() の 28
lighting
create_3dview() の 267
limitcheck
begin_document() の 47
line
add_path_point() のキーワー ド 160
create_annotation() の 236
fit_table() の stroke のサブオプ シ ョ ン 128
linearunit
georeference のサブオプ シ ョ ン 263
linecap
add_path_point() の 161
create_gstate() の 147
い く つかの関数の 144
linegap
info_font() の 78
load_font() の 71
lineheight
fit_textflow() の wrap のサブオプ シ ョ ン 117
linejoin
add_path_point() の 161
create_gstate() の 147
い く つかの関数の 144
linespreadlimit
fit_textflow() の 114
linewidth
add_path_point() の 161
create_annotation() の 236
create_field/group() の 246
create_gstate() の 147
い く つかの関数の 144
listmode
set_layer_dependency() の 65
ListNumbering
begin_item() と tag オプ シ ョ ンの 286
loadtype
PDF_add_portfolio_file/folder() の portfolio
のサブサブオプ シ ョ ン 261
索引
305
locale
add/create_textflow() の 106
PDF_add_portfolio_file/folder() の portfolio
のサブサブオプ シ ョ ン 261
locked
create_annotation() の 236
create_field/group() の 246
lockedcontents
create_annotation() の 236
lockmode
create_field/group() の 246
logging
set_option() の 28
luminosity
create_gstate() の softmask の type サブオ
プ シ ョ ンのキーワー ド 148
M
macro
fit_textflow() のオプ シ ョ ン リ ス ト マ ク ロ
定義 109
maingid
info_font() の 78
major キーワー ド
get_option() の 30
mappoints
georeference のサブオプ シ ョ ン 263
margin
add_table_cell() の 121
matchbox のサブオプ シ ョ ン 140
さ ま ざ ま な関数の 135
marginbottom
add_table_cell() の 121
marginleft
add_table_cell() の 121
marginright
add_table_cell() の 121
margintop
add_table_cell() の 121
mark
add/create_textflow() の 106
mask
load_image() の 180
masked
load_image() の 180
masterpassword
begin_document() の 50
matchbox
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 123
add/create_textflow() の 106
さ ま ざ ま な関数の 135
matrix
begin_pattern_ext() の transform オプ シ ョ
ンのキーワー ド 200
maxchar
create_field/group() の 246
306
索引
maxcode
info_font() の 78
maxfilehandles
set_option() の 28
maxlinelength
info_textflow() のキーワー ド 118
maxlines
fit_textflow() の 114
maxliney
info_textflow() のキーワー ド 119
maxspacing
add/create_textflow() の 106
maxuvsunicode in info_font() 78
mediabox
begin/end_page_ext() の 57
menuname
create_action() の 252
metadata 281
begin/end_document() の 45
begin/end_page_ext() の 57
info_graphics() のキーワー ド 192
load_font() の 71
load_iccprofile() の 170
load_image() ・ load_graphics() ・ open_pdi_
page() ・ begin_template_ext() の 197
metricsfile
info_font() の 78
mimetype
load_asset() の、 またはその他諸関数のサ
ブオプ シ ョ ン 273
minfontsize
fit_textflow() の 114, 135
mingapwidth
fit_textflow() の 114
minlinecount
add/create_textflow() の 104
minlinelength
info_textflow() のキーワー ド 119
minliney
info_textflow() のキーワー ド 119
minor キーワー ド
get_option() の 30
minrowheight
add_table_cell() の 121
minspacing
add/create_textflow() の 106
minuvsunicode in info_font() 78
mirroringx ・ mirroringy
info_image() のキーワー ド 185
info_pdi_page() のキーワー ド 212
miterlimit
add_path_point() の 161
create_gstate() の 147
い く つかの関数の 144
moddate
begin/end_document() の 45
modeltree
create_annotation() の 3Dactivate のサブオ
プ シ ョ ン 270
move
add_path_point() のキーワー ド 160
movieposter
create_annotation() の 236
multiline
create_field/group() の 246
multiselect
create_field/group() の 246
N
numcopies
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 53
numglyphs
info_font() の 78
numpoints
info_path() の 165
numusableglyphs
info_font() の 78
numusedglyphs
info_font() の 78
N
O
shading() の 175
い く つかの関数の shading オプ シ ョ ンのサ
ブオプ シ ョ ン 145
name
add_path_point() の 162
begin/end_page_ext() の viewports のサブ
オプ シ ョ ン 262
create_3dview() の 267
create_action() の targetpath のサブオプ
シ ョ ン 253
create_annotation() の 236
info_font() の 76, 77
info_matchbox() のキーワー ド 142
load_asset() の、 ま たはその他諸関数のサ
ブオプ シ ョ ン 273
matchbox のサブオプ シ ョ ン 141
PDF_add_portfolio_file/folder() の portfolio
のサブサブオプ シ ョ ン 261
namelist
create_action() の 252
navigatorend_document() の portfolio のサブ
オプ シ ョ ン 259
newwindow
create_action() の 252
nextline
add/create_textflow() の 106
nextparagraph
add/create_textflow() の 106
nodenamelist
begin_document() の 47
nofitlimit
add/create_textflow() の 106
nonfullscreenpagemode
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 53
normal
create_annotation() の template のサブオ
プ シ ョ ン 238
normalize
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 81
numcids
info_font() の 78
objectheight, objectwidth
info_*() のキーワー ド 138
objectstreams
begin/end_document() の 46
offset
add/create_textflow() の shadow のサブオ
プ シ ョ ン 83
fit_textflow() の wrap の 117
offsetbottom ・ offsetleft ・ offsetright ・
offsettop
matchbox のサブオプ シ ョ ン 141
onpanel
define_layer() の 62
opacity
create_3dview() の rendermode のサブオプ
シ ョ ン 268
create_annotation() の 236
opacityfill
create_gstate() の 147
opacitystroke
create_gstate() の 147
open
create_annotation() の 236
create_bookmark() の 230
openmode
begin/end_document() の 46
openrect
matchbox のサブオプ シ ョ ン 141
operation
create_action() の 252
OPI-1.3, OPI-2.0
load_image() ・ load_graphics() ・ begin_
template_ext()n の 197
optimize
begin_document() の 46
optimizeinvisible
load_font() の 71
orientate
create_annotation() の 236
create_field/group() の 246
fit_textflow() の 114
さ ま ざ ま な関数の 135
orientation
info_image() のキーワー ド 185
索引
307
outlineformat
info_font() の 78
outputblockname
process_pdi() の block のサブオプ シ ョ ン
215
overline
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 82
overprintfill
create_gstate() の 148
overprintmode
create_gstate() の 148
overprintstroke
create_gstate() の 148
P
page
add_nameddest() のオプ シ ョ ン、 create_
action() ・ create_annotation() ・ create_
bookmark() ・ begin/end_document() の
destination オプ シ ョ ンのサブオプ シ ョ ン
255
load_image() の 180
pageelement
define_layer() の 62
pageheight, pagewidth
info_pdi_page() のキーワー ド 212
pageheight, pagewidth キーワー ド
get_option() の 31
pagelabel
begin_template_ext() ・ load_image() ・
open_pdi_page() の reference のサブオプ
シ ョ ン 200
pagelayout
begin/end_document() の 46
pagenumber
begin_page_ext() の 57
begin_template_ext() ・ load_image() ・
open_pdi_page() の reference のサブオプ
シ ョ ン 200
begin/end_document() の labels オプ シ ョ
ン と begin/end_page_ext() の label オプ
シ ョ ンのサブオプ シ ョ ン 52
create_action() の targetpath のサブオプ
シ ョ ン 254
process_pdi() の block のサブオプ シ ョ ン
215
resume_page() の 60
pages
begin/end_page_ext() の separationinfo の
サブオプ シ ョ ン 57
painttype
begin_page_ext() の 173
parameters
create_action() の 252
308
索引
parent
begin_item() と tag オプ シ ョ ンの 286
create_bookmark() の 230
set_layer_dependency() の 64
parentlayer
open_pdi_document の 204
parentname
create_annotation() の 236
parenttitle
open_pdi_document の 204
parindent
add/create_textflow() の 104
passthrough
load_image() の 180
password
create_field/group() の 246
load_asset() の、 またはその他諸関数のサ
ブオプ シ ョ ン 273
open_pdi_document の 205
path
add_path_point() の 162
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 123
fit_textline() の textpath のサブオプ シ ョ
ン 97
pathlength
info_textline() のキーワー ド 100
pathref
add_path_point() のキーワー ド 160
paths
fit_textflow() の wrap のサブオプ シ ョ ン
117
pdfa
begin_document() の 48
pdfua
begin_document() の 48
pdfvt
begin_document() の 48
load_image() ・ load_graphics() ・ open_pdi_
page() ・ begin_template_ext() の 198
pdfx
begin_document() の 48
pdipage
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 123
pdiusebox
begin_template_ext() ・ load_image() ・
open_pdi_page() の reference のサブオプ
シ ョ ン 200
open_pdi_page() の 209
pdi キーワー ド
get_option() の 31
permissions
begin_document() の 50
perpendiculardir
info_textline() のキーワー ド 100
picktraybypdfsizeDefault Para Font>
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 53
Placement
begin_item() と tag オプ シ ョ ンの 286
playmode
create_annotation() の 237
polar
add_path_point() の 162
polygons
fit_textflow() の wrap のサブオプ シ ョ ン 117
polylinelist
create_annotation() の 237
popup
create_annotation() の 237
portfolio
end_document() の 47
position
create_annotation() の template のサブオ
プ シ ョ ン 238
create_field/group() の 246
さ ま ざ ま な関数の 135
postscript
begin_template_ext() の 194
predefcmap
info_font() の 78
prefix
add_portfolio_file/folder() の fieldlist のサ
ブオプ シ ョ ン 259
begin/end_document() の labels オプ シ ョ
ン と begin/end_page_ext() の label オプ
シ ョ ンのサブオプ シ ョ ン 52
presentation
annotation() の richmedia の activate サブ
オプ シ ョ ンのサブオプ シ ョ ン 275
preserveoldpantonenames
set_option() の 167
preservepua
load_font() の 72
preserveradio
create_action() の 252
printarea
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 53
printclip
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 53
printscaling
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 53
printsubtype
define_layer() の 62
properties
begin_mc() ・ mc_point() の 289
px ・ py
info_path() の 165
R
r0
shading() の 175
r1
shading() の 175
radians
add_path_point() の 162
radius
add_path_point() の 162
readfeatures
load_font() の 72
readkerning
load_font() の 72
readonly
create_annotation() の 237
create_field/group() の 246
readselectors in load_font() 72
readshaping
load_font() の 72
readverticalmetrics
load_font() の 72
recordlevel
begin_document() の 48
recordsize
begin_document() の 51
rect
add_path_point() のキーワー ド 160
rectangle
info_matchbox() のキーワー ド 142
rectdiff
create_annotation() の 237
rectify
add_path_point() の 162
elliptical_arc() の 157
reference
begin_template_ext() ・ load_graphics() ・
open_pdi_page() の 198
refpoint
fill_*block() ・ info_path() の 135
fill_*block() の 164
relation
create_action() の targetpath のサブオプ
シ ョ ン 254
relationship
load_asset() の、 ま たはその他諸関数のサ
ブオプ シ ョ ン 273
relative
add_path_point() の 162
remove
set_option() の logging のサブオプ シ ョ ン
19
removeonsuccess
set_option() の logging のサブオプ シ ョ ン
19
索引
309
removeunused
define_layer() の 62
rendercolor
create_3dview() の rendermode のサブオ
プ シ ョ ン 268
renderingintent
create_gstate() の 148
load_image() の 181
rendermode
create_3dview() の 267
repair
open_pdi_document の 205
repeatcontent
add_table_cell() の 122
replacedchars
info_textline() の 100
replacementchar
info_font() の 79
load_font() の 72
replyto
create_annotation() の 237
required
create_field/group() の 246
requiredmode
open_pdi_document の 205
resetfont
add/create_textflow() の 107
resolution
create_field/group() の barcode オプ シ ョ
ンのサブオプ シ ョ ン 248
resourcefile
set_option() の 28
resourcenumber
get_option() の 31
restore
add/create_textflow() の 107
resx ・ resy
info_image() のキーワー ド 185
return
add_table_cell() の 122
add/create_textflow() の 107
returnatmark
fit_textflow() の 115
returnreason
info_table() のキーワー ド 129
info_textflow() のキーワー ド 119
revision キーワー ド
get_option() の 30
rewind
fit_table() の 127
fit_textflow() の 115
richmedia
create_annotation() の 237
richmediaargs
create_action() の 253
richtext
create_field/group() の 246
310
索引
right
add_nameddest() のオプ シ ョ ン、 create_
action() ・ create_annotation() ・ create_
bookmark() ・ begin/end_document() の
destination オプ シ ョ ンのサブオプ シ ョ ン
255
rightindent
add/create_textflow() の 104
rightlinex ・ rightliney
info_textflow() のキーワー ド 119
righttoleft
info_textline() の 100
rolemap
begin_document() の 49
rollover
create_annotation() の template のサブオ
プ シ ョ ン 238
rotate
begin_pattern_ext() の transform オプ シ ョ
ンのキーワー ド 200
begin/end_page_ext() の 57
create_annotation() の 237
fit_textflow() の 115
info_pdi_page() のキーワー ド 212
さ ま ざ ま な関数の 136
round
add_path_point() の 163
draw_path() の 164
matchbox のサブオプ シ ョ ン 141
rowcount
info_table() のキーワー ド 129
rowheight
add_table_cell() の 122
rowheightdefault
fit_table() の 128
rowjoingroup
add_table_cell() の 122
rowscalegroup
add_table_cell() の 122
RowSpan
begin_item() と tag オプ シ ョ ンの 286
rowspan
add_table_cell() の 122
rowsplit
info_table() のキーワー ド 129
ruler
add/create_textflow() の 104
S
save
add/create_textflow() の 107
saveresources
set_option() の 28
scale
begin_pattern_ext() の transform オプ シ ョ
ンのキーワー ド 200
さ ま ざ ま な関数の 136
scalex ・ scaley
info_textline() のキーワー ド 100
schemaend_document() の portfolio のサブオ
プ シ ョ ン 260
Scope
begin_item() と tag オプ シ ョ ンの 286
scope
load_image() ・ load_graphics() ・ open_pdi_
page() ・ begin_template_ext() の pdfvt の
サブオプ シ ョ ン 201
scope キーワー ド
get_option() の 31
script
create_action() の 253
fit/info_textline() ・ fill_textblock() ・ add/
create_textflow() の 99
info_font() の 77
load_3ddata() の 266
scriptlist
info_textline() のキーワー ド 100
scriptname
create_action() の 253
scripts
annotation() の richmedia の activate サブ
オプ シ ョ ンのサブオプ シ ョ ン 275
scrollable
create_field/group() の 246
search
begin/end_document() の 47
searchpath
set_option() の 28
selector
in info_font() 75
keyword in info_font() 79
selectorlist keyword in info_font() 79
separationinfo
begin_page_ext() の 57
shading
い く つかの関数の 144
shadow
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 83
shaping
fit/info_textline() ・ fill_textblock() ・ add/
create_textflow() の 99
shapingsupport
info_font() の 79
showborder
fit_textflow() の 115
さ ま ざ ま な関数の 136
showcaption
create_annotation() の 237
showcells
fit_table() の 128
showcontrols
create_annotation() の 237
showgrid
fit_table() の 128
showtabs
fit_textflow() の 115
shrinklimit
add/create_textflow() の 106
さ ま ざ ま な関数の 136
shrug
open_pdi_document の 205
shutdownstrategy
set_option() の 28
simplefont
load_font() の 72
singfont
info_font() の 79
skew
begin_pattern_ext() の transform オプ シ ョ
ンのキーワー ド 200
skipembedding in load_font() 73
skipposttable
load_font() の 73
smoothness
create_gstate() の 148
sorted
create_field/group() の 247
sortend_document() の portfolio のサブオプ
シ ョ ン 260
soundvolume
create_annotation() の 237
space
add/create_textflow() の 107
spellcheck
create_field/group() の 247
split
info_textflow() のキーワー ド 119
splitend_document() の portfolio のサブオプ
シ ョ ン 260
spotcolor
begin/end_page_ext() の separationinfo の
サブオプ シ ョ ン 57
spotcolorlookup
set_option() の 167
spotname
begin/end_page_ext() の separationinfo の
サブオプ シ ョ ン 57
spreadlimit
add/create_textflow() の 106
stamp
fit_textflow() の 115
さ ま ざ ま な関数の 136
standardfont
info_font() の 79
start
begin/end_document() の labels オプ シ ョ
ン と begin/end_page_ext() の label オプ
シ ョ ンのサブオプ シ ョ ン 52
い く つかの関数の shading オプ シ ョ ンのサ
ブオプ シ ョ ン 145
startcolor
shading() の 176
索引
311
startoffset
fit_textline() の textpath のサブオプ シ ョ
ン 97
startx ・ starty
info_textline() のキーワー ド 100
stretch
begin_font() の 90
strikeout
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 83
stringformat
set_option() の 29
stringlimit
set_option() の logging のサブオプ シ ョ ン
19
strings
PDF_add_portfolio_file/folder() の portfolio
のサブサブオプ シ ョ ン 261
strips
info_image() のキーワー ド 185
stroke
draw_path() の 163, 164
fit_table() の 128
strokeadjust
create_gstate() の 148
strokecolor
add_path_point() の 161
add/create_textflow() の shadow のサブオ
プ シ ョ ン 83
create_field/group() の 247
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 83
い く つかの関数の 144
strokewidth
add/create_textflow() の shadow のサブオ
プ シ ョ ン 83
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 83
strongref
begin_template_ext() ・ open_pdi_page()
の reference のサブオプ シ ョ ン 200
structuretype
begin_document() の 49
style
begin/end_document() の labels オプ シ ョ
ン と begin/end_page_ext() の label オプ
シ ョ ンのサブオプ シ ョ ン 52
subject
create_annotation() の 237
submitemptyfields
create_action() の 253
submitname
create_field/group() の 247
subpaths
draw_path() の 164
subsetlimit
load_font() の 73
312
索引
subsetminsize
load_font() の 73
subsetting
load_font() の 73
Summary
begin_item() と tag オプ シ ョ ンの 286
supplement
info_font() の 79
svgpath
add_path_point() の 163
symbol
create_annotation() の 237
symbolfont
info_font() の 79
symbology
create_field/group() の barcode オプ シ ョ
ンのサブオプ シ ョ ン 248
T
tabalignchar
add/create_textflow() の 108
tabalignment
add/create_textflow() の 105
tableheight, tablewidth
info_table() のキーワー ド 129
taborder
begin/end_page_ext() の 57
create_field/group() の 247
tag
begin_document() の 49
begin_item() と tag オプ シ ョ ンの 286
fit_image() ・ fit_pdi_page() ・ fit_
graphics() ・ fit_textline() ・ fit_textflow() ・
draw_path() ・ create_annotation() ・ fill_
*block() ・ create_field() の、 および add_
table_cell() のサブオプ シ ョ ン 288
tagged
begin_document() の 49
tagname
begin_item() と tag オプ シ ョ ンの 287
tagtrailinghyphen
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 83
target
begin_template_ext() ・ load_image() ・
open_pdi_page() の reference のサブオプ
シ ョ ン 201
create_action() の 253
targetpath
create_action() の 253
create_action() の targetpath のサブオプ
シ ョ ン 254
tempfilenames
begin_document() の 51
template
create_annotation() の 238
create_gstate() の softmask のサブオプ
シ ョ ン 148
load_image() の 181
templateoptions
load_graphics() の 189
text
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 123
fit/info_textline() ・ add/create_textflow()
の leader のサブオプ シ ョ ン 98
textcolor
create_bookmark() の 230
textendx, textendy
info_textflow() のキーワー ド 119
textflow
add_table_cell() と caption オプ シ ョ ンのサ
ブオプ シ ョ ンの 123
textformat
set_option() の 29
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 81
textheight
info_textflow() のキーワー ド 119
info_textline() のキーワー ド 100
textknockout
create_gstate() の 148
textlen
create_textflow() の 110
textpath
fit/info_textline() の 97
textrendering
add/create_textflow() の shadow のサブオ
プ シ ョ ン 83
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 84
textrise
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 84
textstate
get_option() の 31
textwidth
info_textflow() のキーワー ド 119
info_textline() のキーワー ド 100
textx, texty キーワー ド
get_option() の 31
thumbnail
load_asset() の、 ま たはその他諸関数のサ
ブオプ シ ョ ン 273
tilingtype
begin_page_ext() の 173
Title
begin_item() と tag オプ シ ョ ンの 287
title
create_annotation() の 238
info_graphics() のキーワー ド 192
toggle
create_fieldgroup() の 247
tolerance
fit_textline() の textpath のサブオプ シ ョ ン
97
toolbar
create_annotation() の 3Dactivate のサブオ
プ シ ョ ン 270
tooltip
create_field/group() の 247
top
add_nameddest() のオプ シ ョ ン、 create_
action() ・ create_annotation() ・ create_
bookmark() ・ begin/end_document() の
destination オプ シ ョ ンのサブオプ シ ョ ン
255
topdown
begin_page_ext() の 57
begin_pattern_ext() の 173
topindex
create_field/group() の 247
topleveltag
info_pdi_page() のキーワー ド 212
topleveltagcount
info_pdi_page() のキーワー ド 212
transform
begin_pattern_ext() ・ begin_template_
ext() ・ load_graphics() ・ open_pdi_page()
の 199
transition
begin/end_page_ext() の 58
create_action() の 253
translate
begin_pattern_ext() の transform オプ シ ョ
ンのキーワー ド 200
transparencygroup
begin/end_page_ext() の 58
open_pdi_page() ・ load_graphics() ・ begin_
template_ext() の 199
transparent
info_image() のキーワー ド 185
trimbox
begin/end_page_ext() の 58
truncatetrailingwhitespace
fit_textflow() の 115
索引
313
type
add_nameddest() のオプ シ ョ ン、 create_
action() ・ create_annotation() ・ create_
bookmark() ・ begin/end_document() の
destination オプ シ ョ ンのサブオプ シ ョ ン
256
add_portfolio_file/folder() の fieldlist のサ
ブオプ シ ョ ン 259
create_3dview() の 267
create_3dview() の rendermode のサブオ
プ シ ョ ン 269
create_annotation() の custom のサブオプ
シ ョ ン 234
create_gstate() の softmask のサブオプ
シ ョ ン 148
georeference の coords ・ displaycoords サ
ブオプ シ ョ ンのサブオプ シ ョ ン 263
info_graphics() のキーワー ド 192
load_3d() の 266
poca_insert() の 41
い く つかの関数の shading オプ シ ョ ンの
サブオプ シ ョ ン 145
U
U3Dpath
create_3dview() の 267
underline
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 84
underlineposition
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 84
underlinewidth
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 84
unicode
info_font() の 76, 79
unicodefont
info_font() の 79
unicodemap
load_font() の 73
unisonselect
create_fieldgroup() の 247
unknownchars
info_textline() のキーワー ド 100
unmappedchars
info_textline() のキーワー ド 101
unmappedglyphs
info_font() の 79
url
create_action() の 253
urls
load_iccprofile() の 170
usage
load_iccprofile() の 170
poca_new() の 39
used
info_textflow() のキーワー ド 119
314
索引
usedglyph
info_font() の 79
useembeddedimage
info_image() の 185
usehostfonts
set_option() の 29
usehypertextencoding
set_option() の 29
uselayers
open_pdi_document の 205
usematchbox
create_annotation() の 238
usematchboxes
fit_textflow() の wrap のサブオプ シ ョ ン
117
usercoordinates
begin_item() と tag オプ シ ョ ンの 287
create_annotation() の 238
create_field/group() の 247
set_option() の 29
userlog
set_option() の 29
userpassword
begin_document() の 50
userunit
begin/end_page_ext() の 59
usestransparency
begin_document() の 48
usetags
open_pdi_document の 205
open_pdi_page の 209
V
value
add_portfolio_file/folder() の fieldlist のサ
ブオプ シ ョ ン 259
create_annotation() の custom のサブオプ
シ ョ ン 234
poca_insert() の 41
values
poca_insert() の 41
variantname
set_layer_dependency() の 65
version
PDF_add_portfolio_file/folder() の portfolio
のサブサブオプ シ ョ ン 261
vertboxgap
info_table() のキーワー ド 129
vertical
info_font() の 79
load_font() の 73
verticalalign
fit_textflow() の 116
vertshrinking
info_table() のキーワー ド 129
vertshrinklimit
fit_table() の 128
view
annotation() の richmedia の activate サブ
オプ シ ョ ンのサブオプ シ ョ ン 275
viewarea
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 53
viewclip
begin/end_document() の
viewerpreferences オプ シ ョ ンのサブオプ
シ ョ ン 53
viewports
begin/end_page_ext() の 59
views
create_annotation() の richmedia のサブオ
プ シ ョ ン 274
load_3ddata() の 266
visiblelayers
set_layer_dependency() の 65
W
watermark
begin_template_ext() の 194
weight
begin_font() の 90
info_font() の 79
wellformed
info_textline() のキーワー ド 101
Width
begin_item() と tag オプ シ ョ ンの 287
width
add_path_point() の 163
begin_glyph_ext() の 92
begin/end_page_ext() の 59
info_*() のキーワー ド 138
info_matchbox() のキーワー ド 142
load_image() の 182
widthsonly
begin_font() の 91
willembed
info_font() の 79
willsubset
info_font() の 79
windowposition
create_annotation() の 238
windowscale
create_annotation() の 239
wkt
georeference の coords ・ displaycoords サ
ブオプ シ ョ ンのサブオプ シ ョ ン 263
wordspacing
set_text_option() ・ fit/info_textline() ・ fill_
textblock() ・ add/create_textflow() の 84
worldpoints
georeference のサブオプ シ ョ ン 263
worldsystem
georeference のサブオプ シ ョ ン 263
wrap
fit_textflow() の 116
writingdirx ・ writingdiry
info_textline() のキーワー ド 101
X
x1 ・ y1 ・ …x4 ・ y4
info_matchbox() のキーワー ド 142
info_textflow() のキーワー ド 119
x1, y1, ..., x4, y4
info_*() のキーワー ド 138
xadvancelist
fit/info_textline() の 97
xheight
info_font() の 79
info_textline() のキーワー ド 101
load_font() の 73
xid
begin_template_ext() の pdfvt のサブオプ
シ ョ ン 201
info_graphics() のキーワー ド 192
info_image() のキーワー ド 185
info_pdi_page() のキーワー ド 212
xrotate
add_path_point() の 163
elliptical_arc() の 157
xstep
begin_pattern_ext() の 173
xsymheight
create_field/group() の barcode オプ シ ョ ン
のサブオプ シ ョ ン 248
xvertline
info_table() のキーワー ド 129
Y
yhorline
info_table() のキーワー ド 129
yposition
fit/info_textline() ・ add/create_textflow()
の leader のサブオプ シ ョ ン 98
ystep
begin_pattern_ext() の 173
Z
zoom
add_nameddest() のオプ シ ョ ン、 create_
action() ・ create_annotation() ・ create_
bookmark() ・ begin/end_document() の
destination オプ シ ョ ンのサブオプ シ ョ ン
256
create_annotation() の 239
define_layer() の 62
索引
315
316
索引
C 改訂履歴
日付
更新点
2016 年 1 月 25 日
> PDFlib 9.0.6 に関する更新
2015 年 5 月 24 日
> PDFlib 9.0.5 に関する更新
2014 年 12 月 16 日
> PDFlib 9.0.4 に関する更新
2014 年 5 月 12 日
> PDFlib 9.0.3 に関する更新
2013 年 12 月 17 日
> PDFlib 9.0.2 に関する更新
2013 年 10 月 17 日
> PDFlib 9.0.1 に関する更新
2013 年 5 月 11 日
> PDFlib 9.0.0 に関する更新
2011 年 5 月 30 日
> PDFlib 8 VT Edition (内部的には 8.1.0) に関する更新
2011 年 5 月 30 日
> PDFlib 8.0.3 に関する さ ま ざ ま な更新 ・ 修正
2010 年 12 月 09 日
> PDFlib 8.0.2 に関する さ ま ざ ま な更新 ・ 修正
2010 年 9 月 22 日
> PDFlib 8.0.1p7 に関する さ ま ざ ま な更新 ・ 修正
2010 年 4 月 13 日
> PDFlib 8.0.1 に関する さ ま ざ ま な更新 ・ 修正
2009 年 12 月 04 日
> PDFlib 8 に関する更新
2009 年 3 月 13 日
> PDFlib 7.0.4 に関する さ ま ざ ま な更新 ・ 修正
2008 年 2 月 13 日
> PDFlib 7.0.3 に関する さ ま ざ ま な更新 ・ 修正
2007 年 8 月 08 日
> PDFlib 7.0.2 に関する さ ま ざ ま な更新 ・ 修正
2007 年 3 月 09 日
> PDFlib 7.0.1 に関する さ ま ざ ま な更新 ・ 修正
2006 年 10 月 03 日
> PDFlib 7.0.0 に関する更新 と 再構成。 説明書を チ ュ ー ト リ アル と API リ フ ァ レ ン スに分割
2006 年 2 月 21 日
> PDFlib 6.0.3 に関する さ ま ざ ま な更新 ・ 修正。 Ruby の節を追加
2005 年 8 月 09 日
> PDFlib 6.0.2 に関する さ ま ざ ま な更新 ・ 修正
2004 年 11 月 17 日
> PDFlib 6.0.1 に関する小規模な更新 ・ 修正
> 8 章に言語別関数プ ロ ト タ イ プ用新書式導入
> 3 章にハイパーテキス ト の例を追加
2004 年 6 月 18 日
> PDFlib 6 に関する大規模な変更
2004 年 1 月 21 日
> PDFlib 5.0.3 に関する小規模な追加 ・ 修正
2003 年 9 月 15 日
> PDFlib 5.0.2 に関する小規模な追加 ・ 修正。 ブ ロ ッ クの仕様を追加
2003 年 5 月 26 日
> PDFlib 5.0.1 に関する小規模な更新 ・ 修正
2003 年 3 月 26 日
> PDFlib 5.0.0 に関する全面的変更 と 書き直 し
2002 年 6 月 14 日
> PDFlib 4.0.3 に関する小規模な変更 と .NET バイ ンデ ィ ングに関する追加
2002 年 1 月 26 日
> PDFlib 4.0.2 に関する小規模な変更 と IBM eServer エデ ィ シ ョ ンに関する追加
第 C 章 : 改訂履歴
317
日付
更新点
2001 年 5 月 17 日
> PDFlib 4.0.1 に関する小規模な変更
2001 年 4 月 1 日
> PDFlib 4.0.0 の PDI ・ 他機能を解説
2001 年 2 月 5 日
> PDFlib 3.5.0 のテ ン プ レー ト ・ CMYK 機能を解説
2000 年 12 月 22 日
> ColdFusion 解説 と PDFlib 3.03 に関する追加。 COM エデ ィ シ ョ ン を別マニ ュ アルに
2000 年 8 月 8 日
> Delphi 解説 と PDFlib 3.02 に関する小規模な追加
2000 年 7 月 1 日
> PDFlib 3.01 に関する追加 ・ 説明の明瞭化
2000 年 2 月 20 日
> PDFlib 3.0 に関する変更
1999 年 8 月 2 日
> PDFlib 2.01 に関する小規模な変更 ・ 追加
1999 年 6 月 29 日
> 言語バイ ンデ ィ ン グご と に節を分離
> PDFlib 2.0 に関する追加
1999 年 2 月 1 日
> PDFlib 1.0 に関する小規模な追加 (公開せず)
1998 年 8 月 10 日
> PDFlib 0.7 に関する追加 (1 つのお客様用のみ)
1998 年 7 月 8 日
> PDFlib 0.6 の PDFlib ス ク リ プ テ ィ ングサポー ト を初めて記述
1998 年 2 月 25 日
> PDFlib 0.5 に関 し て説明を若干追加
1997 年 9 月 22 日
> PDFlib 0.4 と 本マニ ュ アルを初めて公開
索引
なお、 オプシ ョ ン と キー ワー ド は別途 295 ページ 「付章 B」 に挙げてい ます。
A
N
All スポ ッ ト カ ラ ー名 169
alphaisshape gstate オプ シ ョ ン 147
Author フ ィ ール ド 280
None スポ ッ ト カ ラ ー名 169
B
blendmode gstate オプ シ ョ ン 147
C
CMYK カ ラ ー 14
cmyk キーワー ド 15
Creator フ ィ ール ド 280
D
Dublin Core 279
F
float
オプ シ ョ ン リ ス ト の 12
float 値 ・ 整数値
オプ シ ョ ン リ ス ト の 12
G
gray キーワー ド 15
I
iccbased keyword 15
iccbasedcmyk キーワー ド 15
iccbasedgray キーワー ド 15
iccbasedrgb キーワー ド 15
ICC プ ロ フ ァ イル 170
ICC ベース カ ラ ー 14
info_textflow() 118
IVS 72
K
Keywords フ ィ ール ド 280
L
Lab カ ラ ー 14
lab キーワー ド 15
O
opacityfill gstate オプ シ ョ ン 147
opacitystroke gstate オプ シ ョ ン 147
overprintfill gstate オプ シ ョ ン 148
overprintmode gstate オプ シ ョ ン 148
overprintstroke gstate オプ シ ョ ン 148
P
pattern キーワー ド 15
pCOS 関数 203, 216
PDF_activate_item() 288
PDF_add_nameddest() 255
PDF_add_portfolio_folder() 257
PDF_add_table_cell( ) 120
PDF_add_textflow() 102
PDF_align() 152
PDF_arc() 155
PDF_arcn() 155
PDF_begin_document() 43
PDF_begin_dpart() 291
PDF_begin_font() 90
PDF_begin_glyph_ext() 91
PDF_begin_item() 282
PDF_begin_layer() 65
PDF_begin_mc() 289
PDF_begin_page_ext() 55
PDF_begin_pattern_ext 172
PDF_begin_template_ext() 193
PDF_circle() 155
PDF_clip() 159
PDF_close_font() 74
PDF_close_graphics() 190
PDF_close_image() 182
PDF_close_pdi_document() 206
PDF_close_pdi_page() 209
PDF_closepath_fill_stroke() 159
PDF_closepath_stroke() 158
PDF_closepath() 157
PDF_concat() 152
PDF_continue_text() 88
PDF_continue_text2() 88
PDF_convert_to_unicode( ) 23
PDF_create_3dview() 266
PDF_create_action() 249
PDF_create_annotation() 231
索引
319
PDF_create_bookmark() 229
PDF_create_field() 240
PDF_create_fieldgroup() 242
PDF_create_gstate() 147
PDF_create_pvf() 35
PDF_create_textflow() 109
PDF_curveto() 154
PDF_define_layer() 61
PDF_delete_dl( ) 34
PDF_delete_path() 165
PDF_delete_pvf() 36
PDF_delete_table( ) 130
PDF_delete_textflow() 119
PDF_delete() 34
PDF_elliptical_arc() 156
PDF_encoding_set_char() 93
PDF_end_document() 44
PDF_end_dpart() 292
PDF_end_font() 91
PDF_end_glyph() 92
PDF_end_item() 287
PDF_end_layer() 66
PDF_end_mc() 289
PDF_end_pattern() 172
PDF_endpath() 159
PDF_fill_graphicsblock() 227
PDF_fill_imageblock() 225
PDF_fill_pdfblock() 226
PDF_fill_stroke() 158
PDF_fill_textblock() 222
PDF_fill() 158
PDF_fit_graphics() 190
PDF_fit_image() 182
PDF_fit_pdi_page() 210
PDF_fit_table( ) 124
PDF_fit_textflow() 111
PDF_fit_textline() 95
PDF_get_apiname() 22
PDF_get_buffer() 54
PDF_get_errmsg() 22
PDF_get_errnum() 21
PDF_get_opaque() 22
PDF_get_option() 29
PDF_get_parameter() 32
PDF_get_string() 31
PDF_get_value() 32
PDF_info_font() 75
PDF_info_graphics() 191
PDF_info_matchbox() 141
PDF_info_pvf() 36
PDF_info_table( ) 129
PDF_info_textflow() 118
PDF_info_textline() 98
PDF_lineto() 154
PDF_load_3ddata() 265
PDF_load_asset() 271
PDF_load_font() 67
PDF_load_graphics() 186
320
索引
PDF_load_iccprofile() 170
PDF_load_image() 177
PDF_makespotcolor() 169
PDF_mc_point() 290
PDF_moveto() 154
PDF_new_dl( ) 33
PDF_new() 33
PDF_new2() 33
PDF_open_pdi_callback() 205
PDF_open_pdi_document() 203
PDF_open_pdi_page() 207
PDF_pcos_get_number( ) 216
PDF_pcos_get_stream( ) 217
PDF_pcos_get_string( ) 216
PDF_poca_delete() 39
PDF_poca_insert() 40
PDF_poca_new() 38
PDF_poca_remove() 42
PDF_process_pdi() 214
PDF_rect() 157
PDF_restore() 147
PDF_resume_page() 59
PDF_rotate() 151
PDF_save() 146
PDF_scale() 151
PDF_set_graphics_option() 145
PDF_set_gstate() 148
PDF_set_info() 279
PDF_set_info2() 279
PDF_set_layer_dependency() 62
PDF_set_option() 25
PDF_set_parameter() 32
PDF_set_text_option() 84
PDF_set_text_pos() 86
PDF_set_value() 32
PDF_setcolor() 167
PDF_setfont() 86
PDF_setlinewidth() 146
PDF_setmatrix() 153
PDF_shading_pattern() 174
PDF_shading() 175
PDF_shfill() 174
PDF_show_xy() 87
PDF_show_xy2() 87
PDF_show() 87
PDF_show2() 87
PDF_skew() 152
PDF_stringwidth() 88
PDF_stringwidth2() 88
PDF_stroke() 158
PDF_suspend_page() 59
PDF_translate() 151
PDF/X
出力イ ン テ ン ト 215
PDFlib Personalization Server 221
PDF オブ ジ ェ ク ト 作成 API (POCA) 38
PDF 取 り 込み関数 (PDI) 203
PDI (PDF 取 り 込み) 203
POCA (PDF オブ ジ ェ ク ト 作成 API) 38
PPS (PDFlib Personalization Server) 221
え
円
オプ シ ョ ン リ ス ト の 16
R
renderingintent gstate オプ シ ョ ン 148
RGB カ ラ ー 14
rgb キーワー ド 15
S
smoothness gstate オプ シ ョ ン 148
softmask
create_gstate() の 148
spotname キーワー ド 15
spot キーワー ド 15
strokeadjust gstate オプ シ ョ ン 148
Subject フ ィ ール ド 279
SVG 186
T
textknockout gstate オプ シ ョ ン 148
Title フ ィ ール ド 279
Trapped フ ィ ール ド 280
U
Unichar 値
オプ シ ョ ン リ ス ト の 11
Unicode 範囲
オプ シ ョ ン リ ス ト の 11
W
Web 最適化 PDF 45
X
XMP メ タ デー タ 281
あ
アクシ ョ ンリス ト
オプ シ ョ ン リ ス ト の 13
い
色
オプ シ ョ ン リ ス ト 内の 14
色関数 167
イ ン ラ イ ンオプ シ ョ ン リ ス ト
テキス ト フ ローの 110
う
上付き 84
お
オブ ジ ェ ク ト ス コ ープ 18
オプ シ ョ ン リ ス ト の文法 8
折れ線
オプ シ ョ ン リ ス ト の 16
か
画像関数 177
括弧で囲ま ない文字列
オプ シ ョ ン リ ス ト 内の 10
関数のス コ ープ 18
き
キーワー ド
オプ シ ョ ン リ ス ト の 12
曲線
オプ シ ョ ン リ ス ト の 16
く
グ ラ フ ィ ッ ク関数 143, 186
グ ラ フ ィ ッ ク ス テー タ ス関数 146
グ リ フ ス コ ープ 18
グ ローバルオプ シ ョ ン 25
こ
高速 Web 表示 45
し
下付き 84
斜形化 152
情報フ ィ ール ド 279
す
数値
オプ シ ョ ン リ ス ト の 12
ス コ ープ 18
スポ ッ ト カ ラ ー (分版色空間) 14
せ
整列 (position オプ シ ョ ン) 135
セ ッ ト ア ッ プ関数 33
セル内枠
表セルの 121
線形化 PDF 45
索引
321
た
め
短縮 タ グ付け 287
メ タ デー タ 281
ち
も
長方形
オプ シ ョ ン リ ス ト の 16
文字サイ ズ
オプ シ ョ ン リ ス ト の 12
文字列
オプ シ ョ ン リ ス ト の 10
て
テキス ト 関数 67
テキス ト フ ロー : イ ン ラ イ ン オプ シ ョ ン リ ス
ト 110
テ ン プ レー ト ス コ ープ 18
と
取 り 込み関数
PDF の 203
ね
ネス ト さ れたオプ シ ョ ン リ ス ト 8
ら
ラ イ セ ン ス 28
ラ ス タ 画像関数 177
り
リスト値
オプ シ ョ ン リ ス ト の 8
は
ろ
パスス コ ープ 18
パスの描画 と ク リ ッ ピ ン グ 158
パ タ ーン カ ラ ー 14
パ タ ーン ス コ ープ 18
ハン ド ル
オプ シ ョ ン リ ス ト の 12
論理値
オプ シ ョ ン リ ス ト の 12
ひ
表意文字異体字シーケ ン ス (IVS) 72
標準ページサイ ズ 55
表の組版 120
ふ
フ ォ ン ト ス コ ープ 18
不可視テキス ト 84
袋文字 84
文書 ・ ページ関数 43, 55
文書情報フ ィ ール ド 279
文書ス コ ープ 18
分版色空間 14
文法
オプ シ ョ ン リ ス ト の 8
へ
ページサイ ズ形式 55
ページ ス コ ープ 18
ベ ク ト ルグ ラ フ ィ ッ ク関数 186
ベジ エ曲線 154
322
よ
横置き モー ド 56
索引
索引
323
ABC
PDFlib GmbH
Franziska-Bilek-Weg 9
80339 München, Germany
www.pdflib.com
電話 +49 • 89 • 452 33 84-0
FAX +49 • 89 • 452 33 84-99
ご質問がある と きは、 PDFlib メ ー リ ング リ ス ト と
groups.yahoo.com/neo/groups/pdflib/info にある アー カ イ ブ を チ ェ ッ ク し て く だ さ い
ラ イ セ ン ス発行のお問い合わせ
[email protected]
サポー ト
[email protected] (お持ちの ラ イ セ ン ス番号をお書 き く だ さ い)
Fly UP