PageItems
PageItems
Section titled “PageItems”app.activeDocument.pageItems
一个包含 PageItem 对象的集合。提供了对 Illustrator 文档中所有艺术项目的完全访问权限,涵盖以下类:
- CompoundPathItem
- 属性
- 方法
- 示例
- GraphItem
- 属性
- 方法
- GroupItem
- 属性
- 方法
- 示例
- LegacyTextItem
- 属性
- 方法
- MeshItem
- 属性
- 方法
- 示例
- NonNativeItem
- 属性
- 方法
- PathItem
- 属性
- 方法
- 示例
- PlacedItem
- 属性
- 方法
- 示例
- PluginItem
- 属性
- 方法
- 示例
- RasterItem
- 属性
- 方法
- SymbolItem
- 属性
- 方法
- TextFrameItem
- 属性
- 方法
- 示例
你可以通过 Document、Layer 或 GroupItem 中的 PageItems 属性来引用页面项目。
当你访问这些集合中的单个项目时,引用的是特定类型的页面项目。例如,如果你使用 PageItems 来引用一个图表项目,该对象的 typename 值为 GraphItem。
PageItems.length
Section titled “PageItems.length”app.activeDocument.pageItems.length
集合中的对象数量。
数字;只读。
PageItems.parent
Section titled “PageItems.parent”app.activeDocument.pageItems.parent
该对象的父对象。
对象;只读。
PageItems.typename
Section titled “PageItems.typename”app.activeDocument.pageItems.typename
引用对象的类名。
字符串;只读。
PageItems.getByName()
Section titled “PageItems.getByName()”app.activeDocument.pageItems.getByName(name)
获取集合中具有指定名称的第一个元素。
参数 | 类型 | 描述 |
---|---|---|
name | 字符串 | 要获取的元素名称 |
PageItems.index()
Section titled “PageItems.index()”app.activeDocument.pageItems.index(itemKey)
从集合中获取一个元素。
参数 | 类型 | 描述 |
---|---|---|
itemKey | 字符串, 数字 | 字符串或数字键 |
PageItems.removeAll()
Section titled “PageItems.removeAll()”app.activeDocument.pageItems.removeAll()
删除此集合中的所有元素。
无。
获取页面项目中的外部文件引用
Section titled “获取页面项目中的外部文件引用”// 使用 pageItems 对象获取当前文档中的所有文件引用,// 然后将它们显示在新文档中
if (app.documents.length > 0) { var fileReferences = new Array(); var sourceDoc = app.activeDocument;
for (var i = 0; i < sourceDoc.pageItems.length; i++) { var artItem = sourceDoc.pageItems[i]; switch (artItem.typename) { case "PlacedItem": fileReferences.push(artItem.file.fsName); break; case "RasterItem": if (!artItem.embedded) { fileReferences.push(artItem.file.fsName); } break; } }
// 将文件引用写入新文档 var reportDoc = documents.add(); var areaTextPath = reportDoc.pathItems.rectangle(reportDoc.height, 0, reportDoc.width, reportDoc.height); var fileNameText = reportDoc.textFrames.areaText(areaTextPath); fileNameText.textRange.size = 24; var paragraphCount = 3; var sourceName = sourceDoc.name; var text = "文件引用在 \'" + sourceName + "\':\r\r"; for (i = 0; i < fileReferences.length; i++) { text += (fileReferences[i] + "\r"); paragraphCount++; } fileNameText.contents = text;}