针对特定文本框架的 InDesign 脚本
InDesign script targeting specific text frames
我有一个约 550 页的 InDesign 文档。在每一页上,有 4 个框架,所有页面看起来都一样(见下图)。我正在使用 InDesign CS6 和 JS。
如果可能的话,我需要一个能够实现一些相当基本功能的脚本:
1.
- 目标文本框 (1)
- 删除文本框
2.
- 目标文本框 (2)
- 应用给定的段落样式
3.
- 目标图像框 (4)
- 按比例调整框架
- 在所有页面上这样做
我尝试了以下方法(见下文)。不知何故,ID 告诉我 "myParagraph.applyParagraphStyle" 和 "myFrame.fit" 是 "not a function".
2.
var myDocument = app.activeDocument;
myParagraph = myDocument.pages.item(1);
myParagraphStyle = myDocument.paragraphStyles.item('datum');
myParagraph.applyParagraphStyle(myParagraphStyle,true);
3.
var myDocument = app.activeDocument;
var myGraphic = myDocument.pages.item(3);
var myFrame = myGraphic.parent;
myFrame.fit(FitOptions.proportionally);
您需要查看 InDesign 的 DOM。看看这里:
http://jongware.mit.edu/idcs6js/
myParagraph = myDocument.pages.item(1);
段落不是页面的子节点。另外,我会一次处理一页并循环浏览页面。
尝试:
var myParagraph = myDocument.pages[0].textFrames[0].paragraphs[0];
类似的图形问题。您需要解决作为图形父级的容器,然后是它包含的图形:
var myGraphic = myDocument.pages[0].rectangles[0].graphics[0];
或
var myGraphic = myDocument.pages[0].allGraphics[0].graphics[0];
或者,您可以使用 pageItems,而不是 textFrames 或矩形
我有一个约 550 页的 InDesign 文档。在每一页上,有 4 个框架,所有页面看起来都一样(见下图)。我正在使用 InDesign CS6 和 JS。
如果可能的话,我需要一个能够实现一些相当基本功能的脚本:
1.
- 目标文本框 (1)
- 删除文本框
2.
- 目标文本框 (2)
- 应用给定的段落样式
3.
- 目标图像框 (4)
- 按比例调整框架
- 在所有页面上这样做
我尝试了以下方法(见下文)。不知何故,ID 告诉我 "myParagraph.applyParagraphStyle" 和 "myFrame.fit" 是 "not a function".
2.
var myDocument = app.activeDocument;
myParagraph = myDocument.pages.item(1);
myParagraphStyle = myDocument.paragraphStyles.item('datum');
myParagraph.applyParagraphStyle(myParagraphStyle,true);
3.
var myDocument = app.activeDocument;
var myGraphic = myDocument.pages.item(3);
var myFrame = myGraphic.parent;
myFrame.fit(FitOptions.proportionally);
您需要查看 InDesign 的 DOM。看看这里:
http://jongware.mit.edu/idcs6js/
myParagraph = myDocument.pages.item(1);
段落不是页面的子节点。另外,我会一次处理一页并循环浏览页面。
尝试:
var myParagraph = myDocument.pages[0].textFrames[0].paragraphs[0];
类似的图形问题。您需要解决作为图形父级的容器,然后是它包含的图形:
var myGraphic = myDocument.pages[0].rectangles[0].graphics[0];
或
var myGraphic = myDocument.pages[0].allGraphics[0].graphics[0];
或者,您可以使用 pageItems,而不是 textFrames 或矩形