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.
IDML has six page-item elements; they share one skeleton and differ in a few fields each.
In short TextFrame, Rectangle, Oval, GraphicLine, Polygon and Group all
carry a Self id, an ItemTransform, an outline in <Properties><PathGeometry>, paint
attributes, an object style, a layer, and Visible, Locked and Name. What sets them
apart: a text frame names a story, a rectangle can shape its corners, an oval is an ellipse
by its path, a line can carry arrowheads, a polygon can hold several contours, and a group
holds other items. This page is the reference for both parts.
A Rectangle and an Oval, painted by nothing but a FillColor swatch. The Oval's path is InDesign's four-anchor ellipse.
Attributes every page item shares
| Attribute · Rectangle | Values | Paged | paged.set |
|---|---|---|---|
| Self | id | read · written | |
| ItemTransform | transform | read · written | frameTransform |
| ItemLayer | ref | read · written | itemLayer |
| Visible | false | true | read · written | elementVisible |
| Locked | false | true | read · written | elementLocked |
| Name | text | read · written | itemName |
| AppliedObjectStyle | ObjectStyle reference | read · written | appliedObjectStyle |
| FillColor | Color / Gradient reference | read · written | frameFillColor |
| FillTint | number (percent) | read · written | frameFillTint |
| StrokeColor | Color / Swatch reference | read · written | frameStrokeColor |
| StrokeWeight | length (pt) | read · written | frameStrokeWeight |
| StrokeType | StrokeStyle/$ID/Solid | StrokeStyle/$ID/Dashed | StrokeStyle/$ID/Dotted | StrokeStyle/$ID/Japanese Dots | StrokeStyle/$ID/Wavy | StrokeStyle/$ID/Thick - Thick | StrokeStyle/$ID/Thick - Thin | StrokeStyle/$ID/Thin - Thick | StrokeStyle/$ID/Thin - Thin | read · written | frameStrokeType |
| StrokeTint | integer | not read | |
| GradientFillAngle | number (degrees) | read · written | frameGradientFillAngle |
| GradientFillLength | length (pt) | read · written | frameGradientFillLength |
| GradientFillStart | number-list | read · written |
FillColor/StrokeColorname a swatch inResources/Graphic.xml(Color/…,Tint/…,Gradient/…), orSwatch/Nonefor none.FillTint/StrokeTintare percentages.-1is InDesign's unset value: the swatch's own tint applies.StrokeTypenames a stroke style: the built-in solid, dashed, dotted, striped and wavy styles, or a custom style defined in the document.GradientFillAngle,GradientFillLength,GradientFillStartplace a gradient fill on the item: its direction, its length and its start point in the item's space.Visible="false"hides this item alone.Locked="true"only blocks editing.Nameis the item's name in the Layers panel;$ID/means unnamed.- Effects (drop shadows, glows, feathers, opacity and blend modes) are written as
<TransparencySetting>,<StrokeTransparencySetting>and related child elements.
In Paged: all of these are read and honoured, including dashed, dotted, striped and wavy strokes and gap colours. Supported · verified
TextFrame
The only member with a ParentStory: the story whose text it holds. PreviousTextFrame
and NextTextFrame thread it to other frames (n for none). Its TextFramePreference
child (columns, insets, vertical justification, first baseline, auto-sizing) has its own
page: text frames.
| Attribute · TextFrame | Values | Paged | paged.set |
|---|---|---|---|
| ParentStory | id | read · written | |
| PreviousTextFrame | id | written | |
| NextTextFrame | ref | read · written | nextTextFrame |
| ContentType | TextType | written |
Rectangle
A panel when filled, a picture frame when it holds an <Image>, <EPS> or <PDF>, an
outline otherwise. Its path has four corner anchors.
Corners can be shaped without changing the path. CornerOption and CornerRadius apply to
all four corners; TopLeftCornerOption and TopLeftCornerRadius (and their siblings) set
one corner. The values InDesign writes are None, RoundedCorner, InverseRoundedCorner,
InsetCorner, BevelCorner and FancyCorner.
StrokeAlignment places the stroke centred on the path, inside it or outside it
(CenterAlignment, InsideAlignment, OutsideAlignment). EndJoin and MiterLimit shape
the corners of the stroke.
| Attribute · Rectangle | Values | Paged | paged.set |
|---|---|---|---|
| CornerOption | RoundedCorner | read · written | |
| CornerRadius | integer / real | read · written | |
| TopLeftCornerOption | None | RoundedCorner | InverseRoundedCorner | InsetCorner | BeveledCorner | FancyCorner | read · written | frameCornerOptionTopLeft |
| TopLeftCornerRadius | length (pt) | read · written | frameCornerRadiusTopLeft |
| StrokeAlignment | CenterAlignment | InsideAlignment | OutsideAlignment | read · written | frameStrokeAlignment |
| EndJoin | MiterEndJoin | RoundEndJoin | BevelEndJoin | read · written | frameStrokeJoin |
| MiterLimit | number | read · written | frameStrokeMiterLimit |
| ContentType | GraphicType | Unassigned | not read |
In Paged: all five corner treatments draw their own geometry, per corner. Supported · verified Inside and outside stroke alignment is exact on rectangles; on polygons and open paths the stroke stays centred.
Parsed, partly rendered
Oval
An ellipse, because its path is one: four anchors at the midpoints of the edges (bottom,
right, top, left) with handles along each edge. An <Oval> with a four-corner path is drawn
by InDesign as a rectangle; the element name does not make the curve. See
how an oval is spelled.
| Attribute · Oval | Values | Paged | paged.set |
|---|---|---|---|
| ItemTransform | transform | read · written | frameTransform |
| FillColor | Color / Gradient reference | read · written | frameFillColor |
| StrokeColor | Color / Swatch reference | read · written | frameStrokeColor |
| StrokeWeight | length (pt) | read · written | frameStrokeWeight |
| ContentType | GraphicType | Unassigned | not read |
GraphicLine
A rule: an open path of two anchors, which may be curved. Its ends are its first and last anchors, in the order they are written; nothing is derived from a bounding box. It has no fill region worth painting.
Line ends are set with LeftLineEnd (at the first anchor) and RightLineEnd (at the last),
scaled by LeftArrowHeadScale and RightArrowHeadScale (percent, default 100). The values are
None, SimpleArrowHead, SimpleWideArrowHead, TriangleArrowHead,
TriangleWideArrowHead, BarbedArrowHead, CurvedArrowHead, CircleArrowHead,
CircleSolidArrowHead, SquareArrowHead, SquareSolidArrowHead and BarArrowHead. An open
Polygon (a pen or pencil path) can carry them too. EndCap shapes the ends without
arrowheads.
| Attribute · GraphicLine | Values | Paged | paged.set |
|---|---|---|---|
| StrokeColor | Color / Swatch reference | read · written | frameStrokeColor |
| StrokeWeight | length (pt) | read · written | frameStrokeWeight |
| StrokeType | StrokeStyle/$ID/Solid | StrokeStyle/$ID/Dashed | StrokeStyle/$ID/Dotted | StrokeStyle/$ID/Japanese Dots | StrokeStyle/$ID/Wavy | StrokeStyle/$ID/Thick - Thick | StrokeStyle/$ID/Thick - Thin | StrokeStyle/$ID/Thin - Thick | StrokeStyle/$ID/Thin - Thin | read · written | frameStrokeType |
| EndCap | ButtEndCap | RoundEndCap | ProjectingEndCap | read · written | frameStrokeEndCap |
| LeftLineEnd | None | SimpleArrowHead | SimpleWideArrowHead | TriangleArrowHead | TriangleWideArrowHead | BarbedArrowHead | CurvedArrowHead | CircleArrowHead | CircleSolidArrowHead | SquareArrowHead | SquareSolidArrowHead | BarArrowHead | read · written | frameStrokeStartArrowhead |
| RightLineEnd | None | SimpleArrowHead | SimpleWideArrowHead | TriangleArrowHead | TriangleWideArrowHead | BarbedArrowHead | CurvedArrowHead | CircleArrowHead | CircleSolidArrowHead | SquareArrowHead | SquareSolidArrowHead | BarArrowHead | read · written | frameStrokeEndArrowhead |
In Paged: arrowheads are drawn at both ends of lines and open polygons, scaled by the arrowhead scale. Supported · verified
Polygon
Any other outline: stars, charts, curves, pen paths. Several GeometryPathType contours make
a compound path, and an open contour makes
a path that is only stroked.
| Attribute · Polygon | Values | Paged | paged.set |
|---|---|---|---|
| ItemTransform | transform | read · written | frameTransform |
| PathGeometry in Properties | — | not read | |
| Self | id | read · written | |
| StrokeWeight | length (pt) | read · written | frameStrokeWeight |
| AppliedObjectStyle | ObjectStyle reference | read · written | appliedObjectStyle |
| ContentType | GraphicType | Unassigned | not read | |
| GradientFillAngle | number (degrees) | read · written | frameGradientFillAngle |
| GradientFillHiliteAngle | integer | not read |
Group
A container. Its members are child elements, in their own back-to-front order; each member's
ItemTransform is relative to the group, and the group's own transform moves them all. A
group can carry its own transparency (opacity, blend mode, drop shadow) applied to the
members as a whole, and its ItemLayer decides the layer of all its members. See
groups.
| Attribute · Group | Values | Paged | paged.set |
|---|---|---|---|
| Self | id | read · written | |
| ItemTransform | transform | read · written | groupTransform |
| ItemLayer | id | written | |
| Visible | true | not read | |
| Locked | false | not read | |
| Name | text | read · written | itemName |
Frequently asked questions
Which attributes do all page items share?
Self, ItemTransform, the PathGeometry outline, the paint attributes (FillColor,
FillTint, StrokeColor, StrokeWeight, StrokeType, StrokeTint), AppliedObjectStyle,
ItemLayer, Visible, Locked and Name.
What is the difference between a Rectangle and an Oval?
Their paths. A rectangle's path has four corner anchors; an oval's path has four mid-edge
anchors with curve handles. InDesign draws each from its path, so an <Oval> written with
corner anchors comes out as a rectangle.
What does FillTint="-1" mean? It is InDesign's unset value: no tint of the item's own, so the swatch applies as defined.
Are corner options and arrowheads part of the path? No. Corner options are attributes applied on top of the square corners of the path, and arrowheads are drawn at the path's end anchors. The path stays as written.
How are the ends of a GraphicLine determined?
By its first and last path anchors. LeftLineEnd belongs to the first anchor, RightLineEnd
to the last.
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.
Text frames
The IDML TextFramePreference — columns and balancing, typed InsetSpacing, vertical justification, first baseline, and auto-sizing as InDesign fits a frame.