[InDesign]テキストオブジェクトが何行目か取得するhttp://www.milligramme.cc/wp/archives/2860トックラバックラがおぼつかないのでこのようなはっつけ方で失礼しますがひとんちのscript記事で珍しく発案してみたところ、要求される物を履き違えてたのかコメント欄でこてんぱんですが orzアプローチの提案をしたつもりが、根幹コード以外にちょこちょこ分岐を半端に入れてしまったせいかなんだか提案というよりも提供めいてしまい、かっこよくない事になってます(笑)せっかく添削いただいたのもあり、かといって「はじめまして」とか書いた記事のコメント欄ずんずら長くするのもナイので自分のとこでちょこちょこ完成形にしてゆきます。年内に終わるかなー商品化する気ではなかったとはいえ自分の肥やしになりそうなのでやるだけやる事に。ウチの発案は、親フレームの先頭からターゲットとな
InD-baord 「選択したボックスをドキュメントサイズの左右センターに移動したい 」をみて、複数オブジェクトの全体の座標とか取るのにグループ化するの、レイヤー違ってたらまとめられちゃってイヤだなーと思ったのでちょっと試したメモ。(kanemuさんが似たようなことをしていたような気がするのだけど気のせいかな) そういえば、doc.veiwPreferences.rulerOrigin = RulerOrigin.PAGE_ORIGIN の見開きページで左ページオブジェクトが完全に右ページにいかない限り、●●Boundsはページ幅より大っきくなるんだ(ページ幅が210mmでも 右座標 = 250mmとかになる)、RulerOrigin.SPREAD_ORIGINにする必要は全然ないかも。よく考えてみたらあたりまえだ。 でも変形パネルだとPAGE_ORIGINのときは、ちゃんと座標が右ペー
リンク画像を変形させる時、フレーム上で基準にしたいカドがあるのにリンク画像の絵柄的には全然カドじゃないのでむざむざ手動でアンカーポイントを設定する事ってけっこうありませんか。あるんですよ。Use Parent's Anchorhttp://www14.plala.or.jp/ajabon/killtime/UseParentsAnchor.zipMac-CS3で確認。「シェイプを変換」できないバージョンは非対応とします。※圧縮の関係で本来のファイル名からアポストロフィを削除してあります。各自で解凍後に追加しといて下さい。枕だけではたぶんすごくわかりにくいと思うのでちゃんと説明します。 クチで言っても判らねぇ奴にゃ、ケツで言うぜ(すごい)…えー、左に見えるスバラシイ絵画を、右のフレーム内へ配置します。黄色い額ブチで収めたくて、外ガワのグレー部分はいらない、とします。フツウにフレーム内に配置し
昨日のエントリ「TSV(タブ区切りテキスト)からXMLを簡易生成」を実際にInDesign上で使ってみます。 CSVTSVを指定して、内部的にXMLに変換し、ノードごとにInDesignのXML流し込みを行います。動画で見るとこんな感じ: とりあえず、CS4でもCS5でも動作しました。テストしてみたい方はテストキットを用意しました。 data_tsv2xml.zip ////////////////////////////////////////////エラー終了 function my_error(mess) { if (mess !== "") {alert (mess)} exit(); } ////////////////////////////////////////////ファイル・フォルダ選択ダイアログ。ファイルオブジェクトを返す。 function chooseF(my_p
TSVからXMLを生成するアプリケーションはたくさんありますけれど、JavaScript内で完結させるために書いてみました。メモ。 こんなTSVがあったとします。 JavaScript内からこのファイルを読み込んで、内部的にXMLオブジェクトを生成します(エラー処理の関係でInDesignで使用するのを前提にしています)。 ////////////////////////////////////////////エラー終了 function my_error(mess) { if (mess !== "") {alert (mess)} exit(); } ////////////////////////////////////////////ファイル・フォルダ選択ダイアログ。パス文字列を返す。 function chooseF(my_prompt, my_kind) { var my_pa
連発で何かしたいことがよくあるので、メモ。 制作現場でさくりと使いたいので、下記の例では、例外処理とか何もしてません。 とりあえず開くファイル名は、CSVで与えるとする。 フォルダを選んでその中にあるファイルとかありますが、 ゆくゆくファイル名以外の情報も与えて与えてそこだけ何かするとかにも使いたいので、 こんなプランにしてます。 ※例えば、ファイル名,50-53とかでページ数を与えて、そこだけプリントするとかね。 CSVの取り込みは、配列にさくっとしてくれる「CSVData.js」を使用。 下記サンプルは、 ・CSVで与えたファイルを開いて、 ・「す」という文字を探して、 ・文字スタイルを変更して、 ・上書き保存 するだけ。。。 #include 'CSVData.js'; var csvFile = new File('data.csv'); if(csvFile.open('r'))
画像配置スクリプト(ドラフト版)で画像配置した場合がそうなのですが、 2つ以上アンカー付オブジェクトが続いていることがあります。 画像ではありませんが、下図のような感じです。 こんな状態のオブジェクトの前面背面を入れ替えるのがちょっとメンドクサイ。 カット&ペーストで処理しようとしたときに、 選択したい方が選択できていなかったりしませんか?(自分だけ?) そんなこんなで作業して手間がかかっていたので、 カット&ペーストをスクリプトでやらせることに… 1.選択ツールで対象のテキストフレームを選択。 2.スクリプトを実行 上のような感じで置き換わります。 ただこれだけのスクリプトですが、 自動処理で配置した画像の前背面の調整に役立ってくれました。 スクリプト実行後は、テキストツールに切り替わっているのがタマにキズですが… (選択ツールに戻す方法が分からず。。。) ちなみに処理条件は、 段落の初
現在作成中のスクリプトですが、 未完成ながらも一応動作はするので、 とりあえず公開してみようかな?と。 カタログなどを作成する際に、 テキスト情報と画像データを一緒に流し込めればいいのですが、 画像だけ後から…ってときがあります。 そんなときに使えればいいな、というスクリプトです。 上のように文字だけ流し込まれているデータがある場合を例にします。 001、002、003…という商品番号に段落スタイルを割り当てます。 また次のように、商品番号に対応した画像ファイルを準備します。 次に、 アンカー付オブジェクトの設定をしたオブジェクトスタイルを作成します。 (アンカー付オブジェクトを設定しなくても動作はしますが、 正常に処理できない可能性が高いです。) オブジェクトスタイルを作成していない場合、処理できません。 スクリプトを実行し、次のように設定します。 【検索条件】で見つかった文字列をファイ
先日公開しました、「テキストをいろいろ整形するスクリプト」ですが、 いき♂様より、Windowsでの不具合報告をいただき(http://d.hatena.ne.jp/k_iki/20100623)、こちらでも調べてみました。 まず、このスクリプトをWindowsで実行してみます。 すると、ボタン系が完全に表示されていません。 そこでpanelやgroupの記述をradiobuttonの記述より後に書いてみました。(ラジオボタンの長さも少し短くしました) //★修正前 dlg.add('group', [030,030,280,130]); dlg.add('panel', [030,030,280,130], "英字の処理"); A_notChange = dlg.add('radiobutton', [050,055,280,075], "変換しない"); A_enEnglish_emE
旧)InDesign + JavaScript = ? JavaScriptで高速化、はある程度できたみたい。最近は、自社サイトの再構築中。 大分前に表の自動調整のスクリプトを書いたのだが、文字数×フォントサイズでセルの幅を算出していて、欧文フォントのみの表の場合だとその算出方法では幅が合わないので修正。 考え方としては列ごとに各セルを調べて、文字列の最初から最後の幅の最大値を列幅とするもの。 //表のあるフレームを選択 var myTable = app.activeDocument.selection[0].tables[0]; var left, right, max, width; //列ごとに各セルを調べる for(var i=0; i<myTable.columns.length; i++) { max = 0;//文字列の幅の最大値、列ごとに初期化 for(var j=0;
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く