您当前的位置: 首页 > 

插件开发

暂无认证

  • 5浏览

    0关注

    492博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

InDesign插件--常规功能开发--奇偶页物件分别移动--js脚本开发--ID插件

插件开发 发布时间:2022-03-03 09:41:59 ,浏览量:5

  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             
关注
打赏
1665481431
查看更多评论
0.0462s