一直不知道Adobe系列软件是有大量接口,而且对第三方插件开发是非常友好的,直到前段时间,帮助做InDesign的排版,发现大量重复的动作,于是想利用程序帮生成修改idml,然后偶然才发现InDesign原本支持脚本,更是对插件开发非常之友好,大量完整的文档,demo可以参考,官方甚至还有专门的开发工具,插件商店,可惜,插件非常少,官网插件商店也很少,大部分都是前几年开发的,能不能用都两说。非常奇怪,也许懂设计的大部分对程序开发天然排斥,二搞代码的也没有使用这些设计软件的需求。

于是乎,放弃之前的思路(从导出文件入手),开始搞脚本,插件,但是国内这方面的资料,技术凤毛麟角,google中反复搜索,数的见的几篇文章,大部分还是国外资料,现在此整理列出,方便后来者使用。

Adobe 的脚本语言分3种,VBScript,JavaScript以及AppleScript,VBScript 是运行于win系统,Apple运行于MAC,JavaScript两边通用,所以,大部分都会使用JavaScript去开发。

一. 国内写的比较容易理解全面的一个入门介绍文章是:

二. 收集的一些文档

三. 演示脚本

四. 官方的插件商店(可以下载免费插件参考)

五. ExtendScript Toolkit(方便调试脚本)

如果有前端基础,基本简单熟悉ExtendScript 之后,就可以进行adobe插件的开发。

主要的难点是adobe的接口太多,需要了解各种adobe的命名,比如获取当前选择的图层,需要这样使用 :var myDoc = app.activeDocument.selection ;

获取当前页面需要这样:var myPage = app.activeWindow.activePage;

InDesign 有左右页面之分,所以,如果获取元素的定位还需要判断左右://获取页面范围

function myGetBounds(myDocument, myPage){

//页面宽度

var myPageWidth = myDocument.documentPreferences.pageWidth;

//页面高度

var myPageHeight = myDocument.documentPreferences.pageHeight

if(myPage.side == PageSideOptions.leftHand){

var myX2 = myPage.marginPreferences.left;

var myX1 = myPage.marginPreferences.right;

}

else{

var myX1 = myPage.marginPreferences.left;

var myX2 = myPage.marginPreferences.right;

}

//页面上边界点

var myY1 = myPage.marginPreferences.top;

//页面右起点

var myX2 = myPageWidth - myX2;

//页面下边界点

var myY2 = myPageHeight - myPage.marginPreferences.bottom;

return [myY1, myX1, myY2, myX2];

}

还有比较不理解的是PhotoShop 有很多特殊接口可以使用,而其他,InDesign 还算好些,AI 则很多接口是无效的,就是说,大部分代码是通用的,但是PS功能更多,可以控制的东西更全面,而同样的功能AI可能完全无法实现。可能因为大部分人都是使用PS多,而AI,ID使用少,所以干脆接口都懒得加了,而且github上面的AI,ID脚本用上古形容毫不过分,看时间都是10年前后。好在大部分都还兼容。

总体来说,熟悉之后,可以做很多事情,包括自动导入,导出,AI,PS,ID之间相互唤醒自动执行一些东西,基本来说,一些简单重复的操作都有办法写出插件。

比如这段时间开发这个插件:

可以导入文本内容,包含文字的格式,然后在排版时候,方便的点击即可以直接导入对应文本,可以自动更新链接,方便AI那边修改之后自动同步,还可以将ID每次修改完的页面生成jpg图片,自动导入AI对应的文件,作为半透明的背景图片,方便AI调整时候看到效果,还可以自动翻译选中的文本,方便核对。

基本可以节约30%的时间,对于一个喜欢创造的设计师来说,可能最讨厌的就是重复性的工作。

