[JSX] To "apply" a paragraph by changeGrep() #override Style

Hi mates,

In my document, I temporarily use a special character (U + E100) used marker to apply a specific paragraph style:

GrepRestyle01.png

My script uses then changeGrep() both remove this marker and change the paragraph style to the corresponding location. It looks like this:

var myDoc = app.properties.activeDocument,
    myBoldStyle = myDoc.paragraphStyles.itemByName('MyBoldStyle');

// Init.
app.findGrepPreferences = app.changeGrepPreferences = null;

// Find the marker U+E100
//    + the next char (captured in $1)
app.findGrepPreferences.findWhat = "\uE100(.)";

// Preset changeGrep so that it both removes the
// marker and change the paragraph style.
app.changeGrepPreferences.properties = {
    changeTo: '$1',
    appliedParagraphStyle: myBoldStyle,
};

// Go!
myDoc.changeGrep();

Note that findWhat is seeking two characters: the "\uE100" marker and the next character that is stored in $1 with parentheses in the model "\uE100 (.)" . Then changeGrepPreferences is preset so that the entire capture is converted into $ 1 (which removes the marker) while assigning the desired paragraph style (myBoldStyle).

But I have two different results on two different platforms:

GrepRestyle02.png

GrepRestyle03.png

First result is of course what I was expecting. On platform 2, however, the paragraph style is applied but the first character - in other words, our variable $1 in the GREP command - seems to retain its former attributes. In other words, the myBoldStyle does not replace the text formatting even though it was generally assumed that changeText/changeGrep commands with an appliedParagraphStyle property should run in mode of compensation. (See for example these discussions: changeGrep() clears the substitutionsor preserve manual overrides .)

My guess is, in fact, there is some preference Application or Document that controls this behavior, or maybe something related to the mechanism by default paragraph style, but I can't find the needle in a haystack and not a generic solution to this problem. In the #2 case everything happens as if $ 1 was "copied" with its own attributes, and then somehow the style applied, and then "glued" $1

Any clue?

Thanks for your help.

@+

Marc

Hello

It was strange, after I posted my reply, I have changed the preferences through the UI and it did make the difference. I have police Lucia used to test that isn't a glyp for e100, I used demibold in the paragraph style that the police is not a bold style.

With preferences set to protect, the 1st character was not in bold print and when the preference was not set to protect, the 1st character as in bold.

You two should be able to reproduce it using the user interface.  I did not try to change preferences by script.

HTH

Trevor

Tags: InDesign

