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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在InDesign文档中找到所有对象样式覆盖相关的知识,希望对你有一定的参考价值。

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

答案

您可以探索一些选项。所有这些都可通过简单的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,则已使用addtional属性覆盖应用的样式: https://forums.adobe.com/thread/591217
  3. InDesign ExtendedAPI: http://yearbook.github.io/esdocs/#/InDesign/

我已经(为了我自己的需要)创建了一个小的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...
        }
    }
}
另一答案

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

以上是关于如何在InDesign文档中找到所有对象样式覆盖的主要内容,如果未能解决你的问题,请参考以下文章

在indesign中如何让文字自动灌入下一页

网页中怎么把视频全覆盖在样式中

indesign出血问题

INDESIGN设置出血的问题,急急!!

在Adobe InDesign中获取活动文档和选定的故事

通过 AppleScript 添加 InDesign XMLElements 时如何提高性能?