クリエイター手抜きプロジェクト[289]Adobe Photoshop CS3/CS4/CS5編 テキストファイル内の文字を配置し連番PSDで保存する/古籏一浩

投稿:  著者:  読了時間:5分(本文:約2,200文字)


今回はテキストファイルを読み込み、DVDなど映像のテロップ(字幕)で使用するPSDファイルを生成するスクリプトです。PhotoshopのバージョンはCS3以降であれば確実に動作しますが、多分CS以降でも動作すると思います。

スクリプトの実行前には、基本となるPhotoshopファイルを作成しておく必要があります。DVDであれば720×480サイズで作成し、さらに一番上のレイヤーをテキストレイヤーとして配置しておきます。

今回のスクリプトでは、文字のみを入れ替えるため、文字の表示位置や行揃え、エフェクトなどはあらかじめ設定しておいてください。また、テキストファイル内の文字は一行単位で配置されていきます。

以下のスクリプトを実行すると、順番に使用するファイルや保存先を聞いてきます。選択するファイルを間違えると動作しませんので注意してください。



// テキストファイル内の文字を配置し連番ファイルで保存する
(function(){
var psdFile = File.openDialog("基本となるPSDファイルを選択してください","*.psd");
if (!psdFile){ return; } // キャンセルされたら何もしない
var textFile = File.openDialog("配置するテキストファイルを選択してください","*.txt");
if (!textFile){ return; } // キャンセルされたら何もしない
var saveFolder = Folder.selectDialog("保存先のフォルダを選択してください");
if (!saveFolder){ return; } // キャンセルされたら何もしない
var count = 0; // ファイル番号
// PSD形式保存オプション
psdOpt = new PhotoshopSaveOptions();
psdOpt.alphaChannels = true;
psdOpt.annotations = true;
psdOpt.embedColorProfile = true;
psdOpt.layers = true;
psdOpt.spotColors = true;
var flag = textFile.open("r");
if (!flag){
alert("ファイルが読み込めません");
return;
}
while(!textFile.eof){
app.open(psdFile);
var text = textFile.readln(); // 1行読み込む
var layObj = app.activeDocument.layers[0]; // 一番上のレイヤーを指定
layObj.textItem.contents = text;
var saveFile = new File(saveFolder.fullName+"/telop"+count+".psd"); // telop番号.psdという名前で保存する
activeDocument.saveAs(saveFile, psdOpt, true, Extension.LOWERCASE);
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
count++;
}
})();



【古籏一浩】openspc@alpha.ocn.ne.jp
< http://www.openspc2.org/ >

部屋の本をPDF化。ほとんどは雑誌。雑誌は時代の鏡。なんだけど5年以上前のMdNは今読んでも、使える技術が多くあり、あまり色あせてない感じでした。「10日で覚えるHTML5入門教室」の補習講義には、たくさんのおまけ(ゲーム)などが入ってます。是非、ダウンロードして楽しんでみて下さい。

< http://www.shoeisha.com/book/hp/10days/down/index.html#9784798124186 >

・改訂5版JavaScriptポケットリファレンス【発売中!!】
< http://www.amazon.co.jp/dp/4774148199 >

・10日で覚えるHTML5入門教室【発売中!!】
< http://www.amazon.co.jp/dp/4798124184 >

・毎度おなじみASCII.jpの連載
「第7回 iPhoneがPhoneGapで簡易電子書籍リーダーに」
< http://ascii.jp/elem/000/000/634/634982/ >

・Google API Expertが解説する HTML5逆引きリファレンス
< http://www.amazon.co.jp/dp/4844330349 >

・iPhone/iPad × HTML5アプリ制作
< http://www.amazon.co.jp/dp/4797362618 >

・ハイビジョン映像素材集
< http://www.openspc2.org/HDTV/ >

・Adobe Illustrator CS3 + JavaScript 自動化サンプル集
< http://www.openspc2.org/book/PDF/Adobe_Illustrator_CS3_JavaScript_Book/ >