Skip to content

Instantly share code, notes, and snippets.

@kanemu
kanemu / gisttest.jsx
Created May 16, 2010 04:05
[extendscript]ハローワールド。
var str = 'Hello, Gist!';
alert (str);
@kanemu
kanemu / urltest.groovy
Created May 16, 2010 04:55
[groovy]groovyスクリプト自体のパスを取得。
class Test {
URL url = this.getClass().getProtectionDomain().getCodeSource().getLocation()
}
def ts = new Test()
println ts.url
@kanemu
kanemu / collectFonts.groovy
Created May 16, 2010 05:07
[groovy]引数のディレクトリ以下の「Fonts」フォルダの中身を1カ所に集める。
@Grab(group='org.apache.ant', module='ant-parent', version='1.7.1')
def dirPath=args[0]
def File dir = new File(dirPath)
def ant = new AntBuilder()
ant.mkdir(dir:dirPath+'/Fonts')
dir.eachDirRecurse {
if('Fonts'==it.name){
it.eachFileRecurse {
@kanemu
kanemu / fitimage_ind.jsx
Created May 19, 2010 01:27
[indesign][extendscript]画像の幅と高さを取るサンプル、画像をフィットさせるサンプル
/*
fitimage_ind.jsx
画像の幅と高さを取るサンプル
画像をフィットさせるサンプル
※ピクセルサイズを取るのはInDesignでは無理
*/
//画像の入ったフレームを選択
var sel=app.activeDocument.selection[0];
//中の画像
@kanemu
kanemu / threadingText.jsx
Created May 25, 2010 00:53
[indesign][extendscript]テキストフレームを連結する。
(function(){
var sels=app.activeDocument.selection;
var startFrame;
//テキストフレーム以外を除外
for(var i=sels.length-1;i>-1;i--){
if(sels[i].constructor.name!=='TextFrame'){
sels.splice(i,1);
}else{
sels[i].nextTextFrame=NothingEnum.NOTHING;
}
@kanemu
kanemu / basedOnEnum.jsx
Created May 25, 2010 01:02
[indesign][extendscript]InDesignのEnum値のオブジェクトの逆ハッシュマップを作る
#target "InDesign"
var basedOnEnum=(function(){
//ExtendScript Toolkitのヘルプファイルへのパス。InDesignCS3、Macの場合
var xmlPath="~/Library/Preferences/ExtendScript Toolkit/2.0/omv$indesign-5.0-ja_jp.xml";
var openFile=new File(xmlPath);
if(!openFile.open ("r")) return undefined;
var src=openFile.read();
var myXml = new XML(src);
var node=myXml.xpath("/dictionary/map/topicref[@navtitle=\"Enum Suite\"]/topicref[@navtitle]");
//$.writeln(node);
@kanemu
kanemu / pathText2Path.jsx
Created May 25, 2010 01:04
[illustrator][extendscript]パステキストをパスに戻す。
#target "Illustrator"
(function(){
//ドキュメントが開いていなければ抜ける
if(app.documents.length==0) return;
//開いているドキュメントを指定
var doc=app.activeDocument;
//選択項目がなければ抜ける
if(doc.selection.length==0) return;
//選択項目のひとつめを指定
@kanemu
kanemu / DrawTableFitToGuide.jsx
Created May 25, 2010 01:13
[indesign][extendscript]ガイドに合わせてテーブルを作成。
#target "InDesign"
(function(){
//なにも開いてなければ抜ける
if(!app.activeDocument) return;
var page=app.activeWindow.activePage;
//ガイドが4本以下なら抜ける
if(page.guides.length<4) return;
//ガイドの位置を収集する。
var wLocate=[];
@kanemu
kanemu / exportPdfs.jsx
Created June 1, 2010 17:39
[indesign][extendscript]開いているドキュメント全てをPDFX/1aで書き出して閉じる。
/**
* @fileOverview 開いているInDesignドキュメントを順番にPDFX/1aで保存して閉じます。<br>
* <b>使い方</b>:<br>
* (1)InDesignドキュメントを複数開き(必ず保存して下さい)スクリプトを実行します。<br>
* (2).inddファイルと同階層にPDFを保存し、閉じます。<br>
* (3)開いているファイルがすべて閉じたら、「pdfを書き出しました」というアラートが表示されます。<br>
*
* @author Kanemu
* @version 0.1
*/
@kanemu
kanemu / mojiGousei.jsx
Created June 5, 2010 01:54
[indesign][extendscript]InDesignで文字合成をする。
/**
* @fileOverview 合成文字を作成するスクリプトです。<br>
* <b>使い方</b>:InDesignに打ち込んだ文字(「○株」等)を2文字選択し、スクリプトを実行して下さい。
*
* @author Kanemu
* @version 0.2
*/
#target "InDesign"
/**