17.05.2014 Views

12 PPS と PDFlib Block Plugin

12 PPS と PDFlib Block Plugin

12 PPS と PDFlib Block Plugin

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

"type=integer values={70 440 300 600}");<br />

p.poca_insert(imageblock, "type=array key=Rect value=" + container2);<br />

p.poca_insert(imageblock, "type=name key=Name value=logo");<br />

p.poca_insert(imageblock, "type=name key=Subtype value=Image");<br />

p.poca_insert(imageblock, "type=name key=fitmethod value=auto");<br />

/* このブロックをページのブロック 辞 書 内 に 挿 入 */<br />

p.poca_insert(blockdict, "type=dict key=logo direct=false value=" + imageblock);<br />

/* ---------------------------------------------------------<br />

* PDFブロックを 作 成<br />

* ---------------------------------------------------------<br />

*/<br />

pdfblock = p.poca_new("containertype=dict usage=blocks " +<br />

"type=name key=Type value=<strong>Block</strong>");<br />

container3 = p.poca_new("containertype=array usage=blocks " +<br />

"type=integer values={70 240 300 400}");<br />

p.poca_insert(pdfblock, "type=array key=Rect value=" + container3);<br />

p.poca_insert(pdfblock, "type=name key=Name value=pdflogo");<br />

p.poca_insert(pdfblock, "type=name key=Subtype value=PDF");<br />

p.poca_insert(pdfblock, "type=name key=fitmethod value=meet");<br />

/* このブロックをページのブロック 辞 書 内 に 挿 入 */<br />

p.poca_insert(blockdict, "type=dict key=pdflogo direct=false " + "value=" + pdfblock);<br />

/* ---------------------------------------------------------<br />

* このブロック 辞 書 をカレントページ 内 に 挿 入<br />

* ---------------------------------------------------------<br />

*/<br />

p.end_page_ext("blocks=" + blockdict);<br />

/* クリーンナップ */<br />

p.poca_delete(blockdict, "recursive");<br />

<strong>12</strong>.8.2 <strong>PDFlib</strong> ブロックを 取 り 込 む<br />

入 力 文 書 から1 個 ないし 複 数 の<strong>PDFlib</strong>ブロ ッ ク を、PDF_process_pdi( ) と action=copyallblocks<br />

か action=copyblock で 下 記 の よ う にカ レ ン ト 出 力 ページへ 複 製 する こ と も 可 能 です :<br />

if (p.process_pdi(p, doc, 0, "action=copyallblocks block={pagenumber=1}") != 1)<br />

{<br />

/* エラー */<br />

}<br />

こ の よ う にする と 、マルチレベルのブ ロ ッ ク 流 し 込 みワー ク フ ローを 実 装 する こ と がで き<br />

ます。 ただ し、 各 ページ 上 でブ ロ ッ ク 名 は 一 意 でなければな ら ない こ と に 留 意 し て く だ さ<br />

い。 すなわち、 同 じ 名 前 を 持 つ 複 数 のブ ロ ッ ク を 同 じページ 上 へ 取 り 込 む こ と はで き ませ<br />

ん。 ブ ロ ッ ク を 複 製 時 に 名 称 変 更 する には outputblockname サブオプシ ョ ンを 用 います。<br />

356 第 <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!