Add points to the block of text, possible?

Is it possible to add a point to a block of text with a script?

Before:

Before.GIF

After:

After.GIF

Sure. A text block is a geometric shape than any other; in InDesign, it is just a rectangle.

All geometric shapes in InDesign consist of one or more paths - all have a property "paths" as a table. Each path contains a pathPoints array and is what you would use to add a corner.

Because you can not really sure what is the lower right corner, this script does not immediately change the pathPoints. Rather, it copies the path, trying to find the corner (not sure if it is 'the way'), adds two points after that and these points moves to the Insert.

myRect = app.selection[0];
myPath = myRect.paths[0];
myPathPoints = myPath.entirePath;
// Determine lower right -- not sure if it's always the same!
corner = 0;
for (a=1; a myPathPoints[corner][0])
  corner = a;
 if (myPathPoints[a][1] > myPathPoints[corner][1])
  corner = a;
}
// Add two point 'after' corner
// Use old corner point as model
p1 = [myPathPoints[corner][0], myPathPoints[corner][1]];
p2 = [myPathPoints[corner][0], myPathPoints[corner][1]];
myPathPoints.splice (corner+1,0, p1, p2);
// Move x of original corner point
myPathPoints[corner][0] -= 5;
// Move x and y of new angle point
p1[0] -= 5;
p1[1] -= 5;
// Move y of back-to-frame point
p2[1] -= 5;
// Put modified path back into object
myPath.entirePath = myPathPoints;

Tags: InDesign

