Photoshop脚本删除所有文本层
Photoshop script remove all text layer
我有太多的文件要处理,所以我试图在Windows 7 pro x64上的Adobe Photoshop CC 2014中使用*.jsx
脚本文件删除所有文本层。
我在网上找到了这部分代码,当我编辑时,我得到了错误。
// test 1
#target photoshop
var myLayers = app.activeDocument.layers.everyItem().getElements();
for(var i=myLayers.length-1;i=0;i--){
if(myLayers[i].LayerKind.TEXT){
myLayers[i].remove();
continue;
}
}
// test 2
var theLayers = collectEmptyGroups(app.activeDocument, []);
//alert (theLayers.join("'n"));
for (var x = 0; x < theLayers.length; x++) {
try {theLayers[x].remove()}
catch (e) {}};
////// function collect all layers //////
function collectEmptyGroups (theParent, allLayers) {
if (!allLayers) {var allLayers = new Array}
else {};
var theNumber = theParent.layers.length - 1;
for (var m = theNumber; m >= 0;m--) {
var theLayer = theParent.layers[m];
// apply the function to layersets;
if (theLayer.typename == LayerKind.TEXT) {
// allLayers.push(theLayer)
}
else {
allLayers = (collectEmptyGroups(theLayer, allLayers))
// this line includes the empty layer groups;
if (theLayer.layers.length == 0) {allLayers.push(theLayer)}
}
};
return allLayers
};
你能帮我吗?
您发布的代码看起来并不干净,很难判断出了什么问题。
这里有一个非常简单的方法(在Win 10 x64上用Photoshop CS6测试):
function findLayersText (layers) {
for (var i = 0, len = layers.length; i < len; i++) {
if (layers[i].kind == "LayerKind.TEXT") {
layers[i].remove();
len--;
}
}
}
//check all art layers then
//check if there are any inner layer sets
function browseLayerSets (sets) {
for (var i = 0, len = sets.length; i < len; i++) {
findLayersText(sets[i].artLayers);
if(sets[i].layerSets.length > 0){
browseLayerSets(sets[i].layerSets);
}
}
}
//check all root art layers for text layer
findLayersText(app.activeDocument.artLayers);
//browse all root layer sets (if any)
browseLayerSets(app.activeDocument.layerSets);
相关文章:
- 借助asp.net验证或java脚本对多个文本进行验证
- 使用谷歌应用程序脚本从工作表中获取值并将其显示在文本框中
- 以纯文本加载的脚本-未声明纯文本文档的字符编码
- 脚本图像获胜't用文本换行
- 尝试在随机文本和图像脚本中添加样式/更改字体
- html或java脚本代码在硬盘中创建一个文本文件
- 在Asp.net的TextBox中插入所需文本的java脚本代码
- 对照数组脚本检查文本框中的值不起作用
- java脚本:交换技术,添加随机文本
- php代码或脚本接受自动完成列表中文本框中的值
- 我收到消息“资源解释为脚本,但使用 MIME 类型文本/html 传输”
- Javascript-Android 获取选定的文本脚本
- JavaScript InvalidCharacterError 在编写文本框脚本时出错
- 阅读java脚本中的文本
- 如何通过java脚本限制粘贴文本框(Aspx.page)中的整数或字符值
- 选择<脚本></脚本>作为html正文中的纯文本
- 谷歌脚本查看文本是否包含值
- 设置“;将标签视为文本“;通过脚本将Google电子表格图表的值设置为true
- 禁用文本框的脚本错误显示
- 简单的删除文本脚本