Triangular Text Frames

How do I draw triangular text frames in indesign6?

You can delete on corner of a rectangular text frame, or just draw a triangle and make it a text frame (by default, clicking in any shape with the text tool will convert it.

Similar Messages

  • Text alignment inside custom text frame

    I created a custom text frame by combining a triangle and a rectangle using Pathfinder->Add but when I added text, this is how it looked --  but I wanted it to look this way.

    Ketchapay2 wrote:
    Thanks! I'll try that now. UPDATE: When I applied rounded corners, it also rounded the pointer which is supposed to be sharp.
    Well, that used to work, I think.
    In any case, I just tried something else and it seems to work. Make the round corner text frame and the the triangle as you did before. Put the triangle BEHIND the text frame and make the shape. There is however, another potential problem to this technique -- the text will want to flow into the triangle area. I don't think this is escapable without either putting the text into a seond rectangular frame in front, or adding an empty frame in the triangular area and applying text wrap to push the text back into line.
    Peter

  • Need to convert all text frames to intinal caps.

    Hi All,
    I need to convert all text frames in the eps files the text should be first letter to be caps.
    EXAMPLE:
    " The Example Text In The Discussion"   to be " The example text in the discussion "
    I am manually converting around 350 Eps files daily,
    Any help!!!
    regards,
    Vinoth

    Hi Larry,
    Thanks for the reply.
    Yes, excatly we do manually by Type>Change Case>Sentence Case
    But i need this to be done in scripting. My Knowledge in scripting is not good.
    Could you please help me regarding this issue.
    regards,
    Vinoth

  • Text will NOT align to top of text frame

    The text is low in the text frame even though the vertical justification is set to align TOP in the text frame options and the first baseline offset is set to Ascent in baseline options. There is no baseline shift or inset set and align to baseline grid is NOT selected. Any ideas how to fix it so the text is at the top of the box? Thanks!

    @gtingley – did you try:
    1. Copy/Paste the text frame to a fresh document?
    2. Export as IDMS (snippet) file and place it again?
    Just out of fun, did you try to copy/paste the text to a new text frame? Is a object format applied to the text frame? (Just fishing in the dark.)
    Uwe

  • Some pages use master text frame, others don't. Fix?

    It turns out in my document, some of my pages have a master text frame and others don't. Many don't. It must be the way I created the frames, accidentally creating independent frames. Is there a fool proof way not to accieentally create independent frames and is there a good way to make sure all these pages with independent frames are turned back into master text frames?
    What I can do is delete the independent frame, then link the previous frame to the inside of the master text frame (I think I used to drop the link on a ruler too often and that creates an independent frame that is in most cases indistinguishable from a master text frame). This is tedious to do for the entire document. Is there an easier way?

    It sounds like you understand what happened. Clicking the place gun cusror on any type of guide will ignore your master frames. Overriding a master text frame before placing the text and Shift-clicking in the overridden frame will also ignore the master frames on subsequent pages.
    The bes thing you can do is keep your eyse open to watch the shape of the cursor. If ID is going to use an existing frame the cursor will be surrounded by parentheses and a new frame will use a cursor with a square upper left corner. You should also develop the habit of clicking in empty areas away from guides if you are using existing frames -- you don't need to click at the top of these frames.
    It's also possible that you did everything correctly and you are working in a facing pages file and at some point added or deleted a single page somewhere other than the end. That would cause all following pages to switch sides and master objects would be reapplied behind any overridden frames.
    There is no easy way to deal with extra frames. If they are not causing a problem you may be able to simply ignore them.

  • Set top and bottom inset spacing values in Text Frame Options via jsx script

    I am looking for a way to set the top and bottom inset spacing values only to 2 points in Text Frame Options via a .jsx scrpt.
    For years, I have used a script that sets Preferences, such as:
    with(app.storyPreferences){
        opticalMarginAlignment = false;
        opticalMarginSize = 12;                // pts
    I would like to add the code to this same script that would make Top = 0p2 and Bottom 0p2 but leave Left and Right as 0p0.
    Any help would be greatly appreciated.

    Here is the full .jsx file that we now use to set preferences.
    Ideally, this could be modified to include setting any text frame created to have 0p2 inset Top and Bottom, but 0p0 Left and Right:
    //ApplicationTextDefaults
    //An InDesign CS2 JavaScript
    //Sets the application text defaults, which will become the text defaults for all
    //new documents. Existing documents will remain unchanged.
    with(app.textDefaults){
        alignToBaseline = false;        // align to baseline grid
        try {
    //        appliedFont = app.fonts.item("Times New Roman");
            appliedFont = app.fonts.item("Helvetica");
        catch (e) {}
        try {
            fontStyle = "Medium";
        catch (e) {}
        autoleading = 100;
        balanceRaggedLines = false;
        baselineShift = 0;
        capitalization = Capitalization.normal;
        composer = "Adobe Paragraph Composer";
        desiredGlyphScaling = 100;
        desiredLetterSpacing = 0;
        desiredWordSpacing = 100;
        dropCapCharacters = 0;
        if (dropCapCharacters != 0) {
            dropCapLines = 3;
            //Assumes that the application has a default character style named "myDropCap"
            //dropCapStyle = app.characterStyles.item("myDropCap");
        fillColor = app.colors.item("Black");
        fillTint = 100;
        firstLineIndent = "0pt";
    //    firstLineIndent = "14pt";
        gridAlignFirstLineOnly = false;
        horizontalScale = 100;
        hyphenateAfterFirst = 3;
        hyphenateBeforeLast = 4;
        hyphenateCapitalizedWords = false;
        hyphenateLadderLimit = 1;
        hyphenateWordsLongerThan = 5;
        hyphenation = true;
        hyphenationZone = "3p";
        hyphenWeight = 9;
        justification = Justification.leftAlign;
        keepAllLinesTogether = false;
        keepLinesTogether = true;
        keepFirstLines = 2;
        keepLastLines = 2;
        keepWithNext = 0;
        kerningMethod = "Optical";
        kerningValue = 0;
        leading = 6.3;
    //    leading = 14;
        leftIndent = 0;
        ligatures = true;
        maximumGlyphScaling = 100;
        maximumLetterSpacing = 0;
        maximumWordSpacing = 160;
        minimumGlyphScaling = 100;
        minimumLetterSpacing = 0;
        minimumWordSpacing = 80;
        noBreak = false;
        otfContextualAlternate = true;
        otfDiscretionaryLigature = true;
        otfFigureStyle = OTFFigureStyle.proportionalOldstyle;
        otfFraction = true;
        otfHistorical = true;
        otfOrdinal = false;
        otfSlashedZero = true;
        otfSwash = false;
        otfTitling = false;
        overprintFill = false;
        overprintStroke = false;
        pointSize = 6.3;
    //    pointSize = 11;
        position = Position.normal;
        rightIndent = 0;
        ruleAbove = false;
        if(ruleAbove == true){
            ruleAboveColor = app.colors.item("Black");
            ruleAboveGapColor = app.swatches.item("None");
            ruleAboveGapOverprint = false;
            ruleAboveGapTint = 100;
            ruleAboveLeftIndent = 0;
            ruleAboveLineWeight = .25;
            ruleAboveOffset = 14;
            ruleAboveOverprint = false;
            ruleAboveRightIndent = 0;
            ruleAboveTint = 100;
            ruleAboveType = app.strokeStyles.item("Solid");
            ruleAboveWidth = RuleWidth.columnWidth;
        ruleBelow = false;
        if(ruleBelow == true){
            ruleBelowColor = app.colors.item("Black");
            ruleBelowGapColor = app.swatches.item("None");
            ruleBelowGapOverprint = false;
            ruleBelowGapTint = 100;
            ruleBelowLeftIndent = 0;
            ruleBelowLineWeight = .25;
            ruleBelowOffset = 0;
            ruleBelowOverprint = false;
            ruleBelowRightIndent = 0;
            ruleBelowTint = 100;
            ruleBelowType = app.strokeStyles.item("Solid");
            ruleBelowWidth = RuleWidth.columnWidth;
        singleWordJustification = SingleWordJustification.leftAlign;
        skew = 0;
        spaceAfter = 0;
        spaceBefore = 0;
        startParagraph = StartParagraph.anywhere;
        strikeThru = false;
        if(strikeThru == true){
            strikeThroughColor = app.colors.item("Black");
            strikeThroughGapColor = app.swatches.item("None");
            strikeThroughGapOverprint = false;
            strikeThroughGapTint = 100;
            strikeThroughOffset = 3;
            strikeThroughOverprint = false;
            strikeThroughTint = 100;
            strikeThroughType = app.strokeStyles.item("Solid");
            strikeThroughWeight = .25;
        strokeColor = app.swatches.item("None");
        strokeTint = 100;
        strokeWeight = 0;
        tracking = 0;
        underline = false;
        if(underline == true){
            underlineColor = app.colors.item("Black");
            underlineGapColor = app.swatches.item("None");
            underlineGapOverprint = false;
            underlineGapTint = 100;
            underlineOffset = 3;
            underlineOverprint = false;
            underlineTint = 100;
            underlineType = app.strokeStyles.item("Solid");
            underlineWeight = .25
        verticalScale = 100;
    //Units & Increments preference panel
    //Must do this to make sure our units that we set are in points. The vert and horiz
    //units that get set default to the current measurement unit. We set it to points
    //so we can be sure of the value. We'll reset it later to the desired setting.
    with(app.viewPreferences){
        horizontalMeasurementUnits = MeasurementUnits.points;    // Ruler Units, horizontal
        verticalMeasurementUnits = MeasurementUnits.points;        // Ruler Units, vertical
    //General preference panel
    with(app.generalPreferences){
        pageNumbering = PageNumberingOptions.section;    // Page Numbering, View
        toolTips = ToolTipOptions.normal;                    // Tool Tips
    // Not supported in CS4
    //    toolsPalette = ToolsPaletteOptions.doubleColumn;    // Floating Tool Palette
        completeFontDownloadGlyphLimit = 2000;                // Always Subset Fonts...
        try {
            //Wrapped in try/catch in case it is run with CS4 and earlier to avoid the error
            preventSelectingLockedItems = false;                // Needed for CS5+
        catch (e) {}
    //Type preference panel
    with (app.textEditingPreferences){
        tripleClickSelectsLine = true;    // Triple Click to Select a Line
        smartCutAndPaste = true;        // Adjust Spacing Automatically when Cutting and Pasting Words
        dragAndDropTextInLayout = false;    // Enable in Layout View
        allowDragAndDropTextInStory = true;    // Enable in Story Editor
    with(app.textPreferences){
        typographersQuotes = true;            // Use Typographer's Quotes
        useOpticalSize = true;                // Automatically Use Correct Optical Size
        scalingAdjustsText = true;            // Adjust Text Attributes when Scaling
        useParagraphLeading = false;    // Apply Leading to Entire Paragraphs
        linkTextFilesWhenImporting = false;    // Create Links when Placing Text and Spreadsheet Files
    // Missing following (Font Preview Size, Past All Information/Text Only)
    //Advanced Type preference panel
    with(app.textPreferences){
        superscriptSize = 58.3;                // Superscript, size
        superscriptPosition = 33.3;            // Superscript, position
        subscriptSize = 58.3;                // Subscript, size
        subscriptPosition = 33.3;            // Subscript, position
        smallCap = 70;                        // Smallcap
    with(app.imePreferences){
        inlineInput = false;                // Use Inline Input for Non-Latin Text
    //Composition preference panel
    with(app.textPreferences){
        highlightKeeps = false;                    // Keep Violations
        highlightHjViolations = false;            // H&J Violations
        highlightCustomSpacing = false;            // Custom Tracking/Kerning
        highlightSubstitutedFonts = true;    // Substituted Fonts
        highlightSubstitutedGlyphs = false;    // Substituted Glyphs
        justifyTextWraps = false;                // Justify Text Next to an Object
        abutTextToTextWrap = true;                // Skip by Leading
        zOrderTextWrap = false;                    // Text Wrap Only Affects Text Beneath
    //Units & Increments preference panel
    with(app.viewPreferences){
        rulerOrigin = RulerOrigin.spreadOrigin;                    // Ruler Units, origin
    //    These are set at the end of the script after all the changes have been made
    //    horizontalMeasurementUnits = MeasurementUnits.points;    // Ruler Units, horizontal
    //    verticalMeasurementUnits = MeasurementUnits.inches;        // Ruler Units, vertical
        pointsPerInch = 72;                    // Point/Pica Size, Points/Inch
        cursorKeyIncrement = 1;                // Keyboard Increment, Cursor Key
    with(app.textPreferences){
        baselineShiftKeyIncrement = 2;    // Keyboard Increment, Baseline Shift
        leadingKeyIncrement = 2;        // Keyboard Increment, Size/Leading
        kerningKeyIncrement = 20;            // Keyboard Increment, Kerning
    //Grids preference panel
    with(app.gridPreferences){
        baselineColor = UIColors.lightBlue;    // Baseline Grid, Color
        baselineStart = 48;                        // Baseline Grid, Start
        baselineDivision = 6;                    // Baseline Grid, Increment Every
        baselineViewThreshold = 50;                // Baseline Grid, View Threshold
        baselineGridRelativeOption = BaselineGridRelativeOption.topOfPageOfBaselineGridRelativeOption;    // Baseline Grid, Relative To
        gridColor = UIColors.lightGray;            // Document Grid, Color
        horizontalGridlineDivision = 12;    // Document Grid, Horizontal, Gridline Every
        horizontalGridSubdivision = 12;            // Document Grid, Horizontal, Subdivisions
        verticalGridlineDivision = 12;            // Document Gird, Vertical, Gridline Every
        verticalGridSubdivision = 12;            // Document Grid, Vertical, Subdivisions
        gridsInBack = true;                        // Grids in Back
        documentGridSnapto = false;                // snap to grid or not
        documentGridShown = false;                // show document grid
    //Guides & Pasteboard preference panel
    with(app.documentPreferences){
        marginGuideColor = UIColors.violet;                // Color, Margins
        columnGuideColor = UIColors.magenta;            // Color, Columns
    with(app.pasteboardPreferences){
        bleedGuideColor = UIColors.fiesta;                // Color, Bleed
        slugGuideColor = UIColors.gridBlue;                // Color, Slug
        previewBackgroundColor = UIColors.lightGray;    // Color, Preview Background
        minimumSpaceAboveAndBelow = 72;                    // Minimum Vertical Offset
    with(app.viewPreferences){
        guideSnaptoZone = 4;                            // Snap to Zone
    with(app.guidePreferences){
        guidesInBack = false;                            // Guides in Back
    //Dictionary preference panel
    with(app.dictionaryPreferences){
        composition = ComposeUsing.both;    // Hyphenatin Exceptions, Compose Using
        mergeUserDictionary = false;    // Merge User Dictionary into Document
        recomposeWhenChanged = true;    // Recompose All Stories When Modified
    // Missing (Lang, Hyph, Spelling, Double Quotes, Single Quotes)
    //Spelling preference panel
    with(app.spellPreferences){
        checkMisspelledWords = true;                    // Find, Misspelled Words
        checkRepeatedWords = true;                        // Find, Repeated Words
        checkCapitalizedWords = true;                    // Find, Uncapitalized Words
        checkCapitalizedSentences = true;                // Find, Uncapitalized Sentences
        dynamicSpellCheck = true;                        // Enable Dynamic Spelling
        misspelledWordColor = UIColors.red;                // Color, Misspelled Words
        repeatedWordColor = UIColors.green;                // Color, Repeated Words
        uncapitalizedWordColor = UIColors.green;    // Color, Uncapitalized Words
        uncapitalizedSentenceColor = UIColors.green;    // Color, Uncapitalized Sentences
    //Autocorrect preference panel
    with(app.autoCorrectPreferences){
        autoCorrect = true;                            // Enable Autocorrect
        autoCorrectCapitalizationErrors = false;    // Autocorrect Capitalization
    // Missing (Language, Misspelled word pairs)
    //Display Performance preference panel
    with(app.displayPerformancePreferences){
        defaultDisplaySettings = ViewDisplaySettings.typical;    // Preserve Object-Level
        persistLocalSettings = false;
    // Missing (antialiasiing, greek below
    //Story Editor Display preference panel
    with(app.galleyPreferences){
        textColor = InCopyUIColors.black;                // Text Color
        backgroundColor = InCopyUIColors.white;            // Background
        smoothText = true;                                // Enable Anti-Aliasing
        antiAliasType = AntiAliasType.grayAntialiasing;    // Type
        cursorType = CursorTypes.standardCursor;    // Cursor Type
        blinkCursor = true;                                // Blink
    // Missing (Font, Size, Line Spacing & Theme)
    //File Handling preference panel
    with(app.generalPreferences){
        includePreview = true;                        // Always Save Preview Images with Doc
        previewSize = PreviewSizeOptions.medium;    // Preview Size
    with(app.clipboardPreferences){
        preferPDFWhenPasting = false;                // Prefer PDF When Pasting
        copyPDFToClipboard = true;                    // Copy PDF to Clipboard
        preservePdfClipboardAtQuit = false;            // Preserve PDF Data at Quit
    // Missing (Enable Version Cue)
    //    Optical margin (hanging punctuation, outside margins)
    with(app.storyPreferences){
        opticalMarginAlignment = false;
        opticalMarginSize = 12;                // pts
    //Wrap Up (do at end of script)
    //Units & Increments preference panel
    //Must do this to make sure our units that we set are in points. The vert and horiz
    //units that get set default to the current measurement unit. We set it to points
    //so we can be sure of the value. We'll reset it later to the desired setting.
    with(app.viewPreferences){
        horizontalMeasurementUnits = MeasurementUnits.picas;    // Ruler Units, horizontal
        verticalMeasurementUnits = MeasurementUnits.inches;    // Ruler Units, vertical
    //    These two flags are turned off to avoid the error message about
    //    missing image links when InDesign opens an ad. This can especially
    //    be a problem when doing batch processes.
    with(app.linkingPreferences){
        checkLinksAtOpen = false;            // checkbox: true/false
        findMissingLinksAtOpen = false;        // checkbox: true/false

  • InDesign Text frame options - how to reset?

    Working in InDesign CC 2014.
    I have somehow set my text frame options so that when I use the type tool to create a text frame, columns are added as I make the box wider.
    I know that I want Columns - Fixed number of 1, because I  have found the settings I want by opening a new doc and creating a basic text frame and looking at the settings.
    In my working doc, when I change the text frame option settings, they will not "stick" and I can only create text frames with columns, and the width increases incrementally.
    Only way I can make the basic text frames I want is to copy a basic empty frame from a new doc and paste into my working doc.
    How can I get the settings I make to "stick"?
    Thanks!

    Open the Basic Text Frame Object Style, and fix your column settings there. Your new text boxes are based on those settings.

  • Object - Text Frame Options

    Why do my Object, text frame options, inset spacing settings change when I close and open my document.I set my inset spacing to 0.125 an all and when I close the document and open it later it is all set back to 0.  Any suggestions?  My defalut settings are 0.125

    I did this.  I open in design but no doc's set inset to .125 and  then open a doc and it is set to 0.125.  I use it and save it when I open it again it is set at 0.  But the pages I created previously are set to 0.125.  Could it be something else in a default somewhere?

  • Text Frame Options. Room for Side Heads added without warning

    Hi -
    I just got asked this and have no clue how to help. Anyone know what this is?
    Every now and then, my Frame file will –apparently on its own – reset most of its text frames into having room for side heads.  Makes for lots of bad labels on graphics – everything’s suddenly offset and scrolling off the bottom.
    This will happen suddenly.  It will usually be only one or two chapters in a book, but if I ignore it has been known spread like the black death throughout the book.
    The only solution I’ve found so far has been to revert to a backup or touch each text frame individually.  Setting properties for two at a time messes up location on the page.

    HI -
    Here's what I heard back.
    I believe it’s for everything except main text flow, including headers&footers on master pages, and special elements on unused master pages.
    It appears to be spontaneous, but I can’t guarantee that.
    I don’t use MIFs, and I’m pretty sure no one else does.
    Yes to formatting imports , because we frequently change variables in one chapter and copy them back to the rest (esp date doc was last edited – not same as print date per our regulatory agency.)   Likewise conditional text.  We know not to copy from a file into itself in a book, although it has happened and we do exchange manuals between revisions at times.

  • Text Frame Options

    Hi, I am using CS6 in Saudi-Arabia. When I put a new text frame with more than one column on a page, the cursor automatically jumps to the right column. In English texts I can't get it to start on the top of the left column. Who can help?

    Are using indesgn ME?, try to draw text frame with Type Tool (T) and not ME Type Tool, and make sure the language is english on control panel.

  • ID CS3 - text wrap doesn't work at the end of a long multi-columned text frame

    Did a search - don't think this specific issue has been addressed:
    We design large graphics often used on walls. When working with a text frame that that was 11 feet long and had 8 columns, text wrap would not work on an image placed in the last column. The same image with the same text wrap applied will work fine anywhere else in the text frame. I found that if I shortened the width of the text frame a little bit at a time eventually it would work, but there doesn't seem to be a specific cut-off width - sometimes the last column won't text wrap when the frame is 115 inches wide and sometimes it doesn't work when the frame is only 80 inches wide. Again, all of the other columns work fine. I have tried all of the obvious stuff, the only variable between the columns that wrap and the one that doesn't is it's position at the end of the text frame.
    We have gotten around this issue by using multiple threaded frames instead of one long frame with multiple columns, but I am curious if anyone else has run into this or might know what the issue is.
    thanks

    Did a search - don't think this specific issue has been addressed:
    We design large graphics often used on walls. When working with a text frame that that was 11 feet long and had 8 columns, text wrap would not work on an image placed in the last column. The same image with the same text wrap applied will work fine anywhere else in the text frame. I found that if I shortened the width of the text frame a little bit at a time eventually it would work, but there doesn't seem to be a specific cut-off width - sometimes the last column won't text wrap when the frame is 115 inches wide and sometimes it doesn't work when the frame is only 80 inches wide. Again, all of the other columns work fine. I have tried all of the obvious stuff, the only variable between the columns that wrap and the one that doesn't is it's position at the end of the text frame.
    We have gotten around this issue by using multiple threaded frames instead of one long frame with multiple columns, but I am curious if anyone else has run into this or might know what the issue is.
    thanks

  • How to link text frames in Pages 5.2?

    How to link text frames in Pages 5.2?

    The correct term in Pages is Text Boxes, and true linking is not implemented in v5.2. You can Unite, Intersect, Subtract, and Exclude multiple Text Boxes via the Arrange panel. These attributes only appear when two or more Text Boxes are selected. Also, on the Arrange menu, you will need Object Placement set to Move with Text, and the Text Wrap set to None for more accurate positioning.
    In the following example, there was initially a Text Box with overflowing text that was duplicated. With both Text Boxes selected and aligned, I could then use the Unite feature from the Arrange panel. This allowed the text to flow into the second box. Selecting text in one box and dragging upwards continues the text selection between both boxes. Hoefler italic applied in one box is applied to both. Appropriately placed, another trip to the Arrange panel to enable Text Wrap around and text fit adjustments.

  • Double-click to enter a text frame - selecting text unresponsive

    Ok.
    So frustrating...I haven't been able to find a solution to this anywhere online.
    Let's say I've got an InDesign document open, and have my selection tool (V).
    I double click on a text frame (that is full of text), see that there is now a cursor inserted in the text frame, so I go to swipe or double-click to select/highlight some text, and NOTHING HAPPENS (it is unresponsive).
    I wait a second, and then I can select text.
    But this was not an issue in CS6 on the Mac I used to use for almost 2 years. 
    I could double click on a text frame and quickly swipe text to select, it was very fast.  This second-long delay in responsiveness trips me up every time, disrupts my flow and is really, really annoying when I am selecting and editing different text boxes hundreds of times all day long.  I am using ID CC on a Windows machine now, but the CPU is super fast (16 GB ram, i7 processor) and should not be having any lag issues in InDesign. 
    Does anyone else have this problem?  Is there something in the InDesign preferences that I can change, or is this a bug?

    de_fault, please send a complaint to Adobe otherwise they won't fix it:
    Adobe - Feature Request/Bug Report Form
    Problem description: When switching from the Selection tool to the Text tool (by double-clicking in a text box) there is a 1-2 second delay before you can select text.
    Steps to reproduce bug:
    1. Make a text box and fill with text
    2. Select the Selection tool (V)
    3. Double-click in the text box so that you see a cursor
    4. Immediately try to select text
    Results:  You have to wait 1-2 seconds before you can select text.
    Expected results:  There should not be a delay.  There was no delay in previous versions.

  • Data merging: how to get multiple records in single text frame?

    Hi
    I'm experimenting with data merging in InDesign CS3. The biggest stumbling block I've come across is trying to get my records to flow as continuous text in a single text frame (which would, ideally, autoflow onto new pages in the document). The records vary considerably in length, and so I can't just create a standard text frame to repeat on the page.
    Perhaps data merging isn't the best way of doing this and I should be learning to script instead. I feel like I'm just one step away, though.
    Any suggestions would be appreciated.

    OK, new scenario now:
    Is it possible to set a text box to auto-resize to fit the content that comes in during the data merge?
    I have placed one of my data fields in a text box with a stroke and fill, and placed this as an anchored object in the main text box with the other fields. The problem is that the length of text in this field varies considerably, and I'd like the text to fit snugly within its box. Ideally this text box would not appear at all if the field is blank for a particular record.
    I hope I've explained all of that clearly enough. Any ideas?

  • How do I create a series of text frames using values from Excel list?

    First of all, this is the very first script I'm attempting to write from scratch. I'm completely green at scripting, and I've picked up a few snippets from Adobe's ID scripting guide, but nothing has really stuck yet relating to this particular objective.
    My supervisor keeps a master list of ad spaces, with the name of the account, how wide the space is, and how tall the space is, all in an Excel sheet. These spaces can number in the hundreds, and I am stuck manually drawing one rectangle for every space, which takes a very long time.
    I'd like to create/have help creating a script that will take these values and "automagically" draw these spaces in the form of text frames, with the width (in columns) and the height (in inches) defined by the values in the master list, as well as the name of each account appearing in the subsequent text frames.
    The script doesn't necessarily need to be able to pull the values straight from the Excel sheet; I can transfer the values to a support text file if needed, or directly into the script, changing it as I need it. A big thing (if it is not able to pull right from an Excel sheet) is that the number of spaces changes weekly, and so do the accounts, and the width and the height. Accordingly, it would be ideal if the values from the sheet could be changed easily, so as to create a new set of spaces as needed.
    Positioning for each space is not crucial, only height and width. If they all appear on top of each other on the same page, that will be a result for me. The main idea is to not have to draw them all manually, one by one.
    To me, this sounds like a tall order, but hopefully some experienced scripters out there can assist me, as I wish to become experienced as well.
    So, the TL;DR version:
    - Script needs to draw a series of text frames.
    - Text frames dimensions need to be defined by width and height values from Excel sheet.
    - Text frames must have account name as contents (from account names in Excel sheet).
    - Accounts, width and height change every week in the Excel sheet, so must be relatively easy to exchange all of the values.
    - The width values are on the Excel sheet as columns. It would be ideal if the script could convert those numbers into multiples of columns as needed.
    - (Optional) Script can pull values directly from Excel sheet.
    - (Optional) Script can define text frame fill color as gray. (If it works as I think it will, I could just select all the resulting text frames myself and set them all to gray at once... I'm not that lazy )
    Thanks in advance to whomever can assist in any possible way, even if it is just a push in the right direction. This script will save 1-2 hours of tedium every week.

    Sound like the perfect thing for InDesign Scripting.
    I would copy the Excel contents into a text file, to get a format that is easily read from InDesign, and there will automatically be a TAB for each "cell" just using copy/paste.
    Here is a piece of code, that you perhaps could go on with (adding variable to change pages and location on page, and other stuff).
    The readFileLineByLine function, can be easily re-used with any function using "callback". You simply supply the function to it, that you want to be executed for every line of text that is read:
    const COLUMN_WIDTH = 2; // Define the column width in inch
    var pageIndex;
    var textFramesExported; // not implemented.
    // Add a new dokument. Set myDoc to app.activeDocument to use
    // the current document instead of creating a new one.
    var myDoc = app.documents.add();
    // The doSomethingWithTextRow function is called upon for every line of text read.
    readFileLineByLine('c:\\test.txt', doSomethingWithTextRow);
    function doSomethingWithTextRow(row){
        // We expect the text line to be TAB separated (\t = TAB). We get that from just copying the contents of an
        // excel file into a text document.
        var cells = row.split('\t');
        var companyName = cells[0]; // The Company name in the first slot of the array
        var width = COLUMN_WIDTH * cells[1];
        var height = cells[2];
        // Create a new text frame for every row handled
        if (pageIndex==undefined) pageIndex = 0; // Count up when you have exported a number of texts, I leave this for you to do.
        var newTextFrame = myDoc.pages[pageIndex].textFrames.add();
        newTextFrame.contents = companyName;
        // The text frame is created in the top left corner.
        newTextFrame.geometricBounds = [0, 0, height + ' in', width + ' in']; // Top, Left, Bottom, Right
        // You might want to move the textframes to other positions, keeping track of how many you put out per page.
        newTextFrame.move( [10, 10] );
    function readFileLineByLine(path, callbackFn){
        var myFileIn = new File(path);
        if (File.fs == 'Windows'){
            // This was probably added to recognize UTF-8 (even without its start marker?)
            myFileIn.encoding = 'UTF-8';
        myFileIn.open('r');
        var myEncoding = myFileIn.encoding;
        try{
            if (!myFileIn.exists){
                throw('Missing file: ' + myFileIn.fsName)
            var ln = '';
            while(!myFileIn.eof){
                // Read the lines from the file, until an empty line is found [now as a remark].
                ln = myFileIn.readln()
                // if(ln !='' && ln!='\n'){
                   // Call the function supplied as argument
                   callbackFn(ln);
        }catch(e){
            alert(e);
            gCancel = true;
        finally{
            myFileIn.close();
    The file in C:\ in my example was saved as UTF-8 and looks like this (showing hidden characters):
    Message was edited by: Andreas Jansson

Maybe you are looking for