PageItems
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
app.activeDocument.pageItems.length
描述
集合中的对象数量。
类型
数字;只读。
PageItems.parent
app.activeDocument.pageItems.parent
描述
该对象的父对象。
类型
对象;只读。
PageItems.typename
app.activeDocument.pageItems.typename
描述
引用对象的类名。
类型
字符串;只读。
方法
PageItems.getByName()
app.activeDocument.pageItems.getByName(name)
描述
获取集合中具有指定名称的第一个元素。
参数
参数 | 类型 | 描述 |
---|---|---|
name | 字符串 | 要获取的元素名称 |
返回值
PageItems.index()
app.activeDocument.pageItems.index(itemKey)
描述
从集合中获取一个元素。
参数
参数 | 类型 | 描述 |
---|---|---|
itemKey | 字符串, 数字 | 字符串或数字键 |
返回值
PageItems.removeAll()
app.activeDocument.pageItems.removeAll()
描述
删除此集合中的所有元素。
返回值
无。
示例
获取页面项目中的外部文件引用
// 使用 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;}