Skip to main content

Select Shapes Node (Shapes > Select)

What it does

Use this node to select specific shapes in your document as input for your Data Flow. It typically marks the starting point of the Data Flow.

Use it for

  • Selecting shapes in your document to process them further in your template.
  • Selecting shapes based on their properties using expressions.

How to use it

  1. Drag and drop the node from the Node Library into your template:
    Node Library > Folder Shapes > Folder Select
  2. Specify the settings in the Node Properties task pane. Define a Filter Expression to select shapes.
  3. Connect the node's output port to other nodes in the Data Flow.

Node Input

This node has no input port.

Shapes are selected directly via the Filter Expression in the Node Properties.

You can view the selected shapes in the Document view.

Node Output

Outputs a list of shapes that match the criteria defined in the Filter Expression in the Selected Shapes output port.

Node Properties

Node Name

You can assign a custom name to the node to help identify its purpose within your template.


Shape Name

You can assign a custom name to the selected shapes to help identify them in further shape trees.


Filter Expression

Enter an expression to define which shapes to select in your document. For more details, see the articles in the Expression language section.

Available variable:

shape: the current shape being processed. Read more about available properties in Objects and properties.

Expected return type: boolean

Example 1:

shape.type = "text" and 
shape.page.index = 0 and 
shape.font.name in ["Verdana", "Verdana,Bold"] and 
shape.font.size inside 15.0 ~ 0.2

Selects all text shapes on Page 1 that use the font "Verdana" or "Verdana,Bold" and have a font size between 14.8 and 15.2 pt.

Example 2:

shape.type = "path" and 
shape.height inside 34.0 ~ 0.2 and 
shape.fill = #DBE3D2 and 
shape.pageBBox.bottom > 81

Selects all path shapes with a height between 33.8 and 34.2, a fill color of '#DBE3D2' and a bottom edge positioned above 81 on the page.

Example 3:

shape.type = "image" and 
shape.page.index = 0 or 
shape.page.index = document.pages.count - 1

Selects all image shapes on the first page and last page.

Example 4:

shape.page.index = 2 and 
shape.pageBBox.left > 60.0 and 
shape.pageBBox.top < 700.0 and

Selects all shapes on Page 2 with a left edge position greater than 60.0 on the page and with a top edge position less than 700.0 on the page.