Adobe InDesign是Adobe公司的一个桌面出版 (DTP) 的应用程序,主要用于各种印刷品的排版编辑。InDesign可以将文档直接导出为Adobe的PDF格式,而且有多语言支持。采用脚本语言自动化编码,在学习中的一个重要功能是奇偶页物件分别移动功能,以下源代码仅用于学习交流,请勿用于商业用途和其它非法用途。源代码如下所示:
myDialog = app.dialogs.add({
name: "奇数页、偶数页全部物件分别移动",
canCancel: true
});
myLabelsColumn1 = myDialog.dialogColumns.add();
with (myLabelsColumn1) {
staticTexts.add({
staticLabel: "┏━ID页码"
});
staticTexts.add({
staticLabel: "开始页:"
});
staticTexts.add({
staticLabel: "结束页:"
});
staticTexts.add({
staticLabel: "┌┄奇数页┄"
});
staticTexts.add({
staticLabel: "水平偏移:"
});
staticTexts.add({
staticLabel: "垂直偏移:"
});
staticTexts.add({
staticLabel: "┌┄偶数页┄"
});
staticTexts.add({
staticLabel: "水平偏移:"
});
staticTexts.add({
staticLabel: "垂直偏移:"
});
}
myLabelsColumn2 = myDialog.dialogColumns.add();
myLabelsColumn2.staticTexts.add({
staticLabel: "━━━━━┓"
});
StartPageField = myLabelsColumn2.realEditboxes.add({
editValue: 1
});
EndPageField = myLabelsColumn2.realEditboxes.add({
editValue: 5
});
myLabelsColumn2.staticTexts.add({
staticLabel: "┄┄┄┄┄┐"
});
OddXField = myLabelsColumn2.measurementEditboxes.add(); //{editUnits:MeasurementUnits.millimeters});
OddYField = myLabelsColumn2.measurementEditboxes.add();
myLabelsColumn2.staticTexts.add({
staticLabel: "┄┄┄┄┄┐"
});
EvenXField = myLabelsColumn2.measurementEditboxes.add();
EvenYField = myLabelsColumn2.measurementEditboxes.add();
//Display the dialog box.
if (myDialog.show() == true) {
myDoc = app.activeDocument;
StartPage = StartPageField.editValue;
EndPage = EndPageField.editValue;
OddX = OddXField.editValue;
OddY = OddYField.editValue;
EvenX = EvenXField.editValue;
EvenY = EvenYField.editValue;
//Save the current measurement units.
var myOldXUnits = app.activeDocument.viewPreferences.horizontalMeasurementUnits;
var myOldYUnits = app.activeDocument.viewPreferences.verticalMeasurementUnits;
//Set the measurement units to points.
app.activeDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points;
app.activeDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.points;
//奇数页、偶数页循环起始及次数
PagesNum = EndPage - StartPage + 1;
StartN = Math.round(StartPage / 2);
EndN = Math.round(EndPage / 2);
if ((PagesNum % 2 == 0) && (EndPage % 2 == 0)) {
OddStartN = StartN;
OddEndN = EndN;
EvenStartN = StartN;
EvenEndN = EndN;
} else if ((PagesNum % 2 == 0) && (EndPage % 2 !== 0)) {
OddStartN = StartN + 1;
OddEndN = EndN;
EvenStartN = StartN;
EvenEndN = EndN - 1;
} else if ((PagesNum % 2 !== 0) && (EndPage % 2 == 0)) {
OddStartN = StartN;
OddEndN = EndN - 1;
EvenStartN = StartN;
EvenEndN = EndN;
} else if ((PagesNum % 2 !== 0) && (EndPage % 2 !== 0)) {
OddStartN = StartN;
OddEndN = EndN;
EvenStartN = StartN;
EvenEndN = EndN - 1;
}
//奇数页、偶数页全部物件分别移动
for (i = OddStartN; i
关注
打赏
热门博文
- Adobe illustrator插件开发-SPInterfaceSuite-插件A向插件B传递消息-插件通信-AI插件开发
- javascript-ztree-树形控件-初始化-加载节点数据-节点数据获取
- Adobe illustrator插件开发-坐标系统-AIHardSoftSuite-画板坐标-页面坐标-AI插件开发
- Adobe illustrator插件开发-AIUIDUtilsSuite-AIUIDPoolSuite-AIUIDSuite-AIUIDREFSuite-Art唯一标识符与索引-AI插件开发
- C++-逆向分析-类的成员函数地址与对象地址动态绑定-this指针-成员函数和成员虚函数反汇编解析
- C++-逆向分析-结构体和类-内存布局-this指针-静态数据成员-对象作为参数和返回值
- Adobe illustrator插件开发-命令名称-AddCommand -AI插件开发
- Adobe illustrator插件开发-事件-PlugPlugAddEventListener-向系统注册事件-AI插件开发
- Adobe illustrator插件开发-ole拖拽粘贴交换数据格式-RegisterClipboardFormat函数-AI插件开发
- Adobe illustrator插件开发-所有模块列表-内部存在大量非公开的Suite-AI插件开发