如何在InDesign文档中找到所有对象样式覆盖

时间:2017-12-09 18:58:58

标签: javascript scripting adobe adobe-indesign overrides

我有几个大型文档广泛使用对象样式。这些风格已经被覆盖了。我不想在没有先看到它们的情况下清除覆盖。如何查看文档中的所有对象样式覆盖?有没有办法在不通过手工操作每个InDesign对象的情况下执行此操作?也许一些Javascript?找到和替换例程将是完美的。

2 个答案:

答案 0 :(得分:0)

您可以探索一些选项。 所有这些都可通过简单的Google搜索获得。

  1. 使用删除线显示已覆盖的样式:
      http://www.indiscripts.com/post/2010/05/show-local-formatting-in-indesign-cs4
      http://in-tools.com/article/scripts-blog/showing-text-formatting-overrides/
  2. Pargraph.styleOverridden (Read Only)
    Data Type: boolean 如果为true,则应用的样式已被地图属性覆盖
      https://forums.adobe.com/thread/591217
  3. InDesign ExtendedAPI:
      http://yearbook.github.io/esdocs/#/InDesign/
  4. 我已经(为了我自己的需要)创建了一个小的JS脚本,它遍历所有的Stories和Paragraphs以找到Overrides;也许它会以某种方式帮助你:

    for (s = 0; s < app.documents[0].stories.length; s++) {          
        var myStory = app.activeDocument.stories[s]; 
        for (p = 0; p < myStory.paragraphs.length; p++) { 
            var myParagraph = myStory.paragraphs[p];
            if(myParagraph.styleOverridden == true){
                alert("This Paragraph has overrides!");
                // Do whatever you want to do, e.g. highlight the paragraph...
            }
        }
    }
    

答案 1 :(得分:0)

对象样式(或InDesign中的任何其他样式)不会通过脚本公开覆盖列表。它会告诉您样式是否具有本地覆盖值,但不会告知哪些属性被覆盖。 找到覆盖是一项冗长的工作。首先,从对象中查找所有属性值,然后查找样式中的所有值。如果相应的值不同,则样式会为我们正在考虑的对象覆盖该值。