M.C.P.C.

―むり・くり―プラスコミュニケーション(更新終了)


| トップページ |

2005年4月13日 00:00

InDesignCSのJavaScriptで自動組版っぽいことしてみようかなと思った。(5)

このエントリーをはてなブックマークに追加 mixiチェック

前回のママだと、ちょっと問題があることをずうっと放置したままでした。

ページ処理してないので、項目が多いと、

indd3-script8
▲先生!自分でねたやっておいてなんですが、ぼかしめんどくさいです!

版面はみ出てしまいます。そりゃ、そうですね。

つうわけで、改ページして原点に戻す処理を付けてみました。

data = new Array();
data [ 0] = "4900000000000";
data [ 1] = "4900000000001";
data [ 2] = "4900000000002";
data [ 3] = "4900000000003";
data [ 4] = "4900000000004";
data [ 5] = "4900000000005";
data [ 6] = "4900000000006";
data [ 7] = "4900000000007";
data [ 8] = "4900000000008";
data [ 9] = "4900000000009";
data [10] = "4900000000010";
data [11] = "4900000000011";
data [12] = "4900000000012";
data [13] = "4900000000013";
data [14] = "4900000000014";
data [15] = "4900000000015";
data [16] = "4900000000016";
data [17] = "4900000000017";
data [18] = "4900000000018";
data [19] = "4900000000019";
data [20] = "4900000000020";
data [21] = "4900000000021";
data [22] = "4900000000022";
data [23] = "4900000000023";
data [24] = "4900000000024";
data [25] = "4900000000025";
 
pageNum = 0;
 
docObj = app.documents.add();
docObj.documentPreferences.pageWidth = "182mm";
docObj.documentPreferences.pageHeight = "257mm";
pageObj = docObj.pages[pageNum];
 
l = data.length;
 
ox = 10;
oy = 10;
 
for (i = 0; i < l; i++ ) {
 
 
    x = ox + (i % 4) * 41;
    y = oy + (Math.floor(i / 4) % 6) * 39;
 
    if (i % (4 * 6) == 0 && i > 0) {
	docObj.pages.add();
	pageNum++;
	pageObj = docObj.pages[pageNum];
    }
    txtObj = pageObj.textFrames.add();
    txtObj.visibleBounds = [y,x, y+5.75, x+7.25];
    txtObj.contentType = ContentType.textType;
    txtObj.contents = i.toString(10);
    txtObj.characters[0].pointSize = "14q";
 
    x = x+7.75;
 
    txtObj = pageObj.textFrames.add();
    txtObj.visibleBounds = [y, x, y+5.75, x+31.25];
    txtObj.contentType = ContentType.textType;
    txtObj.contents = data[i];
 
    x = x-7.75;
    y = y+6.25;
 
    txtObj = pageObj.textFrames.add();
    txtObj.visibleBounds = [y, x, y+30.75, x+39];
    txtObj.contentType = ContentType.graphicType;
    txtObj.place("C:\\img\\"+data[i]+".png");
    txtObj.fit(FitOptions.proportionally); // フレームサイズに写真を収める
    txtObj.fit(FitOptions.centerContent); // フレームの中央に
 
}
 

つうわけで、実行例はこちらになります。

indd3-script9
▲もうモザイクやらぼかしは堪忍してー

閉じ方向が問題なので(今回のものの場合のど小口均等ですからあまり問題ないけれどもやっぱり気分的にいやですよね?)次回あたりに何とかできれば。

投稿 大野 義貴 [InDesign] | |

トラックバック(0)

トラックバックURL: http://blog.dtpwiki.jp/MTOS/mt-tb.cgi/994

コメントする