BACK >
学会这个批处理方法,快速搞定一小时的工作量!
作者:吾诺瀚卓    浏览次数:141    日期:2017-08-28

很多小伙伴都会碰到一些重复性非常高的设计工作,添加页码、做姓名牌之类的不停修改相同模板中的文字内容,这种枯燥又浪费时间的内容不仅叫人直翻白眼,还一不留神就容易出错!那有什么办法可以解决呢?继续往下看吧!

快速批量生成页码

虽然有很多专业的排版软件都有非常成熟的功能,但是依然有大量的设计师习惯使用PS批处理页码!今天为大家带来两个好玩解决方案,5分钟就可以解决可能要花费一个小时的工作量!

乍一看上去PS似乎没有这样的能力,尽管可以通过录制动作,批量处理解决掉重复工作,但是只要内容不同,就无法使用!

其实一段简单的代码,就可以让程序自动处理页码,大致方法如下:

首先要将所有文件按照排版顺序放在一个文件夹中,方便后期的批量处理,然后给所有文件批量改名,全选中然后右键最开始的文件选择重命名,输入有名字后,剩下的文件都会由系统自动加编号: 格式为 XXX.* ——> YYY(P).* 其中XXX为原名,YYY为修改后的名字,P为自动添加的序号。

使用PS打开其中一个文件,打开动作面板,开始录制动作。

新建一个TXT并且将这个文件另存为一个.JSX格式文档(可以使用记事本打开),然后,将下列代码整个复制到文档中去,再修改其中某些代码即可。文档做好之后,将文档直接拖入动作清单中,就会自动加载这段代码。

代码清单:

docref=activeDocument

//获取文件名称信息

var layerRef = docref.artLayers.add()

layerRef.kind = LayerKind.TEXT

var textItemRef = layerRef.textItem

//获取文件名中的编号

var docname =activeDocument.name

docname=docname.substring(docname.indexOf(“(“)+1,docname.lastIndexOf(“)”))

//设置文字的大小

textItemRef.size=size

//设置文字的坐标

textItemRef.position=Array( 3.2 , 6.55 );

//设置文字的颜色

var textcolor= new SolidColor;

textcolor.rgb.red=r;

textcolor.rgb.green=g;

textcolor.rgb.blue=b;

textItemRef.color=textcolor;

//设置文字的字体,0为默认当前字体

textItemRef.font= 0;

//当编号为1~9时,输入文字自动用0补齐,显示01~09

if(docname==”1″ || docname==”2″ || docname==”3″ || docname==”4″ || docname==”5″ || docname==”6″ || docname==”7″ || docname==”8″ || docname==”9″)

textItemRef.contents = “0”+docname;

else

textItemRef.contents = docname;

//合并图层的代码,没有必要合并图层就不需要修改,如果要合并图层,删除下面这行代码最前面的两个//

//layerRef.merge();

乍一看简直眼花缭乱,实际上带这段代码中,需要修改的内容只有这些,其他的内容几乎不需要做出任何修改!甚至不需要知道它到底什么意思。

1. 修改字体大小

//设置文字的大小

textItemRef.size=size

删除掉等号后面的SIZE,把它替换成需要的尺寸数字即可。

2. 修改字体位置

//设置文字的位置

textItemRef.position=Array(3.2 , 6.55)

括号里的数字既是文字的xy坐标,在PS中获取坐标填写进来。

3. 修改字体颜色

//设置文字的颜色

var textcolor= new SolidColor;

textcolor.rgb.red=r;

textcolor.rgb.green=g;

textcolor.rgb.blue=b;

textItemRef.color=textcolor;

分别在R,G,B中写入色值即可!

4. 修改字体位置

//设置文字的字体,0为默认当前字体

textItemRef.font= 0;

把0改成想要使用的字体的名称即可。

随后只需要批量处理所有文件,就可以简单的处理好所有的页码了!

神奇的变量工具

然而我们平时碰到的大量的重复工作可不如页码这么简单,不规则的数字,文字信息根本没有办法通过代码升序(降序)的自动完成!

其实这个也有解决办法,而且就是PS自带的功能!图像菜单下的:变量。

这个完全被人忽略的毫不起眼的小工具可以通过导入数据,将文字信息一次性填入,并单独导出来,仅仅需要一个表格!

首先新建一个.txt,将所有的文字信息全部导入进去,可以直接使用Excel,按照下图的形式排好之后,直接将内容整体复制到 .txt 中即可。

导入到 .txt 中遵循下图的排版方式,横排文字之间用TAB键隔开。

打开图像-变量-定义,选中你要更改文字内容的“图层”,勾选下方的文本替换,输入之前在 .txt 文档中第一行对应的内容!如果有多个图层需要处理的话,在“图层”的下拉菜单中选中然后再设置即可,结束后点击“下一个”。

点击右侧的导入-选择文件,将文档导入到该变量中,就会看到下方的信息栏中,所有的内容都已经导入,点击确认即可。

选择“导出-数据组作为文件”,选择要导出的文件夹之后,就可以看到所有的图片都处理好了!

简单的一个变量,就把如此繁杂讨厌的工作轻松处理完成!虽然在设计师的眼中PS已经变成了一个如此熟悉的工具,但是依然有很多很多容易被忽视的功能没有被大家开发出来好好使用,希望这篇文章能给予大家一定的启示,不仅仅以设计师的角度看待我们平时的工具,换个态度和视角,又会发现不一样的使用方式!