Similar Questions

  • Apply the paragraph using Enter/Return style works only on empty paragraphs

    The InDesign CS4 document, I'm working on that has paragraph styles based on other paragraph styles. For example, the following chapter for BodyFirst style is body. Hit Enter/Return after typing a BodyFirst applies in subsection empty body, no problem.

    However, I sometimes already existing text that needs to be reformatted. For example, BodyFirst may be followed by Heading1, but Heading1 must be changed in body.

    I'm used to FrameMaker, where you can go back the Heading1 paragraph so that BodyFirst and Heading1 are in the same paragraph and then press enter/return to change quickly the correct paragraph style Heading1, body style. However, InDesign repeat the last style when I press enter/return, so that in this example, I find myself with followed BodyFirst of another BodyFirst.

    Is it possible to change this so that the following paragraph style is correct by hitting enter/return by using already existing text?

    Select the paragraphs, and then right-click (ctrl-click on Mac) on the name of the paragraph style in the paragraph Styles Panel. It should give you the possibility of style "of paragraph 1 ', then the following Style.

  • Why apply a paragraph style let substitutions sometimes? How to prevent this?

    Sometimes when I apply a paragraph of a text style he chooses replace some attributes, making me have click on the button "ignore substitutions" constantly. If I tell indesign to apply a paragraph style why it assumes that my intention was not to implement also the font weight or other random attributes? I can't seem to find the reason for it or how to prevent it, your time and cause errors of formatting if I missed something. Any ideas? No style of characters used in the document.

    Thank you!

    If you want to remove manual replacements you must hold down the ALT key when you apply the style.

    And for the local formatting, you must use character styles.

  • Automatic table row apply the paragraph style

    Hello

    I am new to scripting in Indesign. I would like to write a script to apply a paragraph on a line style in a table like this:

    1 search for the string 'XX' in a table

    2. when the 'XX' string is found, apply a paragraph style named "ParA" to the line that contains the string "XX".

    3. apply a cell style named "CellA" to the cell that contains the sting "XX".

    4. apply the style of paragraph called 'Service' to the string "XX".

    5 search for the string "XX" to the end of the table

    Can someone help me?

    Hi Syd,

    For the selected table, use the below a.

    var doc = app.activeDocument,
        _tables = app.selection[0],
        i, j, k, l, a =0, _rows,_cells, rowlen; 
    
    _rows = _tables.rows;
    for(k =0;k<_rows.length;k++)
    {
        _cells = _rows[k].cells;
        for(l =0;l<_cells.length;l++)
        {
            if(_cells[l].contents == "xx")
            {
                rowlen = _cells[l].parent.cells.length;
                a = 0;
                while(rowlen--)
                {
                      _cells[l].parent.cells[a].paragraphs.everyItem().appliedParagraphStyle = doc.paragraphStyles.item("ParA");
                      a++;
                    }
                _cells[l].paragraphs.everyItem().appliedParagraphStyle = doc.paragraphStyles.item("ParB");
                _cells[l].appliedCellStyle = doc.cellStyles.item("CellA");
                }
            }
        }
    

    Kind regards

    Cognet

  • Script will not apply the paragraph style

    Hello

    I'm new to scripting in InDesign (CS3), and I'm trying to understand why the scipt below does not apply a style in the following text file? :

    < ASCII-WIN >

    < ParaStyle: Heading 1 > who are we? < ParaStyle >:

    For ease of reading, I have shortend the text file to just two lines.

    The script that I use to open and to format the text file is:

    Create a new document.

    myDocument var = app.documents.add ();

    Set the units of measure and the origin of the rule.

    myDocument.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.points;

    myDocument.viewPreferences.verticalMeasurementUnits = MeasurementUnits.points;

    myDocument.viewPreferences.rulerOrigin = RulerOrigin.pageOrigin;

    Get a reference to the first master spread.

    var myMasterSpread = myDocument.masterSpreads.item (0);

    Get a reference to preferences on the margins of the first page in the Master spread.

    var myMarginPreferences = myMasterSpread.pages.item (0) .marginPreferences;

    Now set up the page margins and columns.

    myMarginPreferences.left = 4;

    myMarginPreferences.top = 70;

    myMarginPreferences.right = 70;

    myMarginPreferences.bottom = 78;

    myMarginPreferences.columnCount = 2;

    myMarginPreferences.columnGutter = 14;

    The margins of page and columns for the right-hand page.

    var myMarginPreferences = myMasterSpread.pages.item (1) .marginPreferences;

    myMarginPreferences.left = 48;

    myMarginPreferences.top = 70;

    myMarginPreferences.right = 70;

    myMarginPreferences.bottom = 78;

    myMarginPreferences.columnCount = 3;

    myMarginPreferences.columnGutter = 14;

    Adding Master Page items

    var myMasterSpread = myDocument.masterSpreads.item (0);

    var myLeftPage = myMasterSpread.pages.item (0);

    var myRightPage = myMasterSpread.pages.item (1);

    var myLeftFooter = myLeftPage.textFrames.add ();

    myLeftFooter.geometricBounds = [70, 742, 728, 528];

    myLeftFooter.textFramePreferences.firstBaselineOffset = FirstBaseline.leadingOffset;

    myLeftFooter.contents = SpecialCharacters.autoPageNumber;

    myLeftFooter.parentStory.characters.item (0) .pointSize = 11;

    myLeftFooter.parentStory.characters.item (0) .leading = 14;

    var myRightFooter = myRightPage.textFrames.add ();

    myRightFooter.geometricBounds = [48, 742, 728, 542];

    myRightFooter.textFramePreferences.firstBaselineOffset = FirstBaseline.leadingOffset;

    myRightFooter.contents = SpecialCharacters.autoPageNumber;

    myRightFooter.parentStory.characters.item (0) .pointSize = 11;

    myRightFooter.parentStory.characters.item (0) .leading = 14;

    myRightFooter.parentStory.characters.item (0) .justification = Justification.rightAlign;

    Adding master text frames

    var myLeftPage = myMasterSpread.pages.item (0);

    var myRightPage = myMasterSpread.pages.item (1);

    var myLeftTextFrame = myLeftPage.textFrames.add ();

    myLeftTextFrame.geometricBounds = [70, 70, 714, 528];

    myLeftTextFrame.textFramePreferences.firstBaselineOffset = FirstBaseline.leadingOffset;

    myLeftTextFrame.textFramePreferences.textColumnCount = 3;

    myLeftTextFrame.textFramePreferences.textColumnGutter = 14;

    Add a label to make the image easier to find later.

    myLeftTextFrame.label = "BodyTextFrame";

    var myRightTextFrame = myRightPage.textFrames.add ();

    myRightTextFrame.geometricBounds = [70, 48, 714, 542];

    myRightTextFrame.textFramePreferences.firstBaselineOffset = FirstBaseline.leadingOffset;

    myRightTextFrame.textFramePreferences.textColumnCount = 3;

    myRightTextFrame.textFramePreferences.textColumnGutter = 14;

    Add a label to make the image easier to find later.

    myRightTextFrame.label = "BodyTextFrame";

    Link the two frames using the nextTextFrame property.

    myLeftTextFrame.nextTextFrame = myRightTextFrame;

    The substitution of Master Page points and adds text

    var myTextFrame = myDocument.masterSpreads.item (0).pages.item (1).textFrames.item (0) .override (myDocument.pag es.item (0));

    Add text by setting the contents of the insertion of a string.

    In JavaScript, "\r" is a return character.

    .silence myTextFrame.insertionPoints.item (0) = "dok\r";

    Adding and applying a paragraph Style

    var myParagraphStyle = myDocument.paragraphStyles.item ("title 1");

    try {}

    var myName = myParagraphStyle.name;

    }

    {} catch (MonErreur)

    //The style of paragraph don't have not exist, so create it.

    myParagraphStyle = myDocument.paragraphStyles.add ({name: 'Title 1'});

    }

    We need to create a color. Check if the color already exists.

    myColor var = myDocument.colors.item ("Green");

    try {}

    myName = myColor.name;

    }

    {} catch (MonErreur)

    //The color have not exist, so create it.

    myColor = myDocument.colors.add ({name: 'Green', model: ColorModel.process, colorValue:[100,0,100,0]});})

    }

    Now set the formatting of the paragraph style.

    myParagraphStyle.appliedFont = "Arial";

    myParagraphStyle.fontStyle = "Bold";

    myParagraphStyle.pointSize = 24;

    myParagraphStyle.spaceAfter = 24;

    myParagraphStyle.spaceBefore = 24;

    myParagraphStyle.fillColor = myDocument.colors.item ("Green");

    Apply the style to the paragraph.

    myDocument.pages.item (0).textFrames.item (0).paragraphs.item (0) .applyParagraphStyle (myParag raphStyle, true);

    You can also use:

    myDocument.pages.item (0).textFrames.item (0).paragraphs.item (0) .appliedParagraphStyle = //myParagraphStyle;

    Import a text file

    Display a standard dialog box open the file to select a text file.

    var monFichierTexte is File.openDialog ("choose a text file");.

    If you selected a text file, and if you didn't press Cancel,

    Place the file of text on the first insertion point after the title.

    If ((monFichierTexte! = "") & & (monFichierTexte!) (= null)) {}

    myTextFrame.insertionPoints.item(-1).place (myTextFile);

    }

    Place a graphic

    Display a standard dialog box open the file to select a graphic file.

    var myGraphicFile is File.openDialog ("choose a graphic file");.

    If you have selected a graphics file, and if you didn't press Cancel,

    Place the graphic file on the page.

    If ((myGraphicFile! = "") & & (myGraphicFile!) (= null)) {}

    var myGraphic = myDocument.pages.item (0) .place (myGraphicFile);

    //Since you can place multiple graphics at once, the place method

    //returns a table. For the graph you have placed, get the first

    //item in the table (beginning of JavaScript arrays with element 0).

    myGraphic = myGraphic [0];

    //Create a style object to apply to the graphic image.

    var myObjectStyle = myDocument.objectStyles.item("GraphicFrame");

    try {

    var myName = myObjectStyle.name;

    }

    catch (MonErreur) {}

    //The an object style have not exist, so create it.

    myObjectStyle = myDocument.objectStyles.add({name:"GraphicFrame"});)

    }

    myObjectStyle.enableStroke = true;

    myObjectStyle.strokeWeight = 3;

    myObjectStyle.strokeType = myDocument.strokeStyles.item("Solid");

    myObjectStyle.strokeColor = myDocument.colors.item("Green");

    //The frame containing the graphic is the parent of the graphic.

    myFrame var = myGraphic.parent;

    myFrame.applyObjectStyle (myObjectStyle, true);

    //Resize the frame to a specific size.

    myFrame.geometricBounds = [0,0,600,600];

    //Fit the graph in the image proportionally.

    myFrame.fit (FitOptions.proportionally);

    / / Next, mount the frame to the resized image.

    myFrame.fit (FitOptions.frameToContent);

    var myBounds = myFrame.geometricBounds;

    var myGraphicWidth = myBounds [3] - myBounds [1];

    //Move the graphic frame.

    var myPageWidth = myDocument.documentPreferences.pageWidth;

    var myTopMargin = myDocument.pages.item (0).marginPreferences.top;

    myFrame.move ([myPageWidth-myGraphicWidth, myTopMargin]);

    //Apply a wrap to the graphic frame.

    myFrame.textWrapPreferences.textWrapType = TextWrapTypes.boundingBoxTextWrap;

    myFrame.textWrapPreferences.textWrapOffset = [12, 24, 12, 24].

    }

    I hope someone can point me in the right direction.
    Thanks in advance.
    Ron

    Hey, Ron.

    The problem has nothing to do with your script. You can see if you attempt to place the file from indesign tagged text by hand.

    Your instinct for divide and conquer for debugging is a good - have a short text file to work with is very useful - of course this is also true for the script.

    During the validation of the scripts on the forum, please do not use the syntax insert > feature Java which lies behind the > arrow in the toolbar. Otherwise, cut and paste your script are difficult requiring manual corrections.

    Anyway, your problem is that each paragraph can have only a single paragraph style, and it's the last one that you define.

    So in your IDTT file, you set the heading 1 paragraph style, enter the content of the paragraph and then set the style of paragraph votes to zero.

    If you have included a line break before setting the style of paragraph votes to zero, you must set the None style for the following paragraph. But since you have not, it resets just the style to the current paragraph.

    In short: success back before .

  • WTH?  I have a gap in the text that I can't fill.  There is no hidden formatting that I can find, and I apply a paragraph style to text.

    WTH?  I have a gap in the text that I can't fill.  There is no hidden formatting that I can find, and I apply a paragraph style to text.

    I'm not well-versed in indesign, but what I've discovered, is that the box around the page number on the master was wrapping text, which was originally my text to break around her at the center bottom of the pages.  Problem solved, and amiellemiel is right.

  • How to apply a paragraph type to a specific character?

    Hi all

    I'm quite new with scripts and don't know much, but I have an InDesign document with a lot of balls and I need to apply a paragraph style to all these bullets, without having to manually select all the.

    Is it possible that I could do this? I tried to change some existing scripts, I found, but I don't understand enough of it to make it work.

    Thanks for your help!

    You don't need a script for this. Just search for fleas and apply

    a paragraph style using the find/replace regular user interface. If you need more

    more details, better ask in the forum on a regular basis.

  • retention of the words italic when you apply the paragraph style

    When you place text in InDesign, I want to apply a paragraph style, but keep some (foreign) words in italics without having to search for each word and apply the italic character style. Texts are long and not originated by myself.

    The most recommended book for beginners here on the forum is Visual QuickStart of Sandee Cohen for InDesign. The 'bible' in my opinion, for very advanced users is Real World InDesign.

  • Apply a paragraph style to the first cell in the first row of a table

    I want to apply a paragraph style to the first cell in the first row of a table.

    I use JavaScript with ID CS 5.

    Thank you.

    . aragraphStyles.itemByName ("NameOfStyle") .p appliedParagraphStyle = app.activeDocument.paragraphStyleGroups.itemByName ("NameOfGroup")

  • Default fonts to 50 points when you apply a paragraph style

    I ran into this many times.  To update a file, InDesign from a previous version (now using CS5) when I apply a paragraph style, the default font is 50 points no matter the style settings.  Is it possible to avoid this.  Currently, I copy and paste the chart into a new file and have to set the text.  If I copy some old text, it causes the same problem.

    Most of our text is copied and pasted from Microsoft Word (old version and new text changes), however, the text that was already in the document and the new text both do the same thing when a style is applied.

    CS5

    Win 7 Pro 64-bit

    Your styles are based on standard paragraph, or is it an applied character style? If so, check to see if any of them have 50 as the size.

  • How to apply the paragraph style to all paragraphs

    Hi people,

    Simple question. New to JS script here (but so far love it).

    I am trying to apply a paragraph (myTextStyle) style to all paragraphs in a story.

    Right now, I set it up as follows:

    tabletDocument.pages.item (0).textFrames.item ("story").paragraphs.item (0) .applyParagraphSty (myTextStyle, true);

    Obviously, it's just the first paragraph - item (0)-, but no changes to the code it throws.

    Can I implement something to it or a beach (first to last), so it will apply to all of them?

    Thanks in advance!

    N

    Just set the property .appliedParagraphStyle on the whole story.

  • A paragraph style can be applied to paragraphs replacing?

    Is it possible to apply a paragraph style to all paragraphs in a text block?  I tried to do over the years, but have not thought about it.  I try to check the appearance of the tractor paper green-Bar - memory that seems like decades ago.

    My current project is a directory of the long staff which contains several pieces of data in lines (each line is a paragraph).  I know how to apply a paragraph style that applies at a glance 'green bar' to a paragraph.  My goal now is to understand how to apply it to other paragraphs or lines in my document.

    I ended up apply styles manually in a sort of mind-numbing trance of repeated key strokes.  Certainly not the right answer, but the work is done and my boss is happy.

    I really like to be in this state of trance. Sick, I know. Unfortunately, I discovered that I could select a bunch of text with the text tool, and then right-click on a style and choose "Apply Style, then next Style." As a result, I found myself with fewer opportunities to make 10-key style-application meditation.

  • ID CC 2015 crashes as soon as I (try to) apply the paragraph style to the text.

    I work on a Mac Pro (mid-2009), OS X 10.10.4, 16 GB of RAM

    Original hard drive is 1 TB (where applications are installed), second drive (designated as working drive, and where all the work files are housed) is 2 TB.

    Currently subscribe to Adobe CC 2015, using InDesign with last update

    I have been working for several days on a long paper (paper) and have developed 12 paragraph styles, using two fonts - Garamond first Pro and Helvetica Neue LT and the document has facing pages.

    Yesterday, my client (the author) has asked all text flow on the odd pages, for illustrations on all pages, so I did all the text boxes thread directly downward of pages on the right (odd pages).

    The first three chapters were style before I changed the threading of text box. Now, when I open the document and begin to apply styles to paragraph for the rest of the text (nine more chapters, which automatically adopted the style of main text as soon as I stuck in the newly-threaded text boxes), ID crashes when I highlighted a section of text and click a paragraph style.

    I checked the permissions and preferences. The only thing I can think is from the document from scratch.

    Any other suggestions?

    Thread the text boxes only on odd pages cause the problem, since it does not have facing pages?

    Thank you.

    There could be corruption in the document.

    Save the document with IDML and reopen the IDML in InDesign.

  • Apply a paragraph style for the XML elements that have a specific attribute

    (1) I am an almost complete noob when it comes to XML

    (2) I have a XML with a ssstructure like this:

    <chapter>
         <paragraph> bla bla </paragraph>
         <paragraph> bla bla </paragraph>
         <list type="disk">
              <listitem>
                   <paragraph> bla bla </paragraph>
                   <paragraph> bla bla </paragraph>
              </listitem>
              <listitem>
                   <paragraph> bla bla </paragraph>
                   <paragraph> bla bla </paragraph>
              </listitem>
              <listitem>
                   <paragraph> bla bla </paragraph>
                   <paragraph> bla bla </paragraph>
              </listitem>
         </list>
    
         <list type="square">
              <listitem>
                   <paragraph> bla bla </paragraph>
                   <paragraph> bla bla </paragraph>
              </listitem>
              <listitem>
                   <paragraph> bla bla </paragraph>
                   <paragraph> bla bla </paragraph>
              </listitem>
              <listitem>
                   <paragraph> bla bla </paragraph>
                   <paragraph> bla bla </paragraph>
              </listitem>
         </list>
    </chapter>
    

    Is there an easyer (except the xmlElements) way to find all the lists and apply the appropriate paragraph style (I have a definition of 'list_with_disk' and a 'list_with_square' one)?

    Hi Vamitul,

    Please try the JS code below.

    var myDoc = app.activeDocument;
    //____________________ disk bullet style apply
    try{
        var rootElement = myDoc.xmlElements.item(0);
        var linkElementList = rootElement.evaluateXPathExpression("//list[@type='disk']//paragraph");
        for(i=linkElementList.length-1; i>=0; i--){
            var myAttribute = linkElementList[i];
            myAttribute.xmlContent.appliedParagraphStyle = myDoc.paragraphStyles.itemByName("Disk");
            }
        }catch(e){}
    //_______________________________________________________________________________
    
    //____________________ Squar bullet style apply
    try{
        var rootElement = myDoc.xmlElements.item(0);
        var linkElementList = rootElement.evaluateXPathExpression("//list[@type='square']//paragraph");
        for(i=linkElementList.length-1; i>=0; i--){
            var myAttribute = linkElementList[i];
            myAttribute.xmlContent.appliedParagraphStyle = myDoc.paragraphStyles.itemByName("Square");
            }
        }catch(e){}
    //_______________________________________________________________________________
    

    THX,

    csm_phil

  • Automatically apply "next paragraph Style...". "in place of the text

    I want to import an Excel (arrow) line 8 500 spreadsheet into InDesign and have it add the necessary number of pages and text related frameworks can flow text AND format her, lines spare in 1 2 paragraph styles. I can do everything until it automatically formatting the text. Paragraph Styles are set up for "Style of next paragraph...". "but it doesn't seem to work on the text. Can anyone help?

    I don't know if this can be done with a table, which is probably what you get from placing your excel file. A table Style might work.

    If you convert a table to text, however, you can select all, right-click on the name of the first style that you need in the paragraph styles Panel, and then choose apply and following style.

Maybe you are looking for

  • New Satellite P300 won't start.

    I hope you can give me some advice. This week, I bought a new Toshiba P300 GU with Vista Home Premium. It worked fine for about 3 days, but now it won't start at all. Symptoms: * - Some LED lights blink for a second, then they stop again.* - No fan o

  • Web pages display too dark

    It seems that all of my web pages appear very dark, regardless of the browser that I use.  Any suggestions on how to lighten the color?

  • Do not install new computer USB devices.

    My computer is not install drivers for the new USB devices.  It reads very well the 'old', but doesn't recognize not new.  I try to use a portable hard drive, Verbatim 500 GB and a 4 GB flash drive Imation.  I use two devices in my netbook computer b

  • Orphaned Dell partition

    Hello I bought a Dell desktop computer, about 3 years, I've worked on years of the company, so that I work.  He had his drive erased C and another OS installed on it.  I can see the dell recovery partition in windows partition manager and would like

  • Wireless driver for WANT dv6 7200

    I changed my DESIRE dv6 7200 Windows 8 for Windows 7 and now I can't receive the signal from my router. I guess I need a driver to get the wireless working. What I need, where do I understand, how do I get it and how to use it?