タグ

JavaScriptとInDesignに関するchalcedony_htnのブックマーク (69)

  • Indiscripts :: On ‘everyItem( )’ – Part 2

    In the previous episode we learned that every scripting DOM object is in fact an object specifier, which acts like a path in the InDesign object tree. Collection's methods only allow us to build object specifiers. Invoking a property or a method provided by a specifier causes InDesign to send a “verb-first command” to the underlying receiver(s). We will now consider how this process impacts your c

    chalcedony_htn
    chalcedony_htn 2014/05/23
    everyItem()のひみつ 具体的な動作とTips
  • Indiscripts :: On ‘everyItem( )’ – Part 1

    Every collection in the scope of the InDesign Scripting DOM provides a method called everyItem. It remained undocumented until InDesign CS3, but scripting experts such as Dave Saunders had already pointed out its forcefulness and already knew how to exploit it. Here are some details about this esoteric syntax. DISCLAIMER (September 22, 2023). — I was very unpleasantly surprised to find that almost

    chalcedony_htn
    chalcedony_htn 2014/05/23
    everyItem()のひみつ 前フリ回
  • eventlistenerの応用例 - 手抜きLab@DTPの現場

    あのさあ、思うんだけどさあ、パッケージ切るんだったら料金プランとか、しっかり考えてもらわないとクラウドなんか永久に全社導入とはならないよね。全部使えるんだよ!だからこの値段!じゃなくて、これとこれでいくらだよって出来ないか???この業界なんか、ほとんどの端末でデザインスタンダード動いてたんじゃね?要らないんだよPremire。AfterEffectsなんか動かすのわたししか居ないし、その他、日語ロケールに対応出来ないアプリあっても使わないってメンバー大半なんだから...ストレージも今時20Gで何すれば良いの?DropBox使うって。 なんだかんだ言ってベータから付き合いですが、感覚的に当時の感じが抜けきれていなくて何となく中途半端な感じを未だに受けるのですがみなさんどうですか? 愚痴だけでは面白くないのでこんなのを作ったので置いておきます。 非常に単純な例です。捉えるイベントは「ペースト

    chalcedony_htn
    chalcedony_htn 2013/05/07
    デフォルトのイベントをのっとって(キャンセルして)別の動作をさせる例。
  • InDesignでSocketクラスの上位クラスを作りHTTPでアクセス - CLの日記

    VBS for Adobe InDesign+更新履歴・メモ: Socketオブジェクトで遊ぶ。いや遊ばれる で、InDesignのSocketオブジェクトを発見というか発掘され、InDesignからWebの情報を引っ張ると言うことをやっておられます。 正直InDesignだけでWebにアクセス出来るだなんて考えたこと無かったのですごいと思いました。 それで、サンプルプログラムを書き直したくなったんでちょっとやってみました。PerlのLWPモジュール風に簡単にHTTPのアクセスが出来ればいいよねーという感じで、ものすごく機能絞ったプロトタイプ的なものを作成。 (function(){ function Lwp() { // コンストラクタ。ここでUser-Agent名や // timeout値など準備しておくといいよね this.userAgent = 'InDesign/5.0.3 '

    InDesignでSocketクラスの上位クラスを作りHTTPでアクセス - CLの日記
    chalcedony_htn
    chalcedony_htn 2012/08/24
    Socketオブジェクトを使ってHTTPアクセス
  • 3010199’s gists

    chalcedony_htn
    chalcedony_htn 2012/07/25
    milligrammeさんの解。挿入点のindexを取って表の行数分だけ戻る
  • [indesign] Tableオブジェクトの挿入位置 | mg ☂.

    InDesignの表(Table)って少し変態的な存在で扱いに困る。 テキストストーリー内の Tableオブジェクトの位置を取得するのに “0×22″の箇所でアンカーされているので、これを findGrep() などで見つければいける。DOMの上から攻める場合。 逆に Tableオブジェクトから(DOMの下から攻めて)親の挿入点を取得するのどうするんだろうと思って TableObject.properties 眺めてたら storyOffset:resolve("/document[@id=1]//story[@id=235]/insertion-point[0]") ってあったので、InsertionPoint オブジェクト取得できるっぽい。 これで、一時的に表をどっかに退避してまたもどすのとか、表をアンカー付オブジェクトにぶち込むとかいろいろ出来そう。 ちなみに、 ふつうUnicod

    chalcedony_htn
    chalcedony_htn 2012/07/25
    tableオブジェクトから表の前の挿入点を取得できる。 / ストーリー内の表を見つけるときは0x22を検索すればおk
  • InDesign CS5のEventListenerで"afterOpen"と"afterNew"イベントを設定するとファンクションが2回呼ばれる。 - 名もないテクノ手

    テスト用に下記のスクリプトを用意しました。 #target "InDesign" #targetengine "test" (function(){ var cnt = 0;//counter app.addEventListener("afterOpen", test, false); app.addEventListener("afterNew", test, false); function test(myEvent){ cnt++; alert(cnt + " times\r" + "This event is the " + myEvent.eventType + " event."); } })(); 「Startup Scripts」に入れ、InDesign CS5を再起動します。"afterOpen"はドキュメントを開き終わった時、"afterNew"は新規ドキュメントを開

    InDesign CS5のEventListenerで"afterOpen"と"afterNew"イベントを設定するとファンクションが2回呼ばれる。 - 名もないテクノ手
    chalcedony_htn
    chalcedony_htn 2011/09/10
    WindowsXP+CS5.5で再現。新規ドキュメントを開いたときはafterNewとafterOpenが1回ずつこの順で発生、既存ドキュメントを開いたときはafterOpenが2回発生。なんじゃこらー。
  • [InDesign]セル幅を内容に合わせる | milligramme 3cc

    Memo for ( ExtendScript + Script UI ) { InDesign, Illustrator } + Ruby { Web Service } InD_Board セル幅を内容に合わせる の補足。 セルの内容にあわせてセル幅を調整するというスクリプトです。 やってることは、コラムごとにテキストの頭とお尻の位置の差の最大値をセル幅にしてます。 セルの中身がないときとオーバーフローしているときには、この値を取得出来ずにエラーになるのを認識してたんですが面倒だったのでとりあえずポストしました。 表のオーバーフローの処理って、while(セルのオーバーフロー) がうまく認識されないので、親テキストフレームの.recompose()メソッドつかった強制認識的な処理をするのですが、前々からこの処理がイヤで、なんとかならないものかと思ってたのですが、いい案が思いついた

    chalcedony_htn
    chalcedony_htn 2011/08/05
    『オーバーフロー中無効になっている lines プロパティが有効になったところで処理を抜ける』
  • 車車車く本牛勿 -Rollin' Real-: InDesign:プロパティをわりと一気に見る

    というわけで、全然売れてません(何の話よ)。 いいんです。自分だけがチョッパヤで作業できるのも気分いいし。で、次の出し物も鋭意調整中ではありますが、 スクリプトが思った通りに走らないと途中でちょこちょこ止めて値を比較してあれこれしないと直らない。UIにまとめる前の段階で関数ごとの入念なテストをしてればこういうダルい空気も流れないんですが。 流れたものはしょうがない。  にしても、いちいちコンソールに吐き出した変数の値をInDesignからESTKに見に行くのがダルくてしょうがない。とゆうことで、しょぼいプロパティブラウザを5分ほどででっち上げてみたですよ。Property_HighSchool.jsxInDesign CS3以降 MacOSX 10.4.11/CS3 で動作確認あらかじめ、自分の都合でgeometricBounds[0]〜[3], flip, rotationAngle が

    chalcedony_htn
    chalcedony_htn 2011/07/27
    選択しているオブジェクトについて、ボタン一発でプロパティを一覧できるようにするスクリプト(一覧に出すプロパティの種類は設定できる)。/ paletteのタイトルも書き換えておきますね!
  • 文字組みアキ量設定、まとめ? - 名もないテクノ手

    もう暑いんだかダルいんだか、なにが「まとめ」なんだかわかんなくなっちゃってる。とりとめもなくダラダラ書いて、まとめってことにしておこう。まとめようと思えば人生だって7文字でまとめられるだろう。「いろいろあった」と。 キホン あ、「文字組みアキ量設定」ね。そうそう、忘れてた。文字組みアキ量設定は2種類ある。アプリケーションデフォルトと、ドキュメントが持っている設定。 app.mojikumiTables;//アプリケーションの持つ文字組みアキ量設定 app.mojikumiTables.length;//-> 16 個ある app.mojikumiTables.everyItem().name;//-> 行末約物半角,行末受け約物半角・段落 1 字下げ (起こし全角),行末受け約物半角・段落 1 字下げ (起こしい込み),約物全角・段落 1 字下げ,約物全角・段落 1 字下げ (起こし全角

    chalcedony_htn
    chalcedony_htn 2011/06/08
    overrideMojikumiAkiListの中身一覧あり
  • [InDesign]索引項目(索引マーカー)にカラーリング | diary NET. 1.2mg

    InDesignの索引項目に色付けメモ。多分こういうことだと。 マーカーはInsertionPointでしかないので、索引項目の文字数から範囲を指定して色づけしているだけ。 元ネタはここ /** * coloring topics for the index * */ var doc = app.documents[0]; var swatch_obj; var marker_name = "Marker"; try { swatch_obj = doc.colors.add({ model:ColorModel.PROCESS, space:ColorSpace.CMYK, colorValue:[100,0,50,0], name:marker_name}); } catch(e){ swatch_obj = doc.swatches.item(marker_name); } //

    chalcedony_htn
    chalcedony_htn 2011/03/09
    索引項目として登録している部分に色をつける。文字数を取得して範囲選択
  • ?entry_id=3443942

    テキストの行を増減する赤字が入ります。 よね。 のよ。孤立したハダカンボのテキストフレームならいいけど、 大概は周囲のオブジェクトに迷惑がかかります。 よね。 のよ。単純に「○○行ぶん下げる」とかでも十分イヤだし、 「○○行削ったぶんPhまわり全体アゲ」とか。やりたくないです。もう仕事したくないです(矛先がちがう)そういうとき用。以後、順次機能強化します。gyogyome_a.jsxInDesignCS3以降、Mac/Win でたぶん動きます。CS3(5.0.4)、MacOS 10.4.11 で動作確認済み。【概要】ターゲットに指定したテキストの行送り値をもとにアレしてコレしてソレします。【説明】captureボタン・ターゲットとしたいテキストを選択します。 テキストフレームを選択した場合は先頭文字のスタイルが使用されます。 テキストの一部だけを選択した場合は、その中の先頭文字のスタイルが

    chalcedony_htn
    chalcedony_htn 2011/01/26
    キーボード増減値を、選択してるテキストの行送り値に設定したり元に戻したりするスクリプト。一行増えたり減ったりしたときにボックスのサイズを変えるのに使える。これは便利だイラレにほしい。
  • Free InDesign scripts | Peter Kahrel

    All InDesign scripts on this site are compatible with InDesign versions CS3 up to the latest version of CC. Intro General information and disclaimers. Installing, running, and modifying scripts. Contact information. Links and resources A collection of links and resources on scripting and GREP which I have found useful, informative, and otherwise noteworthy. Batch-convert/export files Export docume

    chalcedony_htn
    chalcedony_htn 2010/12/15
    Peter KahrelさんのInDesign用スクリプト置き場
  • 車車車く本牛勿 -Rollin' Real-: InDesign:単位なんかぶっ飛ばせ…したい

    文字の級数や行送りなどの値をドキュメントのペーストボード上で利用する時に、各単位間の補正値を求める関数 というのをでっち上げてみました。要は、ヒストリーの増減に影響しない物に、利用したい数値を単位つきで当ててやり、別の単位に変換された数値を元の数値で割ってやれば補正値が出る、という。ここでは変形アンカーポイントをダシに使っています。使ったあとはちゃんとおかたづけしているので痕跡ゼロ。自分で数日前に似た事をやってた事をホンキで忘却してましたが、それはそれ。汎用性なら今回の方があるし。で、試作品。テキストフレームのサイズを上か下に1行分だけ拡張するテストtest_addline_b.jsxInDesign バージョンてきとう※全ての単位、自動行送りに対応しときました。例に寄って急いで試していただいた三名様、もらい直してくださいすいません上揃えの横組みテキストに「上に1L追加」とか涼しい赤字が来

    chalcedony_htn
    chalcedony_htn 2010/12/08
    『各単位間の補正値を求める関数』 / あとで調べる
  • [InDesign]テキストを括弧でくくるScriptUIパレット | diary NET. 1.2mg

    TextMate を使っていると、テキスト「hoge」を選択した状態で「 ( 」を入力すると「 ( hoge ) 」とくくってくれるのが便利で、InDesignでそれ風のことを出来るようなパレットを作ってみました。 パレットなので、InDesignアプリのスクリプトパネルから実行してください。 挿入点以外のテキストが対象です。それ以外のオブジェクトにボタンが反応しません。 実行後の選択状態は2パターン、変数 after_touch で指定できます。 括弧でくくって、括弧含んだ選択にするか? (after_touch = 0) 括弧でくくって、終り括弧の後に挿入点をいれるか?(after_touch = 1) 括弧の種類は配列で増やしたりできます。それに対応するボタンの配置やコールバックも基コピペ複製で容易にできるようになってます。 あと仕様として、選択したテキストの最後の文字の

    chalcedony_htn
    chalcedony_htn 2010/11/22
    拡張すればカッコ以外にもいろいろ使えそうな
  • [InDesign]フレームグリッドの作成メモ | diary NET. 1.2mg

    InDesignフレームグリッドをスクリプトで生成する必要があったのですが、はまったのでメモ。でもきっと既知だ。 CS3, CS4ではフレームグリッドの字間と行間はどんな単位に設定していようとも単位はポイントになる、またCS1,CS2では字間、行間に加えて文字サイズもポイントになる模様。 なので、環境設定で組版単位を「歯」に指定してても、スクリプトでは数値がポイントに置換されるので、それを座標値に使ってフレームグリッドの大きさに利用しようとするとおかしなことになってしまうのです。 あとCS4ではフレームグリッドをいい感じにサイズの調整をしてくれるので多少変換誤差があってもまるめてくれますが、CS3だとmm/pt変換の精度を上げてあげないと行数や行文字数が足りなくなっちゃう場合がありました。 きっと一度座標系と組版系の単位を全部ポイントにしてしまうのが幸せなのでしょうね。 字間と行間は

    chalcedony_htn
    chalcedony_htn 2010/11/18
    スクリプトいじってるといろんなところでポイント基準にぶち当たるから困る / ばくはつ……
  • 半角カナのスタイル名を全角カナに変換する - 名もないテクノ手

    各種スタイル名に含まれる半角カナを全角カナに変換します。ていうか、半角カナなんて使っちゃダメ。 あんまりテストしていないので、おかしな所があればレポートください。ご好評ならオモテにアップします。 /* hankakukana_styles.jsx (c)2010 www.seuzo.jp InDesignの各種スタイル名に含まれる半角カナを全角カナに変換する。神経質な人用。 ・段落スタイル・文字スタイル・オブジェクトスタイル・表スタイル・セルスタイル 2010-10-22 ver.0.1 とりあえず。 */ #target "InDesign" ////////////////////////////////////////////エラー終了 function my_error(mess) { if (mess !== "") {alert (mess)} exit(); } //////

    chalcedony_htn
    chalcedony_htn 2010/10/25
    (段落|文字|オブジェクト|表|セル)スタイルに半角カナが含まれていたら全角に置換。それぞれデフォルトで持ってるスタイルをいじらないよう場合分けしてる / どうでもいいけど /[。-゚]/ ←顔に見える……
  • [InDesign]復帰させるメソッド revert() | diary NET. 1.2mg

    InDesign で自動処理の途中で一度「復帰」してリセットした後に、なにか別な処理を継続的にしたいときに、今まではドキュメントのファイルパスを記憶して閉じて、そのファイルパスのドキュメントを開いて再開していた。さっきちらっとDOMヘルプで調べものしてたら、CS3 から revert() なんて便利なものが追加されてる……知らなかった。 ふつうにapp.documents[0].revert() などと使うと、確認のダイアログがでますのでUserInteractionLevel で出ないようにしておくといいかも。 revert()での復帰の処理はこんな感じ // //なんか処理 //ドキュメントをいじり倒す app.scriptPreferences.userInteractionLevel = UserInteractionLevels.NEVER_INTERACT; var rvt

    chalcedony_htn
    chalcedony_htn 2010/10/25
    CS3から[復帰]がスクリプトで制御できるようになったらしい。CS2までで使うと固まるので注意とのこと。/ Document以外にも使えるかと思いきや、やっぱりダメだとか。できたら面白かったのにな……
  • 【InDesign javascript】 通常のプリフライト以上の項目を調べるスクリプト - いろいろなメモ

    通常のプリフライトでは調べてくれない細かい項目を検証するスクリプトです。 まずは検証したいドキュメントを開きます。 (今回は下のようなドキュメントを用意してみました) 次にスクリプトを実行し、 「ドキュメントをチェック」をクリックします。 すると、「警告」と「勧告」に分けて検証結果を表示します。 検証内容を知りたい場合は「全チェック項目の表示」をクリックすると表示されます。 検証結果を保存したい場合は「結果を保存」をクリックし、保存場所を選択します。 (テキスト形式で保存されます) ご使用は自己責任でお願いします。 (macOSX 10.5.6 InDesign CS3で動作確認済み) 「DetailedPreflight.zip」をダウンロード なんでこんなものまでいちいち警告するんだ?というものまでいちいち調べていますが、 もともと新人教育のために作りました。 (新人さんが組版したドキ

    【InDesign javascript】 通常のプリフライト以上の項目を調べるスクリプト - いろいろなメモ
    chalcedony_htn
    chalcedony_htn 2010/10/21
    プリフライト機能を自作。標準のプリフライト機能でカバーしきれないような細かいルールについて検証する。検証結果のテキスト書き出しまでできる!
  • http://twitter.com/kanemu/statuses/24645640939