こんにちは。
AppleScript、InDesign、JavaScript、VBscript、PHPなんかについて書いていきます。
そのうちHPにサンプルでもあげるかも。
|
InDesignでJavaScript素人講座 その7。
その6で「次は『「いま開いているドキュメントのオブジェクトに指示を与えてみよう」的ななにか』をやります」と告知してましたが、予定を変更して与太話を。 では、その7スタートです。 世間ではPAGE2008という印刷系の恒例イベントが開催されていた模様です。 私は仕事のため行けませんでしたが。 そこで行った人のブログ(主にスクリプト系のセミナーの感想など)を見ていて、ちょっと思った事を書き連ねてみます。 これを読んだ人にとってプラスになるかどうかはわかりませんが、お付き合いください。 さて突然ですが。 『スクリプティングにもデザインセンスが必要だ』 そんなことを私は提唱します。 グラフィックではなくプロダクトのほうね。 企画から実際に運用されるまでをトータルで視野に入れておかないといいものはできないよ、という話。 まー、そうはいっても思いついたときが吉日でなんの見通しもないままスクリプトを組んじゃう事のほうが多いと思います。 そんな人は下記だけ守っていれば後で後悔することが減るはず。 ●極力汎用性を持たせる(一回しか使えないスクリプトは非効率的) ●100%全自動を目指さない(汎用性を犠牲にしちゃいけない) ●メイン部分は関数化する(汎用性を持たせたい) ●時間がないときは余計な機能を実装しようとしない(非効率的) カッコ内を読むとわかると思いますが、汎用性を持たせつつ効率よく組んでいきましょうってこと。 とかくDTP業界は自動組版に幻想を抱きすぎなのですよ。 これは経営陣に多いね。 そりゃー、ン百万とかン千万とかかけて外注すればぼーっと見てるだけで完全自動生産ロボット的なものができあがると思いますが、それってもうスクリプトじゃなくてプログラム、もっといえばアプリケーションなのよね。 全然敷居が低くない、むしろ別世界。 も一つ抱えている問題はスクリプトを難しく考えすぎな人が多すぎ。 たしかに取っ付きづらい面もあるとは思うけど、100回コピペしてコピペ能力を鍛えるより、ネットとかあさって勉強してコピペを100回やるスクリプトを覚えたほうが数倍メリットがあると私は断言します。 だって100回コピペする速度って鍛えたって限度があるし肉体的疲労もたまるけど、スクリプトだったら一回組めばあとはスクリプトを起動するだけですむんだよ? コピペ大好きっていうなら止めはしないけど、「労働時間と給与が見合わない」とか「残業時間が多すぎる」とか愚痴っている暇があったら自らの手でそれらを解決することを考えなさいって。 なんだろうね、そういう人ってスクリプトが普及する=自分たちの首が危ないって思っているのかね。 そうじゃなくて自分に付加価値をつけるって意味合いでも勉強しても無駄じゃないんだよーってことをもっと布教しないといかんのかも。 あとね、手作業が加わったりするようなものは人気がない。 「結局手でやるんだったら意味がない」ってね。 でもさー、手作業で100%作るのと手作業で50%から作ることを等価と考えちゃう理屈が私にはわからんのですわ。 スクリプトのいいところは、プログラム系素人の私のような人間でもちょっと時間をさけばできること、つまり簡便性にあるんですよ。 そして縦横無尽に小回りをきかせることができるってのも重要な特徴。 ま、厳密にいったら違うんだろうけどね。 いろいろ書いたけどスクリプトにアレルギーを持っている人にも喜んで使ってもらえるようなスクリプトを作っていかないとダメだよね。 またスクリプトに興味を持った人が参考にできるような情報配信も必要だよね。 ちょっと話がずれたところで、その7はおしまい。 次回その8でもサンプルには触れず、「実際に受注された仕事をどうやって効率的にスクリプトで組んでいくか」って話をしようと思います。 一応お詫びとして私が業務でどんなスクリプトを書いているかにも触れようと思います。 詳しくは書かないけどね(笑) |
|
InDesignでJavaScript素人講座 その6。
すっかりご無沙汰の素人講座ですが、仕事の合間をぬってその6をスタートします。 第5回では新規のドキュメントを作成し、そのドキュメントにテキストフレームを作成し、テキストを流すというものでした。 今回は画像について書いていこうと思います。 すごいシンプルですのでちょっと味気なかもしれません。 サンプルは下記になります。 01 | var pageObj = app.documents.add(); 02 | pageObj.documentPreferences.pageWidth = "210mm"; 03 | pageObj.documentPreferences.pageHeight = "297mm"; 04 | txtObj = pageObj.textFrames.add(); 05 | txtObj.visibleBounds = ["10mm","5mm","50mm","100mm"]; 06 | txtObj.place("HogeHDD:Users:HOGEHOGE:Desktop:test.jpg"); 07 | txtObj.fit(FitOptions.contentToFrame) ; まず上記のScriptをExtendScript Toolkitにコピペしてください(行頭の数字と縦棒は行番号を意味しているので削除してくださいね)。 前回は実行してもらってから説明に入りましたが、今回は先に説明しちゃいます。 いきなりですが1〜5行目まではその5とまったく同じ内容です。 4〜5行目に注目してください。 ここも当然ながらその5とまったく同じです。 つまりテキストを流す場合も画像を貼る場合も対象はテキストフレームになるということです。 楽ですね。 6行目。 06 | txtObj.place("HogeHDD:Users:HOGEHOGE:Desktop:test.jpg"); 4行目で作成したテキストフレームに画像を貼り込みます。 place()の( )の中には貼り込むパスが入ります(サンプルはMacOS X用です)。 今回はサンプルなので適当ですが見ている方は自分のマシンの環境をあてこんでください。 「HogeHDDを使用しているMacのHDD名、HOGEHOGEをご自分のログイン名、デスクトップにtest.jpgというファイルを作成」。 これでこのサンプルが実際に動くところが見れると思います。 Windowsの場合は…手元にWindowsPCがないのでよくわからないのですが、貼り込みたい画像ファイルのプロパティにそのファイルのフルパスが表示されていると思うので、それを" "の中に入れれば動くと思います。 7行目。 07 | txtObj.fit(FitOptions.contentToFrame) ; 6行目で貼り込んだ画像をフレームにフィットさせます。 FitOptionsは貼り込んだ画像をどうするか決めるプロパティです。 テキストフレームを右クリックすると出てくる「オブジェクトサイズの調整」のことです。 contentToFrameは上記メニューの「内容をフレームに合わせる」と同義です。 他には FitOptions.centerContent(内容を中央に揃える) FitOptions.FrameToContent(フレームを内容に合わせる) FitOptions.fillProportionally(フレームに均等に流し込む。CS2以降のみ) FitOptions.proportionally(内容をフレーム内に収める) があります。 用途に応じて書き換えてください。 どうでしょう? 画像を貼り込む仕組むは理解できましたか? って、2行だけなのでそんなに難しくはない、むしろ「サンプルが簡単すぎる!」と怒られるかもしれませんね。 でも実際に私が業務で使用しているJavaScriptも6〜7行目だけなので、これだけ覚えればすぐにでも業務に転用できるってわけです。 やっぱり業務に使えなければScriptなんて覚えても意味ありませんからね。 その6はこれでおしまいです。 その7予告。 その5、その6と新規ドキュメントを作成してどうこうといった内容でしたが、その7ではもう少し実用的な「いま開いているドキュメントのオブジェクトに指示を与えてみよう」的なことを書いていこうと思います。 またシンプルな内容になると思いますが、徐々に実践的なものに近づけているつもりなので、もう少々お付き合いください。 |
|
InDesignでJavaScript その20。
久しぶりにJavaScriptをアップしようか、と思い立ち。 前から書こう書こうと思ってめんどくさくて放置してたJavaScript。 ●仕様 Scriptを起動するとますダイアログが表示されるので拡張子.inddのファイルのあるフォルダを選択。 次に表示されるダイアログでEPS保存先のフォルダを選択。 すると最初に選んだフォルダ内の拡張子.inddのファイルを開いて指定した保存先にEPSを保存する。 EPSの仕様は ・TIFFプレビュー ・PostScript 3 ・ASCIIフォーマット ・ブリードなし(仕上がりサイズ) ・CMYKカラー 保存先のパスを生成する際にアクロバティックな処理してますが、不本意です(^^; なんとなくOS Xの「濁点・半濁点が分離しちゃうよ」仕様のが原因な気もしますが、スラッシュをコロンに替えれば動くので、とりあえず。 そのうち原因究明します。 |
|
| ホーム |
|


