导出 Photoshop 文字图层为文本文件[JSX]
作者:parno 日期:2013-11-11
收到一位客户的 PSD 稿件,是关于招聘的内容,一条条的职位要求、职责啥的。当我点开图层组时顿时被这位工作认真的态度和超乎不正常人的耐心所折服。只见图层面板首尾不能相见的文本图层,每一职位要求、职责、标题、词组、不黑的字都是一个个独立的图层。
我要怎样才能把这些文字复制到 Dreamweaver 呢?当我发现如果使用复制粘贴的方法很快会想要呕吐后摸出了 Extends cript Toolkit,东拼西凑搞出这个脚本文件“ps-save-layer-text-to-file.jsx”,其内容如下:
打开那个 PSD 文件,执行菜单命令“文件”>“脚本”>“浏览”,选择这个 jsx 文件……
......
.....
....?
...!
居然好几分钟后 Photoshop 才又可以操作了,难道图层太多,居然性能这么差,好在这时桌面上有了我要的文本文本,内容即是这个 PSD 文件中所有文本图层的文字。
以上在 Photoshop CS6 中实现,你有更好的办法吗?
我要怎样才能把这些文字复制到 Dreamweaver 呢?当我发现如果使用复制粘贴的方法很快会想要呕吐后摸出了 Extends cript Toolkit,东拼西凑搞出这个脚本文件“ps-save-layer-text-to-file.jsx”,其内容如下:
复制内容到剪贴板 程序代码
#target photoshop
/*
* filename: ps-save-layer-text-to-file.jsx
* s cript by Jie Tsui (macparno(a)gmail.com)
* http://blog.imwebs.com/article.asp?id=611
* 2013-11-11
*/
function main(){
if(!documents.length) return;
var doc=activeDocument;
var f=File.saveDialog ("保存为文本文件", "文本文件:*.txt");
if(f){
f.open("a");
f.write(scanLayerSets(doc));
f.close();
alert("所有图层上的文本已保存到文件:"+f.fullName);
}
}
function scanLayerSets(el){
var mystr="";
for(var a=0; a var ly=el.layerSets[a].typename;
if(ly=="LayerSet"){
mystr+=scanLayerSets(el.layerSets[a]);
}
}
for(var j=0;j var lk=el.artLayers[j].kind;
if(lk=="LayerKind.TEXT"){
mystr+=el.artLayers[j].textItem.contents + "\n";
}
}
//alert(mystr)
return mystr;
}
main();
/*
* filename: ps-save-layer-text-to-file.jsx
* s cript by Jie Tsui (macparno(a)gmail.com)
* http://blog.imwebs.com/article.asp?id=611
* 2013-11-11
*/
function main(){
if(!documents.length) return;
var doc=activeDocument;
var f=File.saveDialog ("保存为文本文件", "文本文件:*.txt");
if(f){
f.open("a");
f.write(scanLayerSets(doc));
f.close();
alert("所有图层上的文本已保存到文件:"+f.fullName);
}
}
function scanLayerSets(el){
var mystr="";
for(var a=0; a
if(ly=="LayerSet"){
mystr+=scanLayerSets(el.layerSets[a]);
}
}
for(var j=0;j
if(lk=="LayerKind.TEXT"){
mystr+=el.artLayers[j].textItem.contents + "\n";
}
}
//alert(mystr)
return mystr;
}
main();
打开那个 PSD 文件,执行菜单命令“文件”>“脚本”>“浏览”,选择这个 jsx 文件……
......
.....
....?
...!
居然好几分钟后 Photoshop 才又可以操作了,难道图层太多,居然性能这么差,好在这时桌面上有了我要的文本文本,内容即是这个 PSD 文件中所有文本图层的文字。
以上在 Photoshop CS6 中实现,你有更好的办法吗?
[本日志由 parno 于 2013-11-12 12:43 AM 更新]
上一篇: 支持 64位 DLL、EXE 的资源编辑工具 ResHacker 3.6.0简体中文版下一篇: 毫米、缇和英寸的单位换算
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: Photoshop javascript 批处理 动作
相关日志:
评论: 0 | 引用: 0 | 查看次数: 35203
发表评论