今回のスクリプトは、フォルダ内にあるテキストの内容とファイル名を自動的にレイアウトします。画像カタログならぬ、テキストカタログといったところです。
InDesign CS3では問題なく動作しますが、それ以前のMacOS X+InDesignの組み合わせでは、日本語ファイル名が化けることがあります。文字化けを防ぐには、以前紹介した濁点変換処理を組み込めば解決できます。
InDesign CS3では問題なく動作しますが、それ以前のMacOS X+InDesignの組み合わせでは、日本語ファイル名が化けることがあります。文字化けを防ぐには、以前紹介した濁点変換処理を組み込めば解決できます。
// あらかじめ、たくさんのページをつくっておく事!!
CR = String.fromCharCode(13);
startX = 0; // 開始位置(横)
startY = 0; // 開始位置(縦)
w = 100; // 横幅
h = 30; // 縦幅
maxCountX = 2; // 横の最大テキストフレーム数
maxCountY = 6; // 縦の最大テキストフレーム数
boxHeight = 15; // 行間
x = startX;
y = startY;
cntX = 0;
cntY = 0;
pageNum = 0; // ページ番号
docObj = app.activeDocument;
foldername = Folder.selectDialog("フォルダを指定してください");
if (foldername)
{
ext = ["*.txt","*.html"];
for (var j=0; j< ext.length; j++)
{
fileList = foldername.getFiles(ext[j]);
layoutText(fileList);
}
}
function layoutText(fileList)
{
for (i=0; i< fileList.length; i++)
{
var tfObj = app.activeDocument.pages[pageNum].textFrames.add();
tfObj.visibleBounds = [y,x,y+h,x+w];
tfObj.contentType = ContentType.textType;
fileObj = new File(fileList[i].fsName);
flag = fileObj.open("r");
if (flag == true)
{
tfObj.contents = fileObj.read();
fileObj.close();
}
// ファイル名の追加
var tfObj = app.activeDocument.pages[pageNum].textFrames.add();
tfObj.visibleBounds = [y+h,x,y+h+5,x+w];
tfObj.contentType = ContentType.textType;
tfObj.contents = File.decode(fileList[i].name);
x = x + w;
cntX++;
if (cntX >= maxCountX)
{
cntX = 0;
x = startX;
y = y + h + boxHeight;
cntY++;
if (cntY >= maxCountY)
{
cntY = 0;
y = startY;
pageNum++;
}
}
}
}
テキストファイルの内容を全て読み込んでいるため、処理が遅くなる可能性もあります。もし、先頭行だけで良いのであれば
tfObj.contents = fileObj.read();
を
tfObj.contents = fileObj.readln();
に変更してください。また、拡張子がtxtとhtmlファイルのみ読み込むようになっていますが、cssなど他の拡張子のファイルも読み込む場合にはext=[〜]に以下のようにして追加します。
ext = ["*.txt","*.html", "*.css"];
"*.doc"を指定してもMS WORDのファイルは文字化けしてしまいますので注意してください。
【古籏一浩】openspc@po.shiojiri.ne.jp
< http://www.openspc2.org/
>
iPhone OS 2.1になって、入力は確かに快適になりました。パケット代金が10万円を超えてましたが、そこは定額なので安心。地図でも表示すれば、あっという間にパケット代が増えそう。約8,800円×24ヶ月なので211,200円。何とか元をとりたいなあ(笑)
さりげなくグーグルストリートビューとマップのページを作成。グーグルマップのページは他にも用意してあるのですが、書籍の関係上追加できないので新たにページを用意しました。
・Google Maps and Street View(グーグルマップ&ストリートビュー)API例文辞典
< http://www.openspc2.org/reibun/Google/StreetView/
>
ジョークで作ったページのアクセスが減らないので、とりあえず一つ追加。
・天空の城ラピュタのムスカ大佐がグーグルのトップだったら……
< http://www.openspc2.org/serif/1001/index.html
>
GoogleのブラウザのChromeのページも用意。
・Google Chrome β1 使い方辞典
< http://www.openspc2.org/reibun/GoogleChrome/beta1/index.html
>
- 改訂第4版 JavaScript ポケットリファレンス
- 古籏 一浩
- 技術評論社 2006-10-18
- おすすめ平均
- JavaScriptを使ったプロジェクトのお供に是非
- JavaScript仮免者以上の方へ
- バランスの良いバイブル
- 中級者向けです。
by G-Tools , 2008/09/22