蘭雅sRGB 个人笔记 https://262235.xyz
提供编程和电脑应用视频教程,工具和源代码
C, C++, Python Programming, Source Code, Video

旧Hexo博客 | Github | IP定位WebAPI | Docker Hub
编程中文文档 | 网盘分享 | 中文Linux命令

Adobe Illustrator 脚本学习: 当前画板中下位置插入文本,设置字体和拼版色

372287158.webp
在排版印刷中,文字的高度和宽度形成的文字大小都有特有的度量单位来计算,即点数(point)和西塞罗(ciceros)。现代常用point(pt)作为单位。
1点(英美点)=0.3527毫米=1/72英寸;“磅”指的是point的音译发音,正确的中文译名应为“点”或“点数”。

Adobe 公司起家就是 PostScript 语言,而不是为人熟知的 PS

PostScript(PS)是主要用于电子产业和桌面出版领域的一种页面描述语言和编程语言。而PostScript内置尺寸单位就是使用point(pt)作为单位,所以AI的脚本操作的数字都是以pt作为单位的。

  • AI 画板大小限制: 值必须介于0.36mm 和 5779.55mm

脚本功能和和所用到的数据结构

画板和色板.png

  • 如图脚本运行后,在当前画板底下中间靠左侧插入文本(文件名和日期),脚本首先用 activeDocument.rulerOrigin 得到画板标尺原点,相对于画板的左上角; 然后转换成 画板左下角 x,y,再把x坐标 转换成中间靠左。
  • filenameDate 函数实现插入文本,添加文本内容,修改字体和字号,从 activeDocument.swatches 色板中得到1号索引的拼版色。
  • DATA BROWSER 面板使用 Adobe ExtendScript Toolkit CS5.5 脚本调试工具,可以查看当前激活的对象的数据内容和结构。

完成的 插入文件名和日期.jsx 源码

#target illustrator
// 获取当前时间
function getdate() {
  var d = new Date(), month = '' + (d.getMonth() + 1),
    day = '' + d.getDate(), year = d.getFullYear();
  if (month.length < 2) month = '0' + month;
  if (day.length < 2) day = '0' + day;
  return [year, month, day].join('-');
}

// 获取 AI文档名称
var docRef = activeDocument;
var str = docRef.name;
str = str + "     " + getdate();

// alert("本脚本建立一个文本:\n" + str);

// 文档中建立一个新文本
// var textRef = docRef.textFrames.add();
// textRef.top = 100;
// textRef.left = 200;
// textRef.contents = str;

var mm = 25.4 / 72;  // pt 和 mm 转换系数

var base = new Array();
base = docRef.rulerOrigin;    // 画板标尺原点,相对于画板的左上角
alert("画板标尺原点mm  x:" + base[0] * mm +" y:" + base[1] * mm + "\n画板大小mm 宽:" + docRef.width * mm +"  高:" + docRef.height * mm);

var pw = 0;
var ph = 0;
var x = base[0];    // 画板左下角 x 坐标
var y = - base[1];  // 画板左下角 y 坐标
var myFont = textFonts.getByName("MicrosoftYaHei");
var myFontSize = 7;

pw = docRef.width;  //  文档宽
ph = docRef.height; //  文档高
x = pw / 2 - x;     //  转换x坐标: 画板中下x

function filenameDate() {
  var textRef = docRef.textFrames.add();    // 建立文本
  textRef.contents = str;                   // 填充文本字符串:   AI文档名称 + 时间
  textRef.textRange.characterAttributes.size = myFontSize;   // 设置字体尺寸
  textRef.textRange.characterAttributes.textFont = myFont;   // 设置字体名称
  textRef.textRange.characterAttributes.fillColor = docRef.swatches[1].color;   // 设置拼版色
  textRef.top = y + 7;    // 画板底向上偏移
  textRef.left = x - textRef.width - 10 ;   // 画板x中,偏移文本宽和间隔宽
}

filenameDate();

相关文章: https://www.262235.xyz/index.php/tag/Adobe/

附表 中文字体 字号对照表

pt.png

在现代电子排版引入前,中国及部分东亚国家普遍使用活字印印刷汉字。字体的大小以活字字号 (印刷)标称。字号越小,字体越大。之后“点”数活字传入中国,与传统的“号”数单位并行通用,各地活字厂商的活字尺寸不尽相同,号、点、毫米等单位之间有不同换算。而且由于“点”基于英尺,用公制单位换算时只能采用近似数值。比如1958年6月10日,中华人民共和国文化部出版事业管理局为了统一活字的标准曾公布《关于活字及字模规格化的决定(草案)》里就直接规定“每点为0.35毫米,铅字的高度规定为23.32 毫米”[8] 。由于老厂铅字数量繁多,此规定并未在全国范围内彻底施行。与此类似,日本工业规格的 JIS Z 8305-1962 (JIS Z 8305:1962)“活字の基准寸法”中 2. (2) 也规定“1 point 定为 0.351 4 mm

本原创文章自由转载,转载请注明本博来源及网址 | 当前页面:兰雅sRGB个人笔记 » Adobe Illustrator 脚本学习: 当前画板中下位置插入文本,设置字体和拼版色