InDesignでドキュメントがオーバーフローしてるかしてないかのプリフライト的チェックするのにアプローチの違う2つのもので比べてみた。長体処理とかはしません。
- ストーリーのオーバーフローをチェックしてしてたら、テキストフレーム(textContainers)を舐める
- スプレッドごとにテキストフレームを舐めていく
チェックするドキュメントの内容にもよるんだろうけど、ストーリーで攻めた方が速い気がする。
ベンチに
$.hiresTimer
を使っているのでCS4以降ですが、
new Date().getTime()
でも全然問題ない(単に使いたかっただけ)
overflow_check_via_story() の方は TextContainer を使っているので CS3以降でないと使えません。
var doc = app.documents[0]; a = $.hiresTimer // ベースの時間 overflow_check_via_story (doc); b = $.hiresTimer overflow_check_via_spread (doc); c = $.hiresTimer $.writeln(b); // 差分以下同 $.writeln(c); function overflow_check_via_story (doc) { var story_obj = doc.stories; var error_overflow = []; for (var sti=0, stiL=story_obj.length; sti