• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Script to change bulleted and numbered lists to text without converting the Paragraph Styles

Community Beginner ,
Mar 27, 2023 Mar 27, 2023

Copy link to clipboard

Copied

I've seen a posts here about using the "Convert Bullets to Text" contextual option in text as well the method app.activeDocument.stories.everyItem().convertBulletsAndNumberingToText(); however neither is satifactory so ive been writing a script to change the copy in a document that has a bullet or number list style applied to converted text, but i'm having trouble figuring out how to script  going through the text, identifying the ones with specific paragraph styles ( there are 6 styles, all set within two layers of groupings: Body Styles [group] > Lists [group] > Bullet lvl 1 [style].

heres what ive tried to so, but i realized that it was converting the whole style not the text with the style.

 

var bul1 = doc.paragraphStyleGroups.itemByName( "Body Styles" ).paragraphStyleGroups.itemByName( "Lists" ).paragraphStyles.itemByName( "Bullet lvl 1" );
var bul2 = doc.paragraphStyleGroups.itemByName( "Body Styles" ).paragraphStyleGroups.itemByName( "Lists" ).paragraphStyles.itemByName( "Bullet lvl 2" );
var bul3 = doc.paragraphStyleGroups.itemByName( "Body Styles" ).paragraphStyleGroups.itemByName( "Lists" ).paragraphStyles.itemByName( "Bullet lvl 3" );
var num1 = doc.paragraphStyleGroups.itemByName( "Body Styles" ).paragraphStyleGroups.itemByName( "Lists" ).paragraphStyles.itemByName( "Num List lvl 1" );
var num2 = doc.paragraphStyleGroups.itemByName( "Body Styles" ).paragraphStyleGroups.itemByName( "Lists" ).paragraphStyles.itemByName( "Num List lvl 2" );
var num3 = doc.paragraphStyleGroups.itemByName( "Body Styles" ).paragraphStyleGroups.itemByName( "Lists" ).paragraphStyles.itemByName( "Num List lvl 3" );
 
// app.findTextPreferences.appliedParagraphStyle = bul1;
// bul1.convertBulletsAndNumberingToText();
// app.findTextPreferences.appliedParagraphStyle = bul2;
// bul2.convertBulletsAndNumberingToText();
// app.findTextPreferences.appliedParagraphStyle = bul3;
// bul3.convertBulletsAndNumberingToText();
// app.findTextPreferences.appliedParagraphStyle = num1;
// num1.convertBulletsAndNumberingToText();
// app.findTextPreferences.appliedParagraphStyle = num2;
// num2.convertBulletsAndNumberingToText();
// app.findTextPreferences.appliedParagraphStyle = num3;
// num3.convertBulletsAndNumberingToText();

// alert('Bullet lvl 1, 2, 3 and Number List lvl 1, 2, 3 converted to text.')
TOPICS
Scripting

Views

377

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Mar 28, 2023 Mar 28, 2023

Rather than using InDesign's Find to look for styles, you may be better off cycling through paragraphs and checking their style names. Something like this:

 

par = doc.stories.everyItem().paragraphs.everyItem().getElements();
re = /(Bullet|Num) lvl [123]/;
for (i = 0; i < par.length; i++) {
  if (re.test (par[i].appliedParagraphStyle.name)) {
    // do something
  }
}

 

Peter

Votes

Translate

Translate
Community Beginner ,
Mar 27, 2023 Mar 27, 2023

Copy link to clipboard

Copied

all those bottom lines are shown as commented out, i just forgot to un-comment them before posting but when active they convert the entire style to text, removing the list formatting entirely, and 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 27, 2023 Mar 27, 2023

Copy link to clipboard

Copied

You can go back and re-edit your original post - there is no time limit.

 

ID-Tasker - most powerful tool ever created for InDesign

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Mar 28, 2023 Mar 28, 2023

Copy link to clipboard

Copied

I dont see any option to edit a post or comment, am i just completely missing it?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 28, 2023 Mar 28, 2023

Copy link to clipboard

Copied

Click '. . . More' and one of the options is 'Edit message'.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Mar 28, 2023 Mar 28, 2023

Copy link to clipboard

Copied

I don't see that option on any of posts or comments. under my post i have: views, translate, report, follow, and reply. would be labeled as community beginner effect the options on posts i have?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 28, 2023 Mar 28, 2023

Copy link to clipboard

Copied

LATEST

I've no idea.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 28, 2023 Mar 28, 2023

Copy link to clipboard

Copied

Hi @SweatersInSummer , I think you need to loop through the paragraphs and remove the overrides that are created when you change the paragraph styles—paragraph.clearOverrides()

 

https://www.indesignjs.de/extendscriptAPI/indesign-latest/#Paragraph.html#d1e501544__d1e508156

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Mar 28, 2023 Mar 28, 2023

Copy link to clipboard

Copied

Rather than using InDesign's Find to look for styles, you may be better off cycling through paragraphs and checking their style names. Something like this:

 

par = doc.stories.everyItem().paragraphs.everyItem().getElements();
re = /(Bullet|Num) lvl [123]/;
for (i = 0; i < par.length; i++) {
  if (re.test (par[i].appliedParagraphStyle.name)) {
    // do something
  }
}

 

Peter

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Mar 28, 2023 Mar 28, 2023

Copy link to clipboard

Copied

This was the answer i was circling around, thank you Peter. I was trying to loop through the paragraphs but had difficulty figuring out the correct syntax to access the .paragraphs, but the InDesign Object Model on indesignjs.de is kind of difficult to understand at times. for posterity my final code looks like:

var doc = app.activeDocument;

par = doc.stories.everyItem().paragraphs.everyItem().getElements();
re = /(Bullet|Num List) lvl [123]/;
for (i = 0; i < par.length; i++) {
  if (re.test (par[i].appliedParagraphStyle.name)) {
    par[i].convertBulletsAndNumberingToText();
  }
}

alert('Bullet lvl 1, 2, 3 and Number List lvl 1, 2, 3 converted to text.')

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines