17.05.2014 Views

12 PPS と PDFlib Block Plugin

12 PPS と PDFlib Block Plugin

12 PPS と PDFlib Block Plugin

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

カ ス タ ムプ ロパテ ィ の 取 得 カスタムプロパティは、 下 記 の 例 のよ うに 取 得 することが<br />

で き ます。 こ こ では、 ページ pagenum 上 の b1 というブロックからプロパティ zipcode を<br />

取 得 し ています :<br />

zip = p.pcos_get_string(doc, "pages[" + pagenum + "]/blocks/b1/Custom/zipcode");<br />

ブ ロ ッ ク 内 に 具 体 的 に 何 と い う カ ス タ ムプ ロパテ ィ があ る かわか ら なければ、 実 行 時 にそ<br />

の 名 前 を 得 る こ と もでき ます。b1 と い う ブ ロ ッ ク の 最 初 のカ ス タ ムプ ロパテ ィ の 名 前 を 得<br />

るには、 下 記 のよ うにします:<br />

propname = p.pcos_get_string(doc, "pages[" + pagenum + "]/blocks/b1/Custom[0].key");<br />

番 号 を 0 のかわ り に 1 つずつ 増 やし ていけば、すべてのカ ス タ ムプ ロパテ ィ の 名 前 を 得 る<br />

ことができます。length 接 頭 辞 を 用 いれば、 カ ス タ ムプ ロパテ ィ の 数 を 知 る こ と がで き ま<br />

す。<br />

存 在 し ないブ ロ ッ ク プ ロパテ ィ と デフ ォル ト 値 ブ ロ ッ ク ま たはプ ロパテ ィ が 実 在 する<br />

かど うかを 知 るには、 type 接 頭 辞 を 用 います。 パスに 対 する 型 が 0 か null ならば、 その<br />

オブジ ェ ク ト は PDF 文 書 内 に 存 在 し ていません。 なお、 定 義 済 みプ ロパテ ィ の 場 合 、 こ<br />

れはプロパテ ィ のデフ ォル ト 値 が 用 いられる こ と を 意 味 し ます。<br />

カ ス タ ムプ ロパテ ィ の 名 前 空 間 さ ま ざ ま な 場 所 で 作 成 さ れた PDF 文 書 をや り 取 り する<br />

際 に 混 乱 が 生 じ る こ と を 避 け る ため、 カ ス タ ムプ ロパテ ィ 名 をつけ る と き には 必 ず、 イ ン<br />

ターネ ッ ト ド メ イ ン 名 を 企 業 固 有 の 接 頭 辞 と し て 用 い、 その 後 にコ ロ ン 「:」 と プ ロパテ ィ<br />

名 本 体 を 続 け る こ と を 推 奨 し ます。 た と えば、 ACME 社 であれば 以 下 の よ う なプ ロパテ ィ<br />

名 を 使 用 する のです :<br />

acme.com:digits<br />

acme.com:refnumber<br />

標 準 プロパティ とカスタムプロパティはブロック 内 で 異 なる 格 納 のされ 方 をしているの<br />

で、 標 準 <strong>PPS</strong> プ ロパテ ィ 名 (340 ページ 「<strong>12</strong>.6 ブ ロ ッ ク のプ ロパテ ィ 」 で 定 義 さ れてい る<br />

も の) がカ ス タ ムプ ロパテ ィ 名 と 衝 突 する こ と は 決 し てあ り ません。<br />

354 第 <strong>12</strong> 章 : <strong>PPS</strong> と <strong>PDFlib</strong> <strong>Block</strong> <strong>Plugin</strong>

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!