If you are familiar with FrameMaker from an end-user perspective, you already know something about how the FDK, and ExtendScript access the content within FrameMaker documents. To write a script, however, you have to stop thinking about how an end user might accomplish a task and think instead about how a program might access an object that it wants to inspect or change.
Here are some things you need to know before getting started with scripting:
- FrameMaker edits documents. Groups of documents can be aggregated into books.
- Documents can be structured or unstructured. (Structure in FrameMaker is really just an overlay on an unstructured FrameMaker document. More about that later.)
- The name FrameMaker is a reference to the idea of a frame as a container for document content. All content is a FrameMaker document is ultimately part of some frame.
- Frames can contain flows. Flows can be thought of as the containers for rivers of text. Such text can span page boundaries.
- Frames can be anchored or unanchored. Anchored frames are tied to a position in text. Unanchored frames are placed in a specific coordinate position on a page.
- Frames contain graphic objects and other frames. These can be the circles, rectangles, and other shapes you might draw with the built-in graphics tools. Graphics also can be anchored and unanchored text frames (containers for sequences of paragraphs that can themselves contain text), text lines (such as the callout text you might use in an image), insets (imported graphics), groups of graphic objects (created using the Group tool), equations created with the Equation Editor.