Answered
連結テキストフレーム中の表組のページごとの最終行を取得
スクリプトを使用して連結テキストフレーム中の表組の
ページごとの最終行を取得したいのですが、可能でしょうか?
スクリプトを使用して連結テキストフレーム中の表組の
ページごとの最終行を取得したいのですが、可能でしょうか?
>表組のページごとの最終行
これは、表がページをまたぐ場合がある、ということですよね。
横組み限定、テキストフレームのド派手な回転は不可、というフツウの状況であれば
・var ary = []; // 結果入れる用の配列
・対象ストーリーを変数に(a)
・a.insertionPoints[0].parentTextFrames[0].documentOffset を変数に(b)
・var c = -100; // 比較用Y座標の初期値
・a.tablesでループ(i)
・tables[i].rowsでループ(j)
・a.tables[i].rows[j].cells[0].insertionPoints[0] を変数に(d)
・d.parentTextFrames[0].parentPage.documentOffset を変数に(e)
・if(e != b {
b = e; // ページ番号を更新
c = -100; // Y座標比較用変数をリセット
} else {
if(d.baseline > c) {
ary[e] = a.tables[i].rows[j]; // 配列の e 番目として行を格納
c = d.baseline; // Y座標比較用変数を更新
}
} // j
} // i
…みたいな感じでどうでしょう。
(回答を、書ける人向けにしておきました)
各行の先頭セルの先頭挿入点のベースラインでY座標を比較していく、という内容です。
意地悪なベースラインシフトでも仕込まれてない限りはいけると思うのですが。
コードが完成したらぜひシェアしてくださいっ
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.