12 PPS 㨠PDFlib Block Plugin
12 PPS 㨠PDFlib Block Plugin
12 PPS 㨠PDFlib Block Plugin
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>12</strong>.5 <strong>PPS</strong> でブロッ クへ 流 し 込 み<br />
<strong>PPS</strong> でブ ロ ッ ク へ 流 し 込 みを 行 う には、 まずブ ロ ッ ク を 含 むページを、PDF_fit_pdi_page( )<br />
関 数 で 出 力 ページ 上 に 貼 り 付 け る 必 要 があ り ます。 ページを 貼 り 付 けた 後 、 その 上 のブ<br />
ロックへPDF_fill_*block( ) 関 数 群 で 流 し 込 みを 行 う こ と がで き ます。<br />
簡 単 な 例 : 可 変 テキス ト を テ ンプ レー ト に 追 加 PDF テンプレー ト への 動 的 テキ ス ト の<br />
追 加 は、 非 常 に 頻 繁 に 必 要 と な る 動 作 です。 以 下 の コー ド では、 入 力 PDF 文 書 (テンプ<br />
レー ト 、 ブ ロ ッ ク コ ンテナ) の 中 のページを 開 き、 それを 出 力 ページ 上 に 配 置 し、 そ し て<br />
firstname というテキス トブロックに 可 変 テキス トを 入 れ 込 んでいます:<br />
doc = p.open_pdi_document(filename, "");<br />
if (doc == -1)<br />
throw new Exception("エラー : " + p.get_errmsg());<br />
page = p.open_pdi_page(doc, pageno, "");<br />
if (page == -1)<br />
throw new Exception("エラー : " + p.get_errmsg());<br />
p.begin_page_ext(width, height, "");<br />
/* 取 り 込 んだページを 貼 り 付 け */<br />
p.fit_pdi_page(page, 0.0, 0.0, "");<br />
/* 貼 り 付 けたページ 上 のブロック1 個 へ 流 し 込 み */<br />
p.fill_textblock(page, "firstname", "Serge", "encoding=winansi");<br />
p.close_pdi_page(page);<br />
p.end_page_ext("");<br />
p.close_pdi_document(doc);<br />
クックブック 完 全 な コー ド サンプルがク ッ ク ブ ッ クの blocks/starter_block トピックにあります。<br />
ブロックのプロパティを 上 書 き 場 合 に よ っ てプ ロ グ ラ マーは、 ブ ロ ッ ク の 定 義 が 与 え<br />
てい る プ ロパテ ィ 群 を 一 部 だけ 採 用 し、その 他 のプ ロパテ ィ を カ ス タ ムの 値 で 上 書 き し た<br />
い こ と があ り ます。 こ れは さ ま ざ ま な 場 合 に 有 用 です :<br />
> 業 務 上 の 要 請 であ る 種 の 上 書 き が 必 要 と 判 断 さ れる 場 合 に 対 応 。<br />
> 画 像 ・PDF ページの 拡 縮 倍 率 を、ブ ロ ッ ク 定 義 か ら 採 らずに、アプ リ ケーシ ョ ンで 算 出 。<br />
> ブ ロ ッ ク の 座 標 をプ ロ グ ラ ムで 変 え る。 生 成 し たい 請 求 書 のデータ 項 目 数 が 一 定 でな<br />
い 場 合 等 。<br />
> 別 々のス ポ ッ ト カ ラー 名 を 与 え る こ と も 可 能 。 プ リ ン ト サービ ス 業 務 で、 顧 客 ご と の<br />
要 請 に 合 わせる ため。<br />
プロパティを 上 書 きするには、 PDF_fill_*block( ) 関 数 群 のオプシ ョ ン リ ス ト にプ ロパテ ィ<br />
の 名 前 と その 値 を 与 えます。 例 :<br />
p.fill_textblock(page, "firstname", "Serge", "fontsize=<strong>12</strong>");<br />
これは、 ブロッ クの 内 部 の fontsize プロパティを、 与 えた 値 <strong>12</strong> で 上 書 きします。 ほとん<br />
どすべてのプロパテ ィ 名 を、 オプシ ョ ン と して 用 いる こ とが 可 能 です。<br />
プ ロパテ ィ の 上 書 きは、 それぞれの 関 数 呼 び 出 し にのみ 適 用 さ れます。 ブ ロ ッ ク 定 義<br />
内 に 保 持 されるわけではあ り ません。<br />
<strong>12</strong>.5 <strong>PPS</strong> でブロックへ 流 し 込 み 335