adobe脚本的框架_Adobe 系列软件插件脚本开发相关推荐

  1. eFPGA设计开源框架 FABulous 系列(一)开发环境搭建

    我是 雪天鱼,一名FPGA爱好者,研究方向是FPGA架构探索. 关注公众号[集成电路设计教程],拉你进"IC设计交流群". 目前在研究eFPGA,学术界目前最新发表的用于 eFPG ...

  2. RedHat系列软件管理(第二版) --脚本安装

    RedHat系列软件管理 --脚本安装 一.解压缩 tar -zxvf webmin-1.700.tar.gz 二.进入相关目录 cd webmin-1.700 三.如果此时执行./configure ...

  3. 软件加入使用时间_Adobe CC 2020 系列软件更新(Adobe Zii 2020 5.2.1)| Mac软件天堂

    小伙伴们,感谢关注「Mac软件天堂」,遇到"XX已损坏"."XX意外退出"."无法确认开发者"等问题记得点击菜单栏的「帮助」解决哦 !同时, ...

  4. Adobe系列软件大全

    原文:https://baijiahao.baidu.com/s?id=1621170007489186817&wfr=spider&for=pc Adobe官网:https://ww ...

  5. 扩展插件_Adobe扩展工具插件系列

    Adobe系列软件相信大家都已了解到其功能的强大,除了软件之外Adobe系列的插件的功能也是不可忽略的. 今天给大家分享的几款Adobe系列超强PS扩展工具,都是一些摄影师.设计师经常用的到的,可以提 ...

  6. 使用Creative Cloud Cleaner Tool mac彻底卸载删除Adobe系列软件

    Adobe系列软件大概是很多Mac用户的必备软件,如果不需要了想要卸载怎么办?如何轻松彻底的卸载Adobe系列软件呢?macw小编为大家带来使用Creative Cloud Cleaner Tool ...

  7. mac设计师系列 Adobe “全家桶” 15款设计软件 值得收藏!

    文章素材来源:风云社区.简书 文章收录于:风云社区 www.scoee.com,提供1700多款mac软件下载 Adobe Creative Cloud 全线产品均可开放下载(简称Adobe CC 全 ...

  8. 安装ps显示无法连接到adobe服务器,Adobe系列软件Photoshop安装时提示“安装完成,下列产品的某些项目无法成功安装”错误的原因及解决方法...

    在Windows系统中安装Adobe系列软件(比如Photoshop.Premiere.Illustrator)的时候,很多系统中会遇到这种情况,安装进度条正常走完了,但最后出现下列提示: 安装完成, ...

  9. 解决Adobe cs6系列软件在Windows10操作系统中无法正常运行问题

    解决Adobe cs6系列软件在Windows10操作系统中无法正常运行问题 参考文章: (1)解决Adobe cs6系列软件在Windows10操作系统中无法正常运行问题 (2)https://ww ...

最新文章

  1. 使用Hugo搭建自己的个人博客网站
  2. xshell MySQL表备份_shell mysql数据迁移/备份
  3. C语言system函数(C语言程序中执行命令行)
  4. IREP_SOA Integration程序注释语法Annotations(概念)
  5. 百度大数据可视化产品矩阵
  6. mysql小王 保密_利用mysql的注射点得到更多mysql的信息
  7. java 钩子线程_java-钩子线程
  8. Android WiFi开发
  9. PingCAP 完成 C 轮 5000 万美元融资,创新型分布式关系型数据库领域最大笔融资
  10. SQL Server内部的内存管理
  11. 搜狗关键词挖掘工具,搜狗权重关键词挖掘工具
  12. Redis Web版客户端工具——TreeNMS
  13. 后台coder的神器!Bootstrap Layoutit
  14. Mac下Chrome 浏览器右键菜单需双击的问题
  15. 快速入门Sass:Sass中的体系结构
  16. lol服务器维护8月7,LOL8月7日更新维护到几点 英雄联盟8.7更新了哪些内容
  17. docker制作镜像的方法
  18. 【AI Studio平台基本操作】课程回看
  19. Quartz2D学习记录
  20. vscode怎么对选定的代码格式化?ctrl+k,ctrl+f(格式化代码)

热门文章

  1. 科大讯飞纯离线语音合成的快速集成
  2. Strans 内表-xml文件
  3. DirectX11进阶6_静态天空盒、反射动态场景与天空盒、Render-To-Texture(Fade/MiniMap/ScreenShot)
  4. 阿里云服务器产品规格、产品优势、产品功能及应用场景介绍
  5. 百度地图——导航(地理编码输入地址获取经纬度)
  6. 支付宝被黑客攻击了...
  7. 【Java】Java编写Telnet客户端,连接到Windows的Telnet服务器,执行命令和批处理脚本
  8. Oracle数据库安装出现OUI-10150错误解决办法
  9. 用Raspberry Pi运行你自己的无线电台
  10. 微慕小程序开源版A标签优化说明