文章目录
1.算法程序
- 1.算法程序
- 2.作者答疑
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