导出 Photoshop 文字图层为文本文件[JSX]

收到一位客户的 PSD 稿件,是关于招聘的内容,一条条的职位要求、职责啥的。当我点开图层组时顿时被这位工作认真的态度和超乎不正常人的耐心所折服。只见图层面板首尾不能相见的文本图层,每一职位要求、职责、标题、词组、不黑的字都是一个个独立的图层。
我要怎样才能把这些文字复制到 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<el.layerSets.length;a++){
        var ly=el.layerSets[a].typename;
        if(ly=="LayerSet"){                
            mystr+=scanLayerSets(el.layerSets[a]);
            }
        }

    for(var j=0;j<el.artLayers.length;j++){
        var lk=el.artLayers[j].kind;
        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 javascri&#112;t 批处理 动作
相关日志:
评论: 0 | 引用: 0 | 查看次数: 16103
发表评论
昵 称:
密 码: 游客发言不需要密码.
邮 箱: 邮件地址支持Gravatar头像,邮箱地址不会公开.
网 址: 输入网址便于回访.
内 容:
验证码:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 500 字 | UBB代码 关闭 | [img]标签 关闭