InDesign插件-常规功能开发-移动选择项目到指定页-js开发-ID插件

发布一下 0 0

1.算法程序

Adobe InDesign是Adobe公司的一个桌面出版 (DTP) 的应用程序,主要用于各种印刷品的排版编辑。InDesign可以将文档直接导出为Adobe的PDF格式,而且有多语言支持。采用脚本语言自动化编码,在学习中的一个重要功能是移动选择项目到指定页功能,以下源代码仅用于学习交流,请勿用于商业用途和其它非法用途。源代码如下所示:

try {    var myDocument = app.activeDocument;    with (myDocument) {        var myselection = selection;        var myprefs = documentPreferences.properties;        var mymaxpagenumber = myprefs.pagesPerDocument;        var theselectcount = selection.length;        //make the dialog        var myDialog = app.dialogs.add({            name: "移动选择的项目",            canCancel: true        });        with (myDialog) {            with (dialogColumns.add()) {                with (borderPanels.add()) {                    with (dialogColumns.add()) {                        staticTexts.add({                            staticLabel: "想要把选择的项目移动到哪?"                        });                        staticTexts.add({                            staticLabel: "请在后面输入页码"                        });                    }                    with (dialogColumns.add()) {                        staticTexts.add({                            staticLabel: ""                        });                        var mypageinfo = integerEditboxes.add({                            minWidth: 40,                            minValue: 1,                            maximumValue: mymaxpagenumber                        });                    }                }                if (theselectcount > 1) {                    with (borderPanels.add()) {                        staticTexts.add({                            staticLabel: "Group Items",                            minWidth: 102                        });                        var myradiogroup = radiobuttonGroups.add();                        with (myradiogroup) {                            var myyesradiobutton = radiobuttonControls.add({                                staticLabel: "Make into a Group",                                checkedState: true                            });                            var mynoradiobutton = radiobuttonControls.add({                                staticLabel: "Leave as Selected"                            });                        }                    }                }            }        }        if (myDialog.show() == true) {            if (theselectcount > 1) {                var mygroupungroup = myradiogroup.selectedButton;            }            var mypage = mypageinfo.editContents;            myDialog.destroy();        }        var myoldviewprefs = viewPreferences.properties            var myprefs = documentPreferences            with (myprefs) {            var mymaxpagenumber = pagesPerDocument        }        if (viewPreferences.rulerOrigin = RulerOrigin.spreadOrigin) {            var myoldorigin = RulerOrigin.spreadOrigin;            viewPreferences.rulerOrigin = RulerOrigin.pageOrigin;        }        var currentPage = myDocument.layoutWindows.item(0).activePage            var myselection = selection;        var mycount = myselection.length            if (theselectcount > 1) {                myStuff = new Array();                for (i = 0; mycount > i; i++) {                    myStuff.push(myselection[i]);                }                mygroup = app.activeWindow.activePage.groups.add(myStuff);                var mymovepage = pages.item(mypage - 1)                    var myBounds = mygroup.geometricBounds                    var a = myBounds[0]                    var b = myBounds[1]                    var c = myBounds[2]                    var d = myBounds[3]                    mygroup.move(mymovepage, undefined)                    mygroup.move([b, a], undefined)                    if (mygroupungroup == 1)                        mygroup.ungroup()            } else {                var mymovepage = pages.item(mypage - 1)                    var mysingleselection = selection[0]                    var myBounds = mysingleselection.geometricBounds                    var a = myBounds[0]                    var b = myBounds[1]                    var c = myBounds[2]                    var d = myBounds[3]                    mysingleselection.move(mymovepage, undefined)                    mysingleselection.move([b, a], undefined)            }            app.activeWindow.activePage = mymovepage            if (myoldorigin = RulerOrigin.spreadOrigin) {                viewPreferences.rulerOrigin = RulerOrigin.spreadOrigin            }    }} catch (e) {    if (app.documents.length == 0) {        alert("没有已经打开的InDesign文档,打开一个文档然后选择想要移动的项目。");    } else {        if (app.selection.length == 0) {            alert("没有项目被选择,请选择想要移动的项目。");        }    }}

2.作者答疑


代码长度过长,如需全部项目,请留言。

提示: 作者知了-联系方式1

提示: 作者知了-联系方式2

版权声明:内容来源于互联网和用户投稿 如有侵权请联系删除

本文地址:http://0561fc.cn/70219.html