Skip to content

Get named pageItems

Fabian Morón Zirfas edited this page Jun 13, 2025 · 2 revisions

You can give pageItem a name by running this on a selected text frame:

app.selection[0].name = "bob";

to retrieve the text frame with the name "bob" you should do something like this:

function get_named_item(page) {
	var named_item = null;
	for (var i = 0; i < page.allPageItems.length; i++) {
		var item = page.allPageItems[i];
		if (item.name == "bob") {
			named_item = item;
			break;
		}
	}
	return named_item;
}

var doc = app.activeDocument;
var p = doc.pages[0];

var res = get_named_item(p);
if (res === null) {
	$.writeln(" :(");
} else {
	$.writeln(" :)");
}

These names seem to be persistent. You can get it when you copy paste the item into a new doc and also when you restart InDesign.
Written for this stackexchange.com question.

Home

Clone this wiki locally