Similar Questions

  • Deleting all the blocks of text hidden unexpectedly removes blocks of text embedded (but visible). Why?

    I try to use the code below to remove all the blocks of text hidden in a document. It is works quite well, BUT for some reason, removes the visible anchor text blocks.

    (the argument currentTextFrame.length is to prevent it remove hidden text blocks if the content is threaded, in which case the text is redéroule then in blocks of text that is visible.) I need to find a solution to this, but it's tomorrow problem.)

    I have a similar function to allGraphics and does not remove the anchored frames.

    Can someone point me in the right direction? I can add a check to see if the text block is anchored, but I fear that I might get bored the biggest problem.

    var myDocument = app.activeDocument;
    var myTextFrames = myDocument.stories.everyItem().textContainers.reverse();
    var myTextFramesLength = myTextFrames.length;
    for ( i = 0; i < myTextFramesLength; i++ ){
         var currentTextFrame = myTextFrames[i];
         if ((!currentTextFrame.visable) && (currentTextFrame.length ===1)){
              currentTextFrame[0].remove();
         }
    }
    
    

    _9781101983546_EPUB_SBs_indd___100_.png

    Edit: What is happening in 2014.0 and 2015.1, OS x 10.10 CC

    Post edited by: Naomi Kennedy

    Hi Naomi,

    and there is an array of arrays with:

    myDocument.stories.everyItem().textContainers
    

    Try this:

    var a = app.documents[0].stories.everyItem().textContainers;
    for(var n=0;n
    

    I suggest the following, which should work:

    var doc = app.documents[0];
    var myStoriesArray = doc.stories.everyItem().getElements();
    var storiesLength = myStoriesArray.length;
    
    var textContainersToRemoveIDs = [];
    
    for(var n=0;n
    

    Uwe

  • Heights of game for all the blocks of text in a document

    Looking to do something seemingly simple. I want all the blocks of text in my document to the same height.

    Here's where I am.

    app.activeDocument.textFrames.everyItem () .height = "2.3195 in."

    Note: I work in InDesign CS5.

    Any help on where to go from here would be greatly appreciated.

    Or, in the CS6 and later*:

    var NEW_HEIGHT = '2.3195 in';
    
    // MULTIPLE RESIZE() IN ONE STEP
    // =============================
    app.activeDocument.textFrames.everyItem().resize(
    
        // Target bounding box(es) -- Use OUTER_STROKE_BOUNDS if needed
        // ---
        [CoordinateSpaces.INNER_COORDINATES, BoundingBoxLimits.GEOMETRIC_PATH_BOUNDS],
    
        // Reference point -- Here resize is performed relative to the top edge
        // ---
        AnchorPoint.TOP_CENTER_ANCHOR,
    
        // Absolute replacement
        // ---
        ResizeMethods.REPLACING_CURRENT_DIMENSIONS_WITH,
    
        // [width, height] in points
        // ---
        [ResizeConstraints.KEEP_CURRENT_VALUE, +UnitValue(NEW_HEIGHT).as('pt')]
        );
    

    * Can operate CS5. x too, but I think remember that CS4 has a bug where resize() is a plural specifier whose receptors belong to several blocks spread.

    @+

    Marc

  • by selecting all the blocks of text on all visible layers

    I want to select all the blocks of text on all visible layers.

    the script below will select all the blocks of text, even in groups, but if the layer with the text is invisible the script error. (target layer cannot be changed)

    If (app.documents.length > 0) {}

    var doc = app.activeDocument;

    var numTextFrames = 0;

    for (i = 0; i < doc.textFrames.length; i ++) {}

    textArtRange = doc.textFrames [i];

    textArtRange.selected = true;

    }

    }

    So I made this script to select blocks of text on only visible layers, but now missing text belonging to a group.

    var layerCount = activeDocument.layers.length;

    var docSelected = activeDocument.selection;

    for (i = 0; i < layerCount; i ++)

    {

    currentLayer = activeDocument.layers [i];

    If (currentLayer.visible == visible)

    {

    for (j = 0; j < currentLayer.textFrames.length; j ++) {}

    textArtRange = currentLayer.textFrames [j];

    textArtRange.selected = true;

    }

    }

    }

    can someone tell me why it is not some frames of text bound in a group when made this way and is it possible to get all managers of related texts selected on all visible layers?

    Thank you

    Duane

    Try this:

    if (app.documents.length > 0 ) {
        var doc = app.activeDocument;
        var numTextFrames = 0;
        for (  i = 0; i < doc.textFrames.length; i++ ) {
            try {
            textArtRange = doc.textFrames[i];
            textArtRange.selected = true;
            } catch (e) {}
            }
        }
    

    Have fun

  • Add points at the end of the path

    Just learn how to use paths... one question eludes me. If I'm working on a path, adding a number of points, then do something else (e.g. Select another tool)... How can I return to this path and add points after the final point? I know that I can use the "Add an anchor point" tool to add points in the middle of the existing path, but how can I extend the path beyond the last point? !!

    If you Ctrl + click with the pen (to change Direct Selection tool temporarily) stop the path, it will be disabled, and the cursor turns into a pen with a star.

    Move the cursor to the end, and it will change the cursor "connect". Click on it will change the cursor to 'Awaken', and you will see 'Pick-up Path' appear in the history panel. You can now add your points.

  • I can auto adjust all the blocks of text with overset text?

    Due to several factors (change computers, versions of different fonts, etc.), I had to change most of the fonts in my text-heavy document.

    There are a lot of charts and tables in this 125-page document, and now most of all text frames have overset text.

    The new font is in fact identical to the previous one, however, there are a few differences that are causing it take more text frames. I tried to adjust the line spacing in my character and paragraph styles, but these do not seem to effect.

    Is there a way to automatically adjust all frames in excess to account for the new font?

    Thanks in advance.

    Not sure that the result will be 100% desirable, but there is a way to define all frames to auto-size...

    Run find/replace and choose the tab object.

    Down, choose the Document research: menu. Choose the blocks of text such as: menu.

    Click the icon of glass/frame next to the search Object Format field:

    In the Options of Format object search dialog box, choose Auto setting 'Off' on the text size Options > menu automatic sizing:

    Click OK, and then click the icon / window next to the subject of change Format field:

    In the change object Format Options dialog box, choose 'Height' only on the text size Options framework Auto > auto-size menu, and then click the up button in the Center in the framework - pinning proxy:

    Note: Another option for pinning would be better according to your presentations, but this setting will make executives grow at the bottom, which seems the most logical... in most cases.

    Click OK, and then change all.

  • I need to select all the blocks of text in a document and align text blocks in the back pages left frame margin and the text in the pages front to the right margin.

    Hello

    Am new to Java script.

    Can someone help me out here, I need to select all the blocks of text in a document and align text blocks in the pages back to the left margin frames and text in pages recto at the right margin.

    Thank you
    Harish

    Hi Harish,

    Try this.

    var doc =app.activeDocument,
        _pages = doc.pages;
    doc.viewPreferences.rulerOrigin = RulerOrigin.pageOrigin;
    for(var i =0;i<_pages.length;i++)
    {
            txfms = _pages[i].textFrames.everyItem().getElements();
            for(var j =0;j
    

    Kind regards

    Cognet

  • Select the block of text on each page of a sudden and resize them

    Hello, I want to do a 400 pages of text. How can I select the block of text on each page of a sudden and change their size at the same time? (each block of text is the same size per page)

    Make a backup copy of the file incase something goes wrong, then:

    Ensure that executives align on the margins on all sides - change margins of the master page applied to achieve, if necessary.

    Allow the adjustment of the layout (layout > setting layout...)

    On the master page, change the margins to be the size you want the new text frame dimensions to be.

    If, for some strange reason, you won't use these margin settings in the layout, turn off the setting of page layout and reset them on the master page again to what you want.

  • Select the block of text to items found

    Hi experts

    Here I find etc using the character style. I found myself results. Now, what is my need I want to select the block of text for the element found.

    app.findPreferences = NothingEnum.nothing;
    app.changePreferences = NothingEnum.nothing;

    app.findPreferences.appliedCharacterStyle = "FigCallout";

    var myResults = app.activeDocument.search ();

    for (i = myResults.length - 1; i > = 0; i--)
    {
    Select the block of text where myResults [i]

    }

    I use CS2 Windows.

    Thanks in advance

    concerning

    a you are the

    Memory: .parentTextFrame myResults [i]?

  • Is it possible to add a context menu to the blocks of text?

    I try to add an element of context menu for text blocks, I'm kind of a begginner with Creative Suite Extension Builder, I found out how to add a context menu, but not how to add it based on what the user right click. If anyone can point me in the right direction (with a bit of the code example will help a lot), I would be very grateful. Thanks in advance!

    You're talking about adding a menu item to the "layout context Menu. Right? If you need the text context Menu, then it's simple...

    Here's what you need to do in this case: you need to fix a BEFORE_DISPLAY event on the menu and check what is the currently selected item. If it is a block of text, you add the menu item. If this isn't the case, you delete it. (You will obviously need to check if it is already there first...)

    Make sure you only to add and remove menu item and not the associated scriptMenuAction.

    Substances

  • Automatically add the blocks of text or pages

    Greetings,

    I would like to know if it is possible for InDesign (either automatically or by script) to add any columns or pages if the content exceeds the width/height of the text frame.

    overlaping text frame.png

    The content is imported via the import option in XML format. My layout is composed of 6 columns per page. When I import the xml into the gray text block, the framework grows in height that overlap the next block of text instead of "push," as I want it too. It is the same for the other blocks of text.

    Is it possible to automatically add text blocks to fit the content and/or the pages?

    That's what I mean, but you will need to click on a place that does not already have a block of text (a new page or an empty column) and autoflow will add as many pages as needed from there.

  • Breakpoint - not able to move the block of text at a breakpoint

    Adobe 2015.1.0.2309 Muse.

    I have a few breakpoints set on my page. When I jump to one of them my expectation is that I'll be able to format the page for this breakpoint.

    I want to move a block of text right of a picture to a picture below when I get to a certain page width. If I click on the breakpoint for the width of the page, but when I hover over the text block I have an icon that says 'Click to go straight at the stop'. When I rubbed it in my larger page break.

    Starting point:

    b01.JPG

    I want to move the text under the image block when I'm about to stop 750, so I post the width of the page at 750. However when I place the mouse on the text block I just get the message "click to go directly at the breakpoint.

    b02.JPG

    If I click on the Muse goes back to as in the first photo.

    How can I actually select me the text block, so I can re - position?

    Hello

    Screen captures, it seems that you have created the breakpoints on the master page. Master page breakpoints do not automatically carry over ordinary pages; You must explicitly create (click on the white triangle on the breakpoint bar to go to the location of the main breakpoint and then click on the button '+'). Once you have a breakpoint on the regular page, you will be able to replace the text block as you wish.

    I hope this helps.

    Abhishek

  • Copy the block of text in most of the pages

    Using CS4. I am designing a photo book and want to add a caption below photos on most of the pages.

    How to copy a block of text to most of the pages of the book, positioned at the same place on each page?

    Looks a very basic thing to want to do, but impossible to find some sort of obvious way to do.

    Must have something to do with master pages.

    Master page would certainly be a way to do it. Put the rframe on the master, then substitute ([Ctrl on windows] Cmd + Shift-click on the page docuent to release a Master object) to enter text or remove images or place text in the frame (without replacement) from an external file.

  • The blocks of text and master pages

    You have a question about the layouts and master pages.

    If I build a file to have a left and right master page.  I have a text box to the Center which has a different position, based on the page being left or right facing.

    When I first add pages to the document, all right.  If I change the order of the pages in the text position box so wrong.

    I tried "Snap to Guide" and using "bearings commented.

    Any suggestions?

    BAD advice, Rik.

    Reapply a master page reaffirms all main objects behind those who were previously substituted. The same thing happens when you have facing pages and add or remove an odd number of pages - all pages that change of camp is rebuilt with new frameworks of unreleased masters for executives who have been manually replaced. Text blocks which were published automatically by placing text into it without a manual control must first swap positions, so it seems that the OP publishes masters executives before adding the text.

    A way to minimize the impact would be to allow the adjustment of the layout before adding pages, as long as managers are aligned with guides. You will always get the second image behind, but if she has no line, filling or content may not be a problem. In the show The other hand, if you publish a master frames before entering the text, one wonders why they are on the master page in the first place.

  • Select the block of text of XML structure

    I try to move the specific text blocks created if an XML to import to the bottom of the page (low mounting table) as info Folio and slug.

    I can choose the text associated with an XML "VTag" element, but not the text block. Any help would be appreciated.

    Thank you

    property myHoHoV: {}
    on myLoopLoop (myElement)

    Tell application "Adobe InDesign CS4"
    tell the active document
    the value moreElement for each XML element of myElement
    Repeat with 1 x to (moreElement County)
    the value of element x of moreElement em1
    Select em1
    If (the tag name of the em1 is "VTag1") then
    em2 Set to em1
    Set the properties of the display preferences {horizontal measurement units: inch, vertical measurement units: inches, origin origin: the rule page}
    at the top left anchor the transform value point of reference of the window layout 1
    Select text of em2
    Tell application "Adobe InDesign CS4"
    move the em2 text to {5, 5}
    tell the end
    end if
    Tell me myLoopLoop (point x of the moreElement)
    end repeat
    tell the end
    tell the end
    end myLoopLoop

    Hi Kyran,

    If the previous code has a problem, then try this code below.

    Tell application "Adobe InDesign CS4"
    activate
    the value myPageHeight at the height of the page of the preferences of the document 1 document
    the value myPageWidth to the width of the page of the preferences of the document 1 document
    the value myOldRulerOrigin at the origin of the rule of document 1 display preferences
    the original value of the rule of 1 at the origin of the page display preferences
    Set the zero point of the document 1 to {0, 0}
    the value mapping page active of the active window
    tell document 1
    the pgcnt value to count pages
    Repeat with 1-pgcnt p
    tell the page p
    the txtframe value to count blocks of text
    Repeat with 1-txtframe f
    the value paracnt to count paragraphs of text frame f
    tell text frame f
    Try
    TagName {} Set
    Repeat with 1 paracnt access point
    end game of tagname to (name of the tag to (point 1 of the associate XML elements) paragraph ap) as string
    end repeat
    If ((comte de tagname) is equal to 1) and (each point of tagname contains "VTag1") then
    Select
    move to {0.125, myPageHeight + 0.125}
    on the other
    don't select anything
    end if
    try to end
    tell the end
    end repeat
    tell the end
    end repeat
    tell the end
    activate
    Display dialog "process is complete...". "with the 1 icon
    tell the end

    Concerning

    MANi

Maybe you are looking for

  • tabs in the application syncs between desktop computers running firefox 4?

    I have sync running but app tabs are NOT synchronized. should they be? (in my opinion: Yes!)

  • SMTPEmail changes LabVIEW2013

    I used the vi SMTPEmail email a copy of Θcran in my code LabVIEW 7.1.  Does not work in 2013 of LabVIEW.  You want to know if there are changes in the way that vi works in 2013 before code I listen my IT people.  Does anyone out there use this vi?

  • Windows Update page fails to load

    After that my updates of September, my update page now shows just to the white top with a message in the middle that says page does not load.  Still, Windows Update automatically and download of updates, but I have to stop inorder to install. I used

  • More RAM to HP Pavilion

    I was thinking about buying more memory in my laptop. Now it has 6 gt (actually only 4Gt available) My laptop is HP Pavilion 15-p047no System information: Windows 8.1 AMD Quad - Core A8 - 6410 APU with graphics Radeon R56 GB 1600 MHz DDR3L SDRAM (1 x

  • How to activate thumbnails of images on the files or on the desktop

    can anyone help me on how I can see thumbnails of the pictures on my files or in my office... I'm tired to reopen all the thumbnails of the photos if I'm looking for something, please help me as soon as possible. Thank you Original title: as soon as