精华内容
下载资源
问答
  • InDesignScripts InDesign脚本的集合,用于插入页码作为条件文本,将.indb导出到多个.idml +目录等。
  • InDesign脚本

    2010-11-15 09:57:43
    Adobe公司的PageMaker排版软件升级版InDesign脚本指南
  • InDesign-脚本 主要用于漫画字体的通用 InDesign 脚本 字母哥们 允许您在 .txt 文件中加载脚本,并在创建文本框架时自动将行输入到文本框架中(与 Typesetterer 类似)。 目前,它只需要一个文本文件并逐行读取它,...
  • indesign二次开发 尽管我们希望使用开放源代码工具,但图形设计人员仍将使用Adobe软件。 期望具备Photoshop和Illustrator的技能,但对于许多人来说,InDesign也是如此。 它曾经是QuarkXPress,但Adobe已成为事实上的...

    indesign二次开发

    尽管我们希望使用开放源代码工具,但图形设计人员仍将使用Adobe软件。 期望具备Photoshop和Illustrator的技能,但对于许多人来说,InDesign也是如此。 它曾经是QuarkXPress,但Adobe已成为事实上的应用程序设计套件,而阻力是徒劳的。

    对于我的工作,我必须使用InDesign。 对于自由职业者,我使用InDesign,Scribus,GIMP和Photoshop,具体取决于我是创建艺术品还是从别人的作品开始。

    这与开源有什么关系? 毕竟,InDesign被迫关闭了。 好吧,我发现了三个开源脚本,可以帮助您更好地使用InDesign。

    页面导出器实用程序

    我需要做一些InDesign无法自动完成的事情:将页面输出为单页PDF。 每当遇到这种情况时,我都会转向互联网。 在这种情况下,我转到了David Blatner和Anne-MarieConcepción的网站InDesign Secrets ,在其中找到了一个InDesign脚本的链接,该脚本会将页面输出为单页PDF。

    我安装了该脚本,发现它是一个开放源代码脚本:“该程序是免费软件;您可以按照由该免费软件发布的GNU通用公共许可证的条款重新分发和/或修改它。基础。” 该脚本由LonelyTree Software的Scott Zanelli编写,但是提供的链接没有任何地方。 因此,我使用Adobe的Extendscript Editor查看了代码,并通过更改默认的“取消”消息以按名称称呼我来进行了较小的修改(请参见下图)。

    然后,我编写了关于安装和运行脚本的完整说明。

    Using Adobe's Extendscript Editor

    日历向导

    InDesign的另一个开源脚本是Scott Selberg编写的CalendarWizard。 CalendarWizard生成具有多种功能的多种形式的日历(请参见下图)。 该脚本可免费用于非营利性和个人用途 ,但自2005年起,商业用途需要购买许可证。 根据Selberg的说法,这是由于Adobe的基于订阅的模型。 该脚本在SourceForge上可用。

    Using CalendarWizard

    奖励:表合并

    另一个有用的脚本是Table Merger ,它由In-Tools免费提供。 表合并器采用多个InDesign表,并以多种方式合并它们。 似乎可以内置此功能,但是Table Merger可以解决问题。

    Table Merger script

    在开始寻找PDF问题的解决方案之前,我从未考虑过使用开源解决方案来自定义Adobe InDesign。 经过这一探索,我扩大了对开放源代码功能的了解,甚至与封闭源应用程序一起工作时,了解了开放源代码解决方案的价值和实用性。

    翻译自: https://opensource.com/article/17/3/scripts-adobe-indesign

    indesign二次开发

    展开全文
  • 为 Oomph Pty Ltd 准备的脚本,用于对不同 InDesign 插件的性能进行基准测试。 技术 使用 JavaScript 编写 InDesign 脚本 扩展脚本工具包 (ETSK) Adobe InDesign CC Adobe 扩展管理器 CC 指示 在 InDesign 中打开...
  • indesign脚本问题 下了个indesign角效果脚本,怎么用啊? 是要加载?还是放在哪个文件夹里? 放在这里面 C:\Program Files\\Adobe InDesign CS2\Presets\Scripts 选择你画的图形,双击脚本面板里的脚本,没效果的话...
  • InDesign脚本的集合,用于执行简单且重复的任务。 许多工具旨在通过键盘快捷方式运行(“编辑”>“键盘快捷方式...”>“产品区域”>“脚本” ;每个部分下方的建议)。 某些可以由Peter Kahrel的脚本运行。 描述 ...
  • IdGoodies 酷炫的InDesign脚本和代码片段
  • 使用Markdown和InDesign模板并弹出格式化手册的InDesign脚本 安装 在Max OS X上,将整个ohc-handbook-md2id文件夹放在/Users/[USERNAME]/Library/Preferences/Adobe InDesign/Version [NUM]/en_US/Scripts 。 ...
  • 从库中插入项目 InDesign CS4的脚本+ 在具有特定段落样式的段落之后,内联插入一个插入到#About InDesign库中的项目。
  • Indesign 脚本示例

    2009-02-16 12:24:00
    Code functionmyReadPMTags(myStory){ varmyName,myString,myStyle,myStyleName; varmyDocument=app.documents.item(0); //ResetthefindGrepPreferencestoensurethatprevioussettings ...//donot...
    ContractedBlock.gif ExpandedBlockStart.gif Code
    ExpandedBlockStart.gifContractedBlock.giffunction myReadPMTags(myStory){
    var myName, myString, myStyle, myStyleName;
    var myDocument = app.documents.item(0);
    //Reset the findGrepPreferences to ensure that previous settings
    //
    do not affect the search.
    app.findGrepPreferences = NothingEnum.nothing;
    app.changeGrepPreferences 
    = NothingEnum.nothing;
    //Find the tags (since this is a JavaScript string,
    //
    the backslashes must be escaped).
    app.findGrepPreferences.findWhat = "(?i)^<\\s*\\w+\\s*>";
    var myFoundItems = myStory.findGrep();
    ExpandedSubBlockStart.gifContractedSubBlock.gif
    if(myFoundItems.length != 0){
    var myFoundTags = new Array;
    ExpandedSubBlockStart.gifContractedSubBlock.gif
    for(var myCounter = 0; myCounter<myFoundItems.length; myCounter++){
    myFoundTags.push(myFoundItems[myCounter].contents);
    }

    myFoundTags 
    = myRemoveDuplicates(myFoundTags);
    //At this point, we have a list of tags to search for.
    ExpandedSubBlockStart.gifContractedSubBlock.gif
    for(myCounter = 0; myCounter < myFoundTags.length; myCounter++){
    myString 
    = myFoundTags[myCounter];
    //Find the tag using findWhat.
    app.findTextPreferences.findWhat = myString;
    //Extract the style name from the tag.
    myStyleName = myString.substring(1, myString.length-1);
    //Create the style if it does not already exist.
    ExpandedSubBlockStart.gifContractedSubBlock.gif
    try{
    myStyle 
    = myDocument.paragraphStyles.item(myStyleName);
    myName 
    = myStyle.name;
    }

    ExpandedSubBlockStart.gifContractedSubBlock.gif
    catch (myError){
    ExpandedSubBlockStart.gifContractedSubBlock.gifmyStyle 
    = myDocument.paragraphStyles.add({name:myStyleName});
    }

    //Apply the style to each instance of the tag.
    app.changeTextPreferences.appliedParagraphStyle = myStyle;
    myStory.changeText();
    //Reset the changeTextPreferences.
    app.changeTextPreferences = NothingEnum.nothing;
    //Set the changeTo to an empty string.
    app.changeTextPreferences.changeTo = "";
    //Search to remove the tags.
    myStory.changeText();
    //Reset the find/change preferences again.
    app.changeTextPreferences = NothingEnum.nothing;
    }

    }

    //Reset the findGrepPreferences.
    app.findGrepPreferences = NothingEnum.nothing;
    }

    ExpandedBlockStart.gifContractedBlock.gif
    function myRemoveDuplicates(myArray){
    //Semi-clever method of removing duplicate array items; much faster
    //
    than comparing every item to every other item!
    var myNewArray = new Array;
    myArray 
    = myArray.sort();
    myNewArray.push(myArray[
    0]);
    ExpandedSubBlockStart.gifContractedSubBlock.gif
    if(myArray.length > 1){
    ExpandedSubBlockStart.gifContractedSubBlock.gif
    for(var myCounter = 1; myCounter < myArray.length; myCounter ++){
    ExpandedSubBlockStart.gifContractedSubBlock.gif
    if(myArray[myCounter] != myNewArray[myNewArray.length -1]){
    myNewArray.push(myArray[myCounter]);
    }

    }

    }

    return myNewArray;
    }

    转载于:https://www.cnblogs.com/luhaibin731/archive/2009/02/16/Robin.html

    展开全文
  • 我想使用python脚本来查找和替换InDesign文件中的一些文本,然后将其保存为pdf。在我设法使用python打开indesign并将其保存为pdf,但是我不知道如何搜索文本并将其替换为脚本第一部分生成的随机字符串。在以下是我...

    我想使用python脚本来查找和替换InDesign文件中的一些文本,然后将其保存为pdf。在

    我设法使用python打开indesign并将其保存为pdf,但是我不知道如何搜索文本并将其替换为脚本第一部分生成的随机字符串。在

    以下是我目前所得到的:import win32com.client

    import random

    import string

    def id_generator(size=6, chars=string.ascii_uppercase + string.digits):

    return ''.join(random.choice(chars) for _ in range(size))

    voucher=id_generator()

    app = win32com.client.Dispatch('InDesign.Application.CC.2018')

    myFile = r'C:\Users\some_file.indd'

    myDocument = app.Open(myFile)

    myPDFFile = r'C:\Users\some_file.pdf'

    directory = os.path.dirname(myPDFFile)

    idPDFType = 1952403524

    # 1=[High Quality Print], 2=[PDF/X-1a:2001] etc..

    myPDFPreset = app.PDFExportPresets.Item(1)

    try:

    if not os.path.exists(directory):

    os.makedirs(directory)

    if os.path.exists(directory):

    myDocument.Export(idPDFType, myPDFFile, False, myPDFPreset)

    except Exception as e:

    print('Export to PDF failed: ' + str(e))

    myDocument.Close()

    展开全文
  • 简体转繁体脚本.jsx
  • indesign_cs4_help.pdf InDesignCS4_ScriptingGuide_JS.pdf InDesignCS4_ScriptingGuide_VB.pdf InDesignCS4_ScriptingTutorial.pdf InDesignCS4Server_Scripting_Guide.pdf
  • InDesign CS6字数统计,支持CS3-CS6。并在此感谢中文印刷上传者提供。
  • 脚本是专门为凯斯西储大学的学生报纸The Observer制作的,但对于需要将Word文档或google文档复制并粘贴到indesign中的任何项目而言,该脚本都非常有用。 脚本动作 询问用户是否要删除空白行,例如从其他地方复制...
  • InDesign脚本。搜索段落样式并将库中的项目插入该部分。 当你想做这样的事情时使用它。 ## 如何使用 在库中注册要插入的部件(不能从未打开的库插入)。 将光标放在要执行搜索的文本框架内并启动脚本。 选择...
  • ID-MultiPageImporter 用于自动在Adobe InDesign中放置(导入)PDF和InDesign文件的脚本
  • 采用脚本语言自动化编码,在学习中的一个重要功能是随机填充功能,以下源代码仅用于学习交流,请勿用于商业用途和其它非法用途。源代码如下所示: //RandomFill.jsx //An InDesign CS2 JavaScript // //This script...

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

    
    //RandomFill.jsx
    //An InDesign CS2 JavaScript
    //
    //This script fills the selected object or objects with random objects of your choosing.
    //
    //For more on InDesign scripting, go to http://www.adobe.com/products/indesign/scripting.html
    //or visit the InDesign Scripting User to User forum at http://www.adobeforums.com
    //
    if (app.documents.length > 0) {
        if (app.selection.length > 0) {
            mySelectionSorter();
        } else {
            alert("Nothing is selected. Please select an object and try again.");
        }
    } else {
        alert("No documents are open. Please open a document, select an object, and try again.");
    }
    function mySelectionSorter() {
        var myObjects = new Array;
        for (myCounter = 0; myCounter < app.selection.length; myCounter++) {
            myObject = app.selection[myCounter];
            switch (myObject.constructor.name) {
            case "Rectangle":
            case "Oval":
            case "Polygon":
                myObjects.push(myObject);
                break;
            }
        }
        //Did the selection contain one or more qualifying objects?
        if (myObjects.length != 0) {
            myDisplayDialog(myObjects);
        } else {
            alert("The selection did not contain any qualifying items. Please select a rectangle, oval, or polygon and try again.");
        }
    }
    function myDisplayDialog(myObjects) {
        var mySwatch;
        //Get a list of the swatch names from the active document (for use in the dialog box).
        var mySwatchNameList = new Array;
        for (var mySwatchCounter = 0; mySwatchCounter < app.activeDocument.swatches.length; mySwatchCounter++) {
            mySwatch = app.activeDocument.swatches.item(mySwatchCounter);
            if (mySwatch.name != "Registration") {
                mySwatchNameList.push(mySwatch.name);
            }
        }
        //Add the "Random" choice to the end of the swatch name list.
        mySwatchNameList[mySwatchNameList.length] = "Random";
        //Display the dialog box.
        with (myDialog = app.dialogs.add({
                name: "RandomFill"
            })) {
            with (dialogColumns.add()) {
                with (borderPanels.add()) {
                    staticTexts.add({
                        staticLabel: "Type"
                    });
                    with (dialogColumns.add()) {
                        with (myTypeRadioButtons = radiobuttonGroups.add()) {
                            radiobuttonControls.add({
                                staticLabel: "Rectangles"
                            });
                            radiobuttonControls.add({
                                staticLabel: "Ovals"
                            });
                            radiobuttonControls.add({
                                staticLabel: "Polygons",
                                checkedState: true
                            });
                            radiobuttonControls.add({
                                staticLabel: "Lines"
                            });
                            radiobuttonControls.add({
                                staticLabel: "Random"
                            });
                        }
                    }
                }
                with (borderPanels.add()) {
                    staticTexts.add({
                        staticLabel: "Number:"
                    });
                    with (dialogColumns.add()) {
                        myNumberOfObjectsField = integerEditboxes.add({
                            editValue: 20
                        });
                    }
                }
                with (borderPanels.add()) {
                    staticTexts.add({
                        staticLabel: "Fill Tint",
                        checkedState: true
                    });
                    with (dialogColumns.add()) {
                        staticTexts.add({
                            staticLabel: "Minimum:"
                        });
                        staticTexts.add({
                            staticLabel: "Maximum:"
                        });
                    }
                    with (dialogColumns.add()) {
                        myMinimumTintField = percentEditboxes.add({
                            editValue: 100,
                            maximumValue: 100,
                            minimumValue: 0
                        });
                        myMaximumTintField = percentEditboxes.add({
                            editValue: 100,
                            maximumValue: 100,
                            minimumValue: 0
                        });
                    }
                }
                with (borderPanels.add()) {
                    staticTexts.add({
                        staticLabel: "Fill Color:"
                    });
                    with (dialogColumns.add()) {
                        myFillColorDropdown = dropdowns.add({
                            stringList: mySwatchNameList,
                            selectedIndex: 0
                        });
                    }
                }
            }
            with (dialogColumns.add()) {
                with (borderPanels.add()) {
                    staticTexts.add({
                        staticLabel: "Stroke Weight:"
                    });
                    with (dialogColumns.add()) {
                        staticTexts.add({
                            staticLabel: "Minimum:"
                        });
                        staticTexts.add({
                            staticLabel: "Maximum:"
                        });
                    }
                    with (dialogColumns.add()) {
                        myMinimumStrokeField = measurementEditboxes.add({
                            editValue: 1,
                            editUnits: MeasurementUnits.points,
                            minimumValue: 0,
                            maximumValue: 640
                        });
                        myMaximumStrokeField = measurementEditboxes.add({
                            editValue: 1,
                            editUnits: MeasurementUnits.points,
                            minimumValue: 0,
                            maximumValue: 640
                        });
                    }
                }
                with (borderPanels.add()) {
                    staticTexts.add({
                        staticLabel: "Size:"
                    });
                    with (dialogColumns.add()) {
                        staticTexts.add({
                            staticLabel: "Minimum:"
                        });
                        staticTexts.add({
                            staticLabel: "Maximum:"
                        });
                    }
                    with (dialogColumns.add()) {
                        myMinimumSizeField = measurementEditboxes.add({
                            editValue: 12,
                            editUnits: MeasurementUnits.points
                        });
                        myMaximumSizeField = measurementEditboxes.add({
                            editValue: 72,
                            editUnits: MeasurementUnits.points
                        });
                    }
                }
                with (borderPanels.add()) {
                    staticTexts.add({
                        staticLabel: "Options:"
                    });
                    with (dialogColumns.add()) {
                        var myConstrainCheckbox = checkboxControls.add({
                            staticLabel: "Constrain Proportions",
                            checkedState: true
                        });
                        var myRandomRotationCheckbox = checkboxControls.add({
                            staticLabel: "Random Rotation",
                            checkedState: true
                        });
                        var myStarPolygonsCheckbox = checkboxControls.add({
                            staticLabel: "Star Polygons",
                            checkedState: true
                        });
                    }
                }
                with (borderPanels.add()) {
                    staticTexts.add({
                        staticLabel: "Stroke Color:"
                    });
                    with (dialogColumns.add()) {
                        myStrokeColorDropdown = dropdowns.add({
                            stringList: mySwatchNameList,
                            selectedIndex: 2
                        });
                    }
                }
    
            }
        }
        var myResult = myDialog.show();
        if (myResult == true) {
            //Gather the control settings from the dialog box.
            var myObjectType = myTypeRadioButtons.selectedButton;
            var myNumberOfObjects = myNumberOfObjectsField.editValue;
            var myMinimumTint = myMinimumTintField.editValue;
            var myMaximumTint = myMaximumTintField.editValue;
            var myMinimumSize = myMinimumSizeField.editValue;
            var myMaximumSize = myMaximumSizeField.editValue;
            var myMinimumStrokeWeight = myMinimumStrokeField.editValue;
            var myMaximumStrokeWeight = myMaximumStrokeField.editValue;
            var myConstrain = myConstrainCheckbox.checkedState;
            var myRandomRotation = myRandomRotationCheckbox.checkedState;
            var myStarPolygons = myStarPolygonsCheckbox.checkedState;
            var myFillColorName = myFillColorDropdown.stringList[myFillColorDropdown.selectedIndex];
            var myStrokeColorName = myStrokeColorDropdown.stringList[myStrokeColorDropdown.selectedIndex];
            myDialog.destroy();
            var mySwatchNameList = myCleanSwatchNames(mySwatchNameList);
            myFillObjects(myObjects, myObjectType, myNumberOfObjects, myMinimumTint, myMaximumTint, myMinimumSize, myMaximumSize, myMinimumStrokeWeight, myMaximumStrokeWeight, myConstrain, myRandomRotation, myStarPolygons, myFillColorName, myStrokeColorName, mySwatchNameList);
        } else {
            myDialog.destroy();
        }
    }
    function myFillObjects(myObjects, myObjectType, myNumberOfObjects, myMinimumTint, myMaximumTint, myMinimumSize, myMaximumSize, myMinimumStrokeWeight, myMaximumStrokeWeight, myConstrain, myRandomRotation, myStarPolygons, myFillColorName, myStrokeColorName, mySwatchNameList) {
        //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;
        for (myObjectCounter = 0; myObjectCounter < myObjects.length; myObjectCounter++) {
            myObject = myObjects[myObjectCounter];
            myFillObject(myObject, myObjectType, myNumberOfObjects, myMaximumTint, myMinimumTint, myMaximumSize, myMinimumSize, myMinimumStrokeWeight, myMaximumStrokeWeight, myConstrain, myRandomRotation, myStarPolygons, myFillColorName, myStrokeColorName, mySwatchNameList);
        }
        //Reset the measurement units to their original values.
        app.activeDocument.viewPreferences.horizontalMeasurementUnits = myOldXUnits;
        app.activeDocument.viewPreferences.verticalMeasurementUnits = myOldYUnits;
    }
    function myFillObject(myObject, myObjectType, myNumberOfObjects, myMaximumTint, myMinimumTint, myMaximumSize, myMinimumSize, myMinimumStrokeWeight, myMaximumStrokeWeight, myConstrain, myRandomRotation, myStarPolygons, myFillColorName, myStrokeColorName, mySwatchNameList) {
        //Fill the object with shapes.
        myRandomObjects = new Array;
        myX1 = myObject.geometricBounds[1];
        myY1 = myObject.geometricBounds[0];
        myX2 = myObject.geometricBounds[3];
        myY2 = myObject.geometricBounds[2];
        for (myCounter = 1; myCounter <= myNumberOfObjects; myCounter++) {
            //Pick a size (based on the minimum and maximum size values.
            myXSize = myGetRandom(myMinimumSize, myMaximumSize);
            //If Constrain Proportions is off, get a separate random size
            //for the height of the object.
            if (myConstrain != true) {
                myYSize = myGetRandom(myMinimumSize, myMaximumSize);
            } else {
                myYSize = myXSize;
            }
            //Pick a random center point inside the bounds of the object.
            myCenterPoint = myGetRandomCoordinate(myX1 - (myXSize / 2), myY1 - (myYSize / 2), myX2 + (myXSize / 2), myY2 + (myYSize / 2));
            //draw the object
            myRandomObject = myDrawObject(myCenterPoint, myObjectType, myXSize, myYSize, myStarPolygons)
                //Add the object to the array of objects to be grouped.
                myRandomObjects.push(myRandomObject);
            if (myFillColorName == "Random") {
                myRandomObject.fillColor = app.activeDocument.swatches.item(myGetRandomSwatch(mySwatchNameList));
            } else {
                myRandomObject.fillColor = app.activeDocument.swatches.item(myFillColorName);
            }
            if (myMinimumTint == myMaximumTint) {
                myTintPercentage = myMinimumTint;
                if (myTintPercentage == 100) {
                    myTintPercentage = -1;
                }
            } else {
                myTintPercentage = myGetRandom(myMinimumTint, myMaximumTint);
            }
            myRandomObject.fillTint = myTintPercentage;
    
            if (myStrokeColorName == "Random") {
                myRandomObject.strokeColor = app.activeDocument.swatches.item(myGetRandomSwatch(mySwatchNameList));
            } else {
                myRandomObject.strokeColor = app.activeDocument.swatches.item(myStrokeColorName);
            }
    
            if (myStrokeColorName != "None") {
                if (myMinimumStrokeWeight != myMaximumStrokeWeight) {
                    myRandomObject.strokeWeight = myGetRandom(myMinimumStrokeWeight, myMaximumStrokeWeight);
                } else {
                    myRandomObject.strokeWeight = myMinimumStrokeWeight;
                }
            } else {
                myRandomObject.strokeWeight = 0;
            }
            //If Random Rotation is on, pick a rotation angle.
            if (myRandomRotation == true) {
                myRandomObject.rotationAngle = myGetRandom(0, 360);
            }
        }
        myGroup = app.activeWindow.activeSpread.groups.add(myRandomObjects);
        //InDesign CS version:
        //app.activeWindow.select(myGroup, false);
        //InDesign CSx version:
        myGroup.select();
        app.cut();
        //InDesign CS version:
        //app.activeWindow.select(myGroup, false);
        //InDesign CSx version:
        myObject.select();
        app.pasteInto();
    }
    //This function takes care of drawing each random object.
    function myDrawObject(myCenterPoint, myObjectType, myXSize, myYSize, myStarPolygons) {
        myIsPolygon = false;
        switch (myObjectType) {
        case 0:
            //rectangles
            myRandomObject = app.activeWindow.activeSpread.rectangles.add();
            break;
        case 1:
            //ovals
            myRandomObject = app.activeWindow.activeSpread.ovals.add();
            break;
        case 2:
            //polygons
            myRandomObject = app.activeWindow.activeSpread.polygons.add();
            myIsPolygon = true;
            break;
        case 3:
            //graphic lines
            myRandomObject = app.activeWindow.activeSpread.graphicLines.add();
            break;
        case 4:
            //random
            switch (myGetRandom(0, 3)) {
            case 0:
                //add a rectangle
                myRandomObject = app.activeWindow.activeSpread.rectangles.add();
                break;
            case 1:
                //add an oval
                myRandomObject = app.activeWindow.activeSpread.ovals.add();
                break;
            case 2:
                //add a polygon
                myRandomObject = app.activeWindow.activeSpread.polygons.add();
                myIsPolygon = true;
                break;
            case 3:
                //add a graphic line
                myRandomObject = app.activeWindow.activeSpread.graphicLines.add();
                break;
            }
            break;
        }
        if (myIsPolygon != true) {
            myRandomObject.geometricBounds = [myCenterPoint[1] - (myYSize / 2), myCenterPoint[0] - (myXSize / 2), myCenterPoint[1] + (myYSize / 2), myCenterPoint[0] + (myXSize / 2)];
        } else {
            //Drawing a regular polygon from center point takes a bit more work.
            myRadius = myXSize / 2;
            myNumberOfPoints = myGetRandom(3, 12);
            myInsetPercentage = myGetRandom(10, 100) * .01;
            if (myStarPolygons == true) {
                myNumberOfPoints = myNumberOfPoints * 2;
            }
            myAngleIncrement = (360 / myNumberOfPoints) * (Math.PI / 180);
            var myPathPoints = new Array;
            for (myPointCounter = 0; myPointCounter < myNumberOfPoints; myPointCounter++) {
                if ((myStarPolygons != true) || (myIsEven(myPointCounter) == true)) {
                    myX = myCenterPoint[0] + (myRadius * Math.cos(myAngleIncrement * myPointCounter));
                    myY = myCenterPoint[1] + (myRadius * Math.sin(myAngleIncrement * myPointCounter));
                } else {
                    myX = myCenterPoint[0] + ((myRadius * myInsetPercentage) * Math.cos(myAngleIncrement * myPointCounter));
                    myY = myCenterPoint[1] + ((myRadius * myInsetPercentage) * Math.sin(myAngleIncrement * myPointCounter));
                }
                myPathPoints.push([myX, myY]);
            }
            myRandomObject.paths.item(0).entirePath = myPathPoints;
        }
        return myRandomObject;
    }
    //This function removes the menu entry "Random," and also removes
    //the swatches "Registration" and "None" from the list of available
    //swatch names (because we don't want those applied to the objects).
    function myCleanSwatchNames(mySwatchNameList) {
        //Remove "Random"
        mySwatchNameList.pop();
        for (myCounter = 0; myCounter < mySwatchNameList.length; myCounter++) {
            mySwatchName = mySwatchNameList.shift();
            //If the swatch name is not one of the "bad" names, then write it back to the end of the list.
            if ((mySwatchName != "None") && (mySwatchName != "Registration")) {
                mySwatchNameList.push(mySwatchName);
            }
        }
        return mySwatchNameList;
    }
    //This function gets a random number in the range myStart to myEnd.
    function myGetRandom(myStart, myEnd) {
        var myRange = myEnd - myStart;
        return myStart + Math.floor(Math.random() * myRange);
    }
    //This function gets a random swatch from a list of swatch names.
    function myGetRandomSwatch(mySwatchNameList) {
        return mySwatchNameList[myGetRandom(0, mySwatchNameList.length)];
    }
    //This function gets a random coordinate in the rectangle defined by x1, y1, x2, y2.
    function myGetRandomCoordinate(myX1, myY1, myX2, myY2) {
        myX = myGetRandom(myX1, myX2);
        myY = myGetRandom(myY1, myY2);
        return [myX, myY];
    }
    //This function returns true if myNumber is even, false if it is not.
    function myIsEven(myNumber) {
        myResult = (myNumber % 2) ? false : true;
        return myResult;
    }
    

      合理的脚本代码可以有效的提高工作效率,减少重复劳动。


      欢迎光临知了软件开发网络平台,本公司定制开发各类软件,主要方向为桌面专业软件开发和插件定制开发,桌面软件主要包括文字图形识别类软件,信息管理类软件,3D打印类软件,视频类软件以及其它涉及专业的各类图形图像处理软件。插件包含AE插件,AI插件,PS插件,PDF插件,3DMAX插件以及Word,Excel等Office插件开发。详情请咨询,微信QQ:312117271,手机:18928899728,邮箱: anjingzhi_sea@163.com.
    公司网址:http://www.zhiliaos.com

    展开全文
  • Indesign脚本 这些脚本用于使设计中的生产稍微容易一些并且更易于管理。 这使用了我们自己的markdown风格,最终将被转换为与HTML对齐,并可能包含indesign模板的对象样式。 安装 要安装,请将存储库克隆到以下文件夹...
  • 本节书摘来自异步社区《Adobe InDesign CS6中文版经典教程》一书中的第1课1.5节修改文档的缩放比例,作者【美】Adobe公司,更多章节内容可以访问云栖社区“异步社区”公众号查看。 1.5 修改文档的缩放比例Adobe ...
  • 使用扩展脚本InDesign 基本 3D 转换和渲染库。
  • IdExtenso是适用于所有CC / CS6 / CS5 / CS4环境的完整ExtendScript / InDesign脚本框架。 它基于可堆叠的构建块提供了一个丰富的工具箱。 您是否需要一个真正支持ExtendScript奇数和InDesign DOM对象的干净的JSON...
  • Adobe Indesign 中的自动化脚本可解析大量数据(.xls、.xlm、.csv)和其他格式,并生成应用了相应样式的所需输出模板。 脚本是执行各种任务的绝佳工具。 脚本可以像自动化的常见任务一样简单,也可以像全新的功能...
  • 适用于设计的Character-Variant-Java-Script 该脚本可以访问Indesign中的“ CVxx”功能 第二个脚本有一个提示。 输入您的字符变体的编号(总是2个技巧)要删除字符变体,请再次单击并输入“ 00”或不输入任何内容
  • 采用脚本语言自动化编码,在学习中的一个重要功能是多页PDF导入功能,以下源代码仅用于学习交流,请勿用于商业用途和其它非法用途。源代码如下所示: //PlacePDFPages.js //Select the file you want to place. var...
  • 采用脚本语言自动化编码,在学习中的一个重要功能是移动选择项目到指定页功能,以下源代码仅用于学习交流,请勿用于商业用途和其它非法用途。源代码如下所示: try { var myDocument = app.activeDocument; with ...
  • InDesign DOM 的 ExtendScript 库。 类似于 HTML 的 jQuery。 有关文档,请参阅
  • 采用脚本语言自动化编码,在学习中的一个重要功能是对齐到页面功能,以下源代码仅用于学习交流,请勿用于商业用途和其它非法用途。源代码如下所示: //AlignToPage.jsx //An InDesign CS2 JavaScript // //Aligns ...
  • 采用脚本语言自动化编码,在学习中的一个重要功能是释放主页功能,以下源代码仅用于学习交流,请勿用于商业用途和其它非法用途。源代码如下所示: //ReleaseAllMasterItems.js //An InDesign CS JavaScript //...

空空如也

空空如也

1 2 3 4 5 ... 15
收藏数 287
精华内容 114
关键字:

indesign脚本