JavaScriptで表組み制御ですが・・・

[3220]JavaScriptで表組み制御ですが・・・ | 投稿者:おぎゃあ | 投稿日:2009/06/23(Tue) 16:03:00
InDesignCS2で名簿を作成しようと
JavaScriptでチャレンジしています。

データ結合だと無理っぽいので
読み込んだ整形済みCSVを文字量によって
2行分の高さと、3行分の高さを設定する必要があります。

リファレンスを呼んだかんじでは、
行高の指定や、表中のテキストスタイル指定が
困難なようですが出来るのでしょうか?

タグで整形して・・・とも考えましたが
汎用性を考えてスクリプトで制御したいです。

またデータを読み込みつつ、行を増やしていくような
スクリプトは組めるのでしょうか?
ちょっとチャレンジしたのですが
予め行数が決まってないと
addしたあとでは、追加できないっぽいです。
» 1
[3223]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:たけうちとおる | 投稿日:2009/06/23(Tue) 20:54:07
AppleScriptでしかCS2の表は動かした事がないのですが
すべて出来ると思います。rowにはheightのプロパティがありますし文字にスタイルを当てるのは普通にできるでしょう。
行を増やすのもできますので、データを読みつつ増やす事も大丈夫です。
» 2
[3228]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:せうぞー | 投稿日:2009/06/24(Wed) 11:46:07
>読み込んだ整形済みCSVを文字量によって
>2行分の高さと、3行分の高さを設定する必要があります。

表組みのセルは通常、文字量に応じてセル高さが調整されます。
それとも、2行分の文字量のものが3行になったとき、それを長体処理などして2行にするということですか?
line.length ===3 みたいな感じ。


>タグで整形して・・・とも考えましたが
>汎用性を考えてスクリプトで制御したいです。

JavaScriptで処理すると、その表のためのスクリプトになりがちです。
汎用性を求めるならば、むしろテキスト上でタグ処理の方がよいように思います。テキストを手動で整形するのでなければ...^^
» 3
[3242]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:おぎゃあ | 投稿日:2009/06/24(Wed) 23:14:23
たけうちとおる 様

おっしゃるとおり行を増やす事ができました。
でも合ってるのかなぁ?いまいち自身のコードに自信が持てません。
うぅ・・・
あと文字スタイルもうまくscriptで適用する事ができませんでした。
なにやら「そのオブジェクトは存在しない」みたいな感じでエラーが出ます。
会社にコードデータを置いてきちゃったので
いま記載できないですが。

せうぞー 様
>表組みのセルは通常、文字量に応じてセル高さが調整されます。
すっごい勘違いをしていました。
データ結合でチェレンジしたときに文字量でセル高が
自動で調整されなかったもので・・・
InDesignタグもいろいろやってみましたが
エクセルのデータにどうやってタグ付けをするか?
apple script でもチャレンジしたいと思っています。
皆さんはInDesignタグの付与をどのようなツールでやっておられるのでしょうか?
» 4
[3244]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:せうぞー | 投稿日:2009/06/25(Thu) 00:40:10
>エクセルのデータにどうやってタグ付けをするか?
>apple script でもチャレンジしたいと思っています。
>皆さんはInDesignタグの付与をどのようなツールでやっておられるのでしょうか?

Excel -> タブ区切りテキスト -> Rubyでタグ処理 -> InDesignに読み込みです。
Rubyを使うのは、柔軟な処理をしたいから。ストーリーの中で表組み部分だけにセル指定をしたり、行数やフィールド数によって処理を変えたいとか。さらに、特定のセルだけを結合したいとか。いろいろできます。こういうことは、エディタの連続置換ではほぼ無理ですね。
» 5
[3245]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:mg | 投稿日:2009/06/25(Thu) 05:40:56
>皆さんはInDesignタグの付与をどのようなツールでやっておられるのでしょうか?

Excelは肌にあわないので、FileMakerProに読み込んで処理してます。
» 6
[3246]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:お~まち | 投稿日:2009/06/25(Thu) 08:50:20
>皆さんはInDesignタグの付与をどのようなツールでやっておられるのでしょうか?

わたしはWindows使いなので...
複雑なものなら Excel VBA で処理、単にタグを追加して繋いでいくようなものであればExcel関数で処理します。

Excel関数で処理というのは、あらかじめタグ付テキスト用の列を決めておいて、そこに計算式(単に文字列を繋いでいくだけ。例:= "<pstyle:本文>" & A1 & "<cstyle:スタイル1>" & A2 & "<cstyle:>")を入れます。で、でき上がった列だけ書き出しもしくはコピー&ペーストしてテキストファイルを作成します。
» 7
[3248]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:おぎゃあ | 投稿日:2009/06/25(Thu) 10:11:32
皆さんご返信ありがとうございます。

せうぞー 様
>こういうことは、エディタの連続置換ではほぼ無理ですね。
そっそうですよね! 置き換え用記号で挟んでおいて、その記号に対しタグにすり替えるのが良いのか迷っていました。
ただ・・・わたし、PHPでのDB連動やライブラリ作成の経験はあるのですが、Rubyの経験が有りません。(笑

mg 様
>FileMakerProに読み込んで処理してます。
FileMakerProでタグ付与+レコード書き出しのイメージですか?
これなら会社にもあります。
確かに東京本社では4Dとか言うデータベースに一度ほうりこんで
タグ付与をすると聞いた事があります。

お~まち 様
VBAでエクセルベースのアプリ作成も経験有るんでイメージがわきます。
InDesignタグはやはりインストールディスクに添付されている
タグ一覧を参照するしかないのですか?
なにか良い資料があれば良いのですが。
» 8
[3251]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:たけうちとおる | 投稿日:2009/06/25(Thu) 12:27:08
>皆さんはInDesignタグの付与をどのようなツールでやっておられるのでしょうか?
あ。PHPでやった事ありますよ。慣れると楽です。
名簿ということなので、人名漢字などの文字化けにご注意を。
>InDesignタグはやはりインストールディスクに添付されている
>タグ一覧を参照するしかないのですか?
あれは良い資料だと思いますよ。簡潔です。
» 9
[3255]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:おぎゃあ | 投稿日:2009/06/26(Fri) 08:32:41
たけうちとおる 様

>名簿ということなので、人名漢字などの文字化けにご注意を。
そうなんですよねぇ?。PHPで一番悩ましい事項です。
MySqlとの連携で一番気を使います (^_^;)

タグを手動などで整理している段階で
可読性を良くするために、表行の終了タグなどの節目で
改行を入れて作業した場合、そのまま読み込むと
行高が広がってしまったりします。

これは読み込む前にエディタなどで改行コードを省いてあげる
必要があるのでしょうか?
» 10
[3256]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:KUMA | 投稿日:2009/06/26(Fri) 10:13:32
>皆さんはInDesignタグの付与をどのようなツールでやっておられるのでしょうか?
PHPの話題が出たのでちょっとだけ反応します。
Smartyでテンプレート作って、タグ生成してたことあります。
» 11
[3258]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:おぎゃあ | 投稿日:2009/06/27(Sat) 14:51:58
KUMA 様

>Smartyでテンプレート作って、タグ生成してたことあります。
Smartyですか! 以前QuickFormのレンダリング用にトライした事が有ります。
という事は、みなさん得意なスクリプトなどの環境で
タグの付与や検索置き換えを行っておられるのですね。
エスケープを織りまぜて文字化け対策は考慮しないといけませんね。
» 12
[3269]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:おぎゃあ | 投稿日:2009/07/01(Wed) 00:33:26
とりあえず、Excelの数式で条件抽出後のレコード群に
InDesignタグを付与して表組を完成させました。
なれればいい感じで、重たいエクセルの数式列挙も
AppleScriptで数千行コピーしたりと形になってきました。

欲張って段落スタイルの適用や、タブ揃えなども一気にやってみました。
概ね思惑通りに挙動するのですが、以下の2点が謎のままです。

1-表中に所々、無意味に改行が挿入(1?3ケ)されており、行高が定まらない。
2-定義済み段落スタイルが、タグに記述してあっても適用されない。これはテストで作った表組を書き出し、直後のタグを再度配置しても崩れます。

表組中のタグや改行はすべてタグで表記しており、Excelからのエクスポート時に付いてしまった無駄なタブやダブルクォーティション、改行は除去してあります。表の行によって異なるので謎??です。
なにか余計なものが残ってしまっているのでしょうか?
» 13
[3275]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:. | 投稿日:2009/07/01(Wed) 13:22:52
>1-表中に所々、無意味に改行が挿入(1?3ケ)されており、行高が定まらない。
段落スタイルが重複したりしていませんか?

>2-定義済み段落スタイルが、タグに記述してあっても適用されない。これはテストで作った表組を書き出し、直後のタグを再度配置しても崩れます。
テキスト読み込み時の設定はどうなっていますか?
» 14
[3291]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:おぎゃあ | 投稿日:2009/07/05(Sun) 13:06:50
/.様 ありがとうございます。

>段落スタイルが重複したりしていませんか?
これは無いみたいです。
ただ読み込んだ時点で、段落スタイルパレットがこん具合になります。

>テキスト読み込み時の設定はどうなっていますか?
これは、添付の画像のような感じです。

同じセル内で、タブインデント設定と強制改行を入れている部分があるのですが、どうもその辺りが怪しそうなのです。
試しに段落スタイルやセンタリングの適用順番をかえてタグを書き出し直し、再度配置すると意図する表組になりました。

タグの記述順序に問題が有ったのかもです。
attached image
» 15
[3292]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:おぎゃあ | 投稿日:2009/07/05(Sun) 13:08:16
すみません添付画像わすれです。
attached image
» 16
[3293]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:いき | 投稿日:2009/07/06(Mon) 13:35:10
おぎゃあさん

その状態こそ、. さんが仰っている「段落スタイルの重複」です。
読み込みオプションの「テキストスタイルの競合を修正」のところを「パブリケーション定義」にして読み込んでみてください。
» 17
[3300]Re: JavaScriptで表組み制御ですが・・・ | 投稿者:おぎゃあ | 投稿日:2009/07/06(Mon) 23:52:48
いき 様

ありがとうございます!!
すっきりしました。
パレットの右端のフロッピーアイコンも出なくなりました。
これでやっと腰を据えてタグとの格闘に集中できます。

さて今度は索引だな・・・(笑
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア