Frames & paths
The IDML page-item family — text frames, rectangles, ovals, lines, polygons and groups — and the skeleton of placement, outline and paint they all share.
Everything visible on an IDML page is a page item: one of a small family of elements that share one skeleton.
In short A page item is the element that puts something on a page: body copy, a photo,
a tinted panel, a rule, a logo. The family is small: TextFrame, Rectangle, Oval,
GraphicLine, Polygon and Group. Page items are children of a
Spread, of a Group, or of a frame they were
pasted into. Each one has a Self id, an ItemTransform that places it in its parent, a
PathGeometry outline, and paint and style attributes. Learn the skeleton once and every
member reads the same way.
One family, two jobs
- Frames that hold text. A
TextFramenames a story inParentStory, and the story's text flows into the frame's outline. - Frames that hold graphics, or nothing. A
Rectangle,Oval,GraphicLineorPolygonis a vector shape. With a fill it is a panel; with a placed<Image>(orEPS,PDF) inside it is a picture frame; with neither it is an outline.
The element name tells the current role, and ContentType (TextType, GraphicType,
Unassigned) says the same thing as an attribute.
The members
| Element | What it is |
|---|---|
TextFrame | A frame bound to a story by ParentStory. |
Rectangle | The workhorse: panels, picture frames, empty boxes. |
Oval | An ellipse, drawn from its four-anchor path. |
GraphicLine | A two-point open path: a rule, with optional line ends. |
Polygon | Any other outline: stars, curves, compound shapes, pen paths. |
Group | A container whose members move, and can be made transparent, as one. |
The shared skeleton
Strip any member down and the same parts remain:
- a
Selfid, by which threading, groups and overrides refer to it; - an
ItemTransformthat places it in its parent: the spread, a group, or a host frame; - a
PathGeometryin<Properties>that gives its outline, in its own space; - paint:
FillColor,FillTint,StrokeColor,StrokeWeight,StrokeTypeand more; - an
AppliedObjectStylethat supplies whatever the item leaves unset; ItemLayer, the layer it is on;Visible,LockedandName: an item can be hidden on its own, independently of its layer; locked against editing; and given a name ($ID/means none). Scripts and plugins can attach key/value metadata as<Properties><Label>.
Frames inside frames
A Rectangle, Oval or Polygon can hold another page item as a child element. InDesign
writes this for Paste Into, and every placed image is the same shape: an <Image> inside
its frame. The child's ItemTransform is relative to the host, and the host's outline clips
the child. Supported · untested
Where to go next
- Page-item types: the attributes of each member.
- Text frames:
TextFramePreference, with columns, insets, vertical justification, the first baseline and auto-sizing. - Groups: membership, composed transforms, group transparency and layers.
- Placed pictures: images & graphics.
Frequently asked questions
What is a page item in IDML?
Any element that puts content on a page: TextFrame, Rectangle, Oval, GraphicLine,
Polygon or Group. Each carries its own placement, outline and paint.
What is the difference between a text frame and a graphic frame?
A TextFrame names a story in ParentStory and holds its text. A graphic frame is a shape
that is filled, holds a placed image, or is empty.
Can a page item be hidden without hiding its layer?
Yes. Visible="false" on the item hides that item alone. A hidden layer hides every item on
it.
Where do page items live in the package?
In Spreads/Spread_*.xml and MasterSpreads/MasterSpread_*.xml, as children of the spread,
of a group, or of a frame. Anchored objects live in the story instead.
Override resolution
How an IDML body page's OverrideList names the master items it has taken over, so they are not shown from the master and the page's own copy stands in.
Page-item types
The six IDML page-item elements — TextFrame, Rectangle, Oval, GraphicLine, Polygon, Group — their shared attributes and the fields that set each apart.