Creator SoftwareMultiAd¨
products / creator server / product / technical details / com. language
Client Modules

Command Language

Quickstart

Preferences

LPR Network Printing

Prefs Schema

Document Schema

Complex Response Schema

Server Spell Check Schema

Creator Server Command Language

Version 7.0.7 20070821 (last edit August 21, 2007)

Copyright © MultiAd, Inc., 2002 - 2007


Table of Contents

Overview
Basic Specifiers
Document Commands
Element Commands
Document Property Commands
Page Property Commands
Element Property Commands
Graphic Element Property Commands
Starburst Element Property Commands
Rectangle Element Property Commands
Line and Open Path Property Commands
Border Element Property Commands
Embedded Spread Property Commands
Layer Commands
Table Commands
Export Commands
Text Manipulation
Query Commands
Client Data Commands
Image Conversion Commands
Spell Check Commands
Control Commands
Setting Preferences
Command Return Codes

Overview

This document describes the Creator Server Command Language. This is the command set that Creator Server understands, whether it's provided by command-line, redirection, batch file, or TCP/IP connection.

Basics: The command language is case sensitive, and newlines of any form (carriage return, linefeed, or both) end a line. This matches the definition of "text file" in any of the target platforms.

Comments can be C or C++ style, i.e. delimited by a /* and */ pair, or by // and a newline. Comments may be placed anywhere whitespace is legal, and are entirely ignored by the parser.

Commands appear one per line, except in a few special cases where large amounts of text need to be entered, in which a multi-line syntax is allowed, described below. A command is ended by a newline, and can contain no newlines except at the end, but other whitespace is ignored except as necessary to separate tokens. For human readability, you may add an escaped newline (backslash-newline) to force a command onto a second line.

Strings are delimited by quotation marks. Within a string, the pair \" (backslash-quotation-mark) embeds a literal quotation mark. \n indicates a newline. Two backslashes indicates a literal backslash, as does a backslash in any context except before a quote or "n" or paired with another. This is a simplification of C's rules. Strings are limited to one line and 1024 characters. Note that text fields, as used in commands like replace text, follow special rules and are not considered strings (see below).

Paths are a special case of strings. All platforms understand UNIX-style paths (using "/" delimiters) or Windows-style paths (using "\" delimiters). To specify an absolute path on UNIX-based operating systems (including Mac OS X), use a leading slash (ie. "/home/jfs/docs"). On Windows, use the lettered volume notation (ie. "C:\art\wiemeraner.jpg") to specify an absolute path. If a path is not recognizable as an absolute path, it is interpreted as relative to the Creator Server installation directory.

Text fields are used by commands that require large amounts of text (filling in the contents of a text flow, for example). These commands use a multi-line format typical to Unix programs, in which the text appears on successive lines. Newlines are ignored and true line-breaks in the entered text must be specified literally as "\n". Unicode characters can be entered as a decimal value preceded by "\u", or as a hexadecimal value preceded by "\U" (assuming 16 bit Unicode characters, or UTF-16). A line containing a period "." or the phrase "end text" as its only text signifies the end of text mode. There is no delimiter to begin a text field; one will be created in the command as needed. For an example of using text in this way, refer to the replace text command.

Certain special characters are specified by other escape codes or by their Unicode equivalent:
Character Escape Code Unicode
block break \b \UE000
em space \M \U2003
en space \N \U2002
tab \t \U0009
thin space \T \U2009
page number \P \UE001
quad \q \UE003
discretionary ("soft") hyphen (none) \U00AD
discretionary ("soft") hyphen (none) \U00AD

Enter a literal backslash ("\") by escaping it in turn ("\\").

Numbers come in two basic forms. The integer type is a positive or negative whole number (no decimal point), whereas a float is a positive or negative number with a fractional value past the decimal point (3.14). Integers and floats can be used to make measurements and these in turn can be used to form points.

Object model specifications ("specs") are the building blocks of commands. Nearly every "object" in a Creator document can be specified and operated on with commands -- pages, spreads, elements, colors, and so on. Elements must be specified either by name, or by reference within a spread and document: element named "frame" or element 5 of spread 4 of document named "specad". A page spec can be used in place of a spread spec. Spreads or pages must be referenced either by name or by reference within a document. Text flows must be referenced by name or by containing element (sometimes referred to as a text block). To simplify these systems, the set default command allows you to specify a default document, spread, element, page, or text flow. The defaults then, if set, are automatically substituted when required.

Streaming allows commands to return data back to the client. These commands, when successful, return a "101" return code, followed by the number of bytes Creator Server will be sending, followed by a newline (like all other return codes). Then it is the client's responsibility to read those bytes as Creator Server streams them back. So if a client sends a streaming command and then reads as the return data "101 11745\n", the client should proceed to read 11,745 more bytes of data and interpret it according to the original command (a streamed JPEG file, for instance).

Names provide a way to identify elements, spreads, documents, pages, and text flows, which are specified as strings. These names must be unique across all objects of the specified type, or the behavior of referencing such a name is undefined.

This document is in MOLBNF (More Or Less Bacchus-Naur Form). Non-terminals are in <angle brackets>, optional sections are in [hard brackets], {braces} act as delimiters (used for readability or setting off a set of choices), choices are separated by vertical bars (|), and :- means "is defined as". The documentation also takes the convention of underlining optional options that are defaults, where if you do not specify any of the options, the underlined one is to be assumed. Many command descriptions below are followed by examples of use. The Creator Server documentation archive contains some example scripts as well, which should help you on your way to using Creator Server Script.

Much of this document presumes some knowledge of how Creator Pro works. Many of the command options correspond one-to-one with options in Creator Pro, and operate in the same way. Users of Creator Server may want to refer to the Creator Pro manual while using this document.

Basic Specifiers

<doc spec> :- document named <string>

<doc spec> :- document <integer>

Specifies a document. The integer form starts at one, and references open documents in the order loaded (not recommended past one or two documents). Note that in a multi-user environment, document indices are not unique to your connection session, so the first document a session opens may not be "document 1".

<master spread spec> :- master spread named <string> [of <doc spec>]

<master spread spec> :- master spread <integer> [of <doc spec>]

Specifies a master spread. The "of <doc spec>" portion may be omitted if there is a default document spec set.

<spread spec> :- spread <integer> [of <doc spec>]

<spread spec> :- <embedded spread spec>

Specifies a spread. The "of <doc spec>" portion may be omitted if there is a default document spec set. Page specs can be used in place of spread specs in most cases.

<page spec> :- page <integer> [of <doc spec>]

<page spec> :- page named <string> [of <doc spec>]

Specifies a page. The "of <doc spec>" portion may be omitted if there is a default document spec set. Pages are lightweight items in Creator Server compared to AppleScript, only a few commands reference page specs directly. Elements and the like are considered to belong to spreads, not pages. This closely approximates the internal structure of the Creator engine, and it's anticipated that for most uses of Creator Server pages and spreads will be equivalent anyway. Spread specs can be used in place of page specs in most cases.

<layer spec> :- layer <integer> [of <doc spec>]

<layer spec> :- layer named <string> [of <doc spec>]

Specifies a layer. The "of <doc spec>" portion may be omitted if there is a default document spec set. There is one layer, named "Default Layer", that is always present. It may be referred to by name or index (always index 1). New layers ascend in index as they are placed "above" the Default Layer.

<element spec> :- element named <string> of [<spread spec> | <element spec>]

<element spec> :- element <integer> of [<spread spec> | <element spec>]

<element spec> :- left-brace <element spec> [, <element spec>...] right-brace

<element spec> :- page border <page spec>

Specifies an element. The "of <spread spec>" part may be omitted when a default spread is present. The last form specifies a list of elements, where left-brace and right-brace refer to "{" and "}" respectively.

element named "placeholder" of spread 1 of document named "ad"
{ element 1 of spread 1 of document 1, element 2 of spread 1 of document 1 }

<table spec> :- table named <string> of [<spread spec> | <element spec>]

<table spec> :- table <integer> of [<spread spec> | <element spec>]

Specifies a table. The "of <spread spec>" part may be omitted when a default spread is present.

<table cell spec> :- cell row <integer> column <integer> of <table spec>

Specifies a table cell. The row and column indices each start at 1 for the cell in the upper-left corner.

<table row spec> :- row <integer> of <table spec>

Specifies a table row. Row counting begins at 1.

<table column spec> :- column <integer> of <table spec>

Specifies a table column. Column counting begins at 1.

<table selection spec> :- <table cell spec>

<table selection spec> :- all cells of <table spec>

<table selection spec> :- <table row spec>

<table selection spec> :- <table column spec>

<table selection spec> :- left-brace <table selection spec> [, <table selection spec>...] right-brace

Specifies a table selection, comprising one or more cells, rows, or columns. Analogous to selected cells in Creator Pro. The last form specifies a list of cells, rows or columns, where left-brace and right-brace refer to "{" and "}" respectively.

{ row 2 of table named "table" of spread 1 of document 1, row 3 of table named "table" of spread 1 of document 1 }

<textflow spec> :- textflow of <element spec>

<textflow spec> :- textflow named <string> of <doc spec>

<textflow spec> :- textflow <integer> of <doc spec>

<textflow spec> :- textflow of <table cell spec>

Specifies a text flow. Note that the "element spec" reference is not one-to-one, a text flow may flow through several elements, any of which may be specified here.

<color spec> :- color spec <string> [of <doc spec>]

Specifies a color spec by name. The "of <doc spec>" portion may be omitted if there is a default document spec set.

<type style spec> :- type style <string> [of <doc spec>]

Specifies a type/character style spec by name. The "of <doc spec>" portion may be omitted if there is a default document spec set.

<paragraph style spec> :- paragraph style <string> [of <doc spec>]

Specifies a paragraph style spec by name. The "of <doc spec>" portion may be omitted if there is a default document spec set.

<style model spec> :- style model <string> [of <doc spec>]

Specifies a style model spec by name. The "of <doc spec>" portion may be omitted if there is a default document spec set.

<element style spec> :- element style <string> [of <doc spec>]

Specifies an element style spec by name. The "of <doc spec>" portion may be omitted if there is a default document spec set.

<id object spec> :- identified object <integer>

Specifies an object by ID. Every object including a document has a system-wide unique ID. The IDs are generated each time a document is opened, and should not be relied upon to remain the same across sessions. The only reliable way to get object IDs is by parsing the XML returned by query commands.

<embedded spread spec> :- embedded spread <integer> of <textflow spec>

Specifies an embedded spread by its index in a text flow. The index is relative to the number of embedded spreads in a text flow, not the number of characters.

set default document [to] {<doc spec> | none}

set default spread [to] {<spread spec> | none}

set default page [to] {<page spec> | none}

set default element [to] {<element spec> | none}

set default textflow [to] {<textflow spec> | none}

All of these commands set an item in the object model as the default. Once set, the relevant spec can be omitted from any command, and this default will be inserted instead. The default will remain until set to another value, or explicitly removed by specifying none as the relevant spec. However, defaults are only valid in the same session/connection they are made in. The defaults cascade, that is, after a set default document command, a set default spread command may omit the document spec portion of the spread specification. Note that "default document" here is not the same as the "default document" used by Creator Pro. Also, note that specifying a list of elements as the "default element" is highly analogous to "selection" in Creator Pro.

<measurement> :- <float> [ points | printers points | agates | mm | ciceros | cm | picas | inches]

Specifies a measurement. If the units are omitted, points are assumed. Note that the "remainder units" allowed in Creator Pro (such as "6p3") are not allowed here. Also, fractions are not allowed, measurements need to be specified in decimal form.

<point> :- [    x <measurement> y <measurement>     |     horizontal <measurement> vertical <measurement>   ]

Specifies a set of x (horizontal) and y (vertical) dimensions. Origin (0,0) coordinates in Creator Server are at the top-left corner, with x increasing to the right and y increasing downward. Points are used in Creator Server as locations in a spread or page, or sometimes as sizes (width and height).

<rectangle> :- top <measurement> left <measurement> bottom <measurement> right <measurement>

Specifies the bounds of a rectangle. Rectangles can be used when creating elements or to export a specific section of a spread.

Document Commands

open document <string>

The <string> is a fully qualified file/path name. The file name or final portion of the path name will be the document name for purposes of document specs. Only Creator documents can be opened in this way.

save <doc spec> as <string> | stream { overwrite }

Saves the specified document under the specified file/path name. Note that the name is not optional, all Creator Server documents are considered stationery in this regard, to prevent accidental overwriting of the template files. Use the word stream in place of a file path to have the result file streamed back. Creatorserver will not overwrite a unless the "overwrite" option is used. If a command directs Server to save to an existing file, the the file name is given a unique name by appending an incremented number to it (ie. "doc.crtr" becomes "doc1.crtr"). This command is disabled in evaluation mode.

close { <doc spec> | all documents }

Closes the document. All documents after this one move up one position in numerical order when specified as document <integer> in a <doc spec>. This does not save the document. If you want it saved, precede this command with a save command.

create document <string> with <integer> [left first facing | right first facing] pages width <measurement> height <measurement>

Creates a document, with the specified number of pages, of the specified dimension. The <string> argument is the document name, and can be any unique name. If the facing pages options are left out, the pages are created one per spread. By specifying one of the facing options, you direct Server to create the document with facing pages with the first page on the side (left or right) chosen. Where pages face one another, they are in a single spread. For example, creating a 5-page document using "right first facing" will create a document whose first page is on the right-hand side and is the sole page in the first spread, followed by two pairs of facing pages, each pair in their own spread.

create document "template" with 1 pages width 8.5 inches height 11 inches

create page in <doc spec> [count <integer>] [size { horizontal <measurement> vertical <measurement> }] [using <master spread spec>] [at begin | end <doc spec>] [before | after <page spec>]

Creates count number of pages of the specified size at the specified position. If no options are specified it creates 1 page at the end of the document that is the same size as the last page in the document.

delete <page spec>

Deletes the specified page.

create color spec <string> at {end | beginning} of <doc spec> type {process | spot}
space {rgb <float> <float> <float> | rgb256 <integer> <integer> <integer> | cmyk <float> <float> <float> <float> | pantone | gray <float>} [respect cmyk values <boolean>] [pantone set <string>]

Creates a new color in the document color list. Pantone colors use their Pantone name as the color name and need a Pantone set. RGB colors use three floating point values (0.0 to 100.0). RGB256 colors use three integer values (0 to 255). CMYK colors use four floating point values. The respect cmyk values option can only be used on CMYK colors. Pantone CMYK colors are created like regular CMYK colors, not Pantone. Gray colors take a single floating point value for black.

delete color spec <string> of <doc spec>

Deletes the specified color. Elements using that color revert to the default color for that part.

delete { <type style spec> | <paragraph style spec> | <style model spec> | <element style spec> }

Deletes the specified style. Text or Elements using that style will remain the same.

Element Commands

align <element spec> {left | right | top | bottom | hcenter | vcenter | center} to
{<measurement> | <element spec> | <spread spec> | <page spec>}

The default element spec replaces the first instance, if omitted. The target (to) specs cannot be used as defaults, since the target type must be known. Aligns the specified edge or center of every element in <element spec> to the corresponding edge or center of the target spec, or to the actual coordinate specified by <measurement>.

align { element named "leftedge", element named "rightedge" } center to page 1 of document named "template"

convert <element spec> to single path

Converts the specified (shape) element(s) to a single path.

convert text of <element spec> to paths [named <string>]

Converts the text of the specified (text block) element to path elements. "Convert" is something of a misnomer, the original text block is unaltered, and new path elements are created. If the name string is included, the new paths will be named "<string>1", "<string>2", and so on (if elements with those names already exist, the number will be incremented until the names are unique).

create element { oval | path | rectangle | starburst } [named <string>] [at begin | end <spread spec>] [before | after <element spec>] with bounds <rectangle>

The position options are exclusive. If no position is specified the position is defaulted to the beginning of the default spread (must set a default spread or page for this to work).

create element rectangle named "frame" at begin of spread 1 of document 1 with bounds top 1 inch left 1 inch bottom 4 inches right 4 inches

create element { border <string> | graphic <string> | document <string> } [named <string>] [at begin | end <spread spec>] [before | after <element spec>] { with bounds <rectangle> | centered at <point> [with size horizontal <measurement> vertical <measurement>]}

The position options are exclusive. If no position is specified the position is defaulted to the beginning of the default spread (must set a default spread or page for this to work). The string passed with "graphic" is the name of the graphic file to be placed. The string passed with "border" is the name of the .bord border file to be used. The string passed with "document" is the name of the .crtr creator file to be placed. Each of these elements can be created with specific bounds, or centered at a point. If the size is not defined when the element is centered at a point, the default size of the object being placed is used.

create element graphic "art/klimpt.eps" at begin of spread 1 of document 1 centered at x 10 cm y 20 cm

create element line [at begin | end lt;spread spec>] [before | after <element spec>] with start <point> end <point>

Special variant of the general "create element" for lines, which need start and end points rather than a rectangular bounds. Otherwise identical to "create element" above.

create element line after element 1 of spread 1 of document 1 with start x 0 y 0 end x 100 y 100

delete <element spec>

Deletes the specified element(s).

duplicate <element spec>

Duplicates the specified element(s). The duplicates retain the same attributes (location, colors, etc) as their originals, and so will appear right on top of their originals in the same z-order relative to the duplicates. If any of the elements are named, the duplicates' names are "uniquified". Each uniquified name gains a number suffix, so that an element duplicated from an element named "frame" will become "frame 1" (or "frame 2" if "frame 1" exists in the document, etc). Unnamed elements remain unnamed when duplicated.

duplicate { element named "frame", element named "border" }

So in the example, given that element "border" is in front of element "frame" and there are no other similarly-named elements, the duplicates will both be in front of the originals, named "border 1" and "frame 1", and "border 1" will be in front of "frame 1".

evenly space <element spec> {horizontally | vertically}

Spaces the elements (this command generally uses the list form of element specs) evenly, equalizing the horizontal or vertical distance between them.

fit <element spec> to text

Shrinks the (text block) element to the smallest size that fits the text it contains.

fit <element spec> to container [ stretch to fit | scale proportional | fill and crop ]

Shrinks/expands the element to fit it's container element.

  • "stretch to fit" stretches the element to fill the container exactly
  • "scale proportional" scales the element to fit within the borders of the container while keeping the aspect ratio
  • "fill and crop" scales the element to completely fill the container while keeping the aspect ratio, thus allowing the container to crop any excess

flip <element spec> around <point> by <float> [with duplication]

Flips an element, emulating the flip tool in Creator Pro. The element is flipped around a point and rotated by a number of degrees. It can optionally duplicate the element before flipping.

flip <element spec> horizontally

Flips an element horizontally about its center axis.

flip <element spec> vertically

Flips an element vertically about its center axis.

group|ungroup <element spec>

Groups or ungroups the element or list of elements.

mask <element spec> tolerance <float> [use photoshop mask]

Masks a graphic with a tolerance in pixels between 0.0 to 25.0. The "use photoshop mask" option will use a Photoshop™ mask if it is available.

rotate <element spec> by <float> [around <point>] [with duplication]

Rotate an element by an amount of degrees, emulating the rotate tool in Creator Desktop. It can optionally rotate around a point and/or duplicate the element before rotation.

replace <element spec> with graphic <string> [position { fill | center | proportional }]

Replaces the specified element with the graphic in filename <string>. "Graphic" in this case can also be another Creator document. This assumes that the element was acting as a template placeholder for a graphic element. The "position" parameter indicates where the new graphic should go in relation to the old. The default is "fill", which is to make the new graphic the same size as the old element. "Center" keeps the new graphic's bounds but centers it over the old element's center point. "Proportional" scales the new graphic to the old element's bounds but keeps the aspect ratio intact (unlike fill). The old element is deleted and the new graphic element is given the same name.

replace element named "placeholder" of spread 1 of document 1 with graphic "d:\art\cornish_rex.tiff" position proportional

send <element spec> {to front | to back | forward | backward}

Sends elements backward and forward in the drawing order.

move <element spec> [to beginning | end [<element spec> | <page spec> | <spread spec>]] [to { before | after } <element spec>] [by <point>] [to { before | after } <text position spec> of <textflow spec>] [scale { no scaling | scale to fit | fit within container | fill container }]

Moves elements around in the document. It is possible to use the move command to contain elements by specifying the element to move into, and elements may be moved out of containers to "uncontain" them. Elements may also be moved into text flows. Elements embedded inside text flows become embedded spreads.

move element 1 of page 1 of document 1 to beginning of page 1 of document 1
move element named "embed_me" of spread 1 of document 1 to after word 3 of textflow of element named "headline" of spread 1 of document 1

Document Property Commands

set default page size of <doc spec> to <point>

Sets the default page size for new pages in the document.

set document author of <doc spec> to <string>

Sets the author information for the document.

set document company of <doc spec> to <string>

Sets the company information for the document.

set document description of <doc spec> using text <text field>

Sets the document description. The text field begins after the string "using text" and continues until there is a string "end text" or a "." on a line all by itself. See above for details about line-breaks and Unicode characters.

set document keywords of <doc spec> to left-brace <string>[, <string>...] right-brace [replacing]

Sets the document's keywords. To replace the current keywords add use "replacing".

set document status of <doc spec> to <string>

Sets the document status for the document.

set document first page number of <doc spec> to <integer>

Sets the default first page number for a document.

Page Property Commands

set page size of <page spec> to <point> [resize elements [scale text]]

Sets the page size. The point describes the new width (x) and height (y). Specify "resize elements" to proportionally resize elements on the page, and additionally specify "scale text" to apply the change in page scaling to all text.

set page name of <page spec> to <string>

Sets the page name. Named pages can then be referred to by name or index. Naming a page does not alter how the page functions in any other way -- it retains the same numbering scheme.

set master spread of <page spec> to { none | <master spread spec> }

Sets the master spread of a page. To unset a master spread for a page set it to "none".

set page number of <page spec> to <string> using number style { none | Arabic | lower case alphabetic | upper case alphabetic | lower case roman | upper case roman }

Sets the page number of a page. The <string> passed must match the numbering style: 1, 2, 3, ... for "arabic"; a, b, c, ... for "lower case alphabetic"; A, B, C, ... for "upper case alphabetic"; i, ii, iii, iv, ... for "lower case roman"; and I, II, III, IV for "upper case roman". To unset number/numbering style for a page use the style "none" (note — any value placed in the string is ignored in this case).

set page border type of <page spec> to { none | border | rectangle | inherit from master spread }

Sets the page border and fill of the page. The page border may be accessed through page border of <page spec> as an element if it is set to border or rectangle, this allows you set the individual properties using the regular element property commands.

Element Property Commands

set element name of <element spec> to <string>

Sets the element's name.

set element description of <element spec> using text <text field>

Sets the description of the element. The text field begins after the string "using text" and continues until there is a string "end text" or a "." on a line all by itself. See above for details about line-breaks and Unicode characters.

set element bounds of <element spec> to <rectangle>

Sets the untransformed bounding rectangle of the element.

set element top of <element spec> to <measurement>

Sets the top of the element's untransformed bounds.

set element left of <element spec> to <measurement>

Sets the left edge of the element's untransformed bounds.

set element bottom of <element spec> to <measurement>

Sets the bottom of the element's untransformed bounds.

set element right of <element spec> to <measurement>

Sets the right edge of the element's untransformed bounds.

set element location of <element spec> to <point>

Sets the location of the element (center point).

set element size of <element spec> to <point>

Sets the size of the element. The x value of the point refers to the element's width, the y value to its height.

set element width of <element spec> to <measurement>

Sets the width of the element.

set element height of <element spec> to <measurement>

Sets the height of the element.

set element rotation of <element spec> to <measurement>

Sets the rotation of the element in degrees.

set element skew angle of <element spec> to <measurement>

Sets the skew of the element in degrees.

set element overprint black of <element spec> to <boolean>

Sets the overprint black of the element.

set element {fill | frame | shadow} ink of <element spec> to {color <string> [shade <float> percent] | texture <string> | <gradient>}

Sets the fill, frame, or shadow ink type. Gradient defined below.

gradient :- gradient { line | shift | shape | square | circle | radial }
points left-brace { position <float> percent color <string> shade <float> percent, ... } right-brace
[center <point>] [angle <float>] [repetitions <integer>] [back2back <boolean>]

Gradients contain multiple gradient points, the ... means you may specify a list of gradient points of any size inside the braces. Gradients take a minimum of two points, one at position 0.0 percent and another at position 100.0 percent. Unlike Creator Pro, angles are specified with 0.0 degrees pointing to the east compass point and ascending clockwise.

set element fill ink of element 1 of spread 1 of document 1 to gradient radial points {position 0.0 percent color "black" shade 10.0 percent, position 100.0 percent color "black" shade 90.0 percent}

set element {fill | frame | shadow} color of <element spec> to <string>

Sets the fill, frame, or shadow color for color inks.

set element {fill | frame | shadow} color shade of <element spec> to <measurement> percent

Sets the fill, frame, or shadow color shade percentage for color inks.

set element {fill | frame | shadow} trapping of <element spec> to type {overprint | knockout | choke <measurement> | spread <measurement>}

Sets the fill, frame, or shadow trapping of the element.

set element frame weight of <element spec> to <measurement>

Sets the pen weight of the frame.

set element frame options of <element spec> to {normal | dash <float> <float>}

Sets the frame options of the frame. Can be set to a solid line with normal or a dashed line with dash. The two floating point values correspond to on and off distances for the custom dash type.

set element shadow offset of <element spec> to <point>

Sets the shadow offset.

set element shadow outset of <element spec> to <measurement>

Sets the shadow outset.

set element wrapping relationships of <element spec> to left-brace right-brace

set element wrapping relationships of <element spec> to left-brace <wrap>[, <wrap>...] right-brace

<wrap> :- distance{ <measurement> } how { within | around } element { <element spec> }

Allows you to define the wrapping relationships between a text block and any number of elements. Inside the braces you may specify a single wrapping relationship or a comma-delimited list of any length. If the braces are left empty as shown on the first line then it will remove all wrapping relationships from the text block.

set element wrapping relationships of element 1 of spread 1 of document 1 to {}
set element wrapping relationships of element named "text" of spread 1 of document 1 to {distance 0.5 inches how around element element named "starburst" of spread 1 of document 1 }

set element style of <element spec> to <element style spec>

Sets the element style.

Graphic Element Property Commands

set element graphic of <element spec> to <string>

Sets the graphic file of the element. The <string> should be a path to the file.

set element cropping of <element spec> to <rectangle>

Sets local cropping bounds of the element.

set element scale of <element spec> to horizontal <float> percent vertical <float> percent

Sets the size of the element to a scaled size of the original graphic.

set element use bitmap mask <element spec> { true | false }

Tells the graphic whether it should use a bitmap mask (if the graphic has one).

Starburst Element Property Commands

set element number of points of <element spec> to <integer>

Sets number of starburst points, 4 minimum.

set element round valleys of <element spec> to <boolean>

Sets whether or not the starburst has rounded valleys.

set element round peaks of <element spec> to <boolean>

Sets whether or not the starburst has rounded peaks.

set element randomness of <element spec> to <float> percent

Configures the randomness of the starburst, 0.0 to 100.0 percent.

set element alternation of <element spec> to <float> percent

Configures the alternation of the starburst, 0.0 to 100.0 percent.

Rectangle Element Property Commands

set element {<corner> | all corners} linked of <element spec> to <boolean>

<corner> :- top left | top right | bottom left | bottom right

Links or unlinks the radius size to other corners.

set element <corner> radius of <element spec> to <point>

Sets the radius of the corner.

set element <corner> style of <element spec> to { rounded | inverted | rounded inverted | beveled }

Sets the style of the corner. For a normal corner set the radius to {0,0}.

set element top left style of element named "frame" of spread 1 of document 1 to rounded
set element top left radius of element named "frame" of spread 1 of document 1 to x 0.0 y 0.0

Line And Open Path Property Commands

set element {end | begin} arrowhead of <element spec> to <arrow>

<arrow> :- type none

<arrow> :- type full line length <measurement> angle <float>

<arrow> :- type half line length <measurement> angle <float>

<arrow> :- type square length <measurement>

<arrow> :- type circle length <measurement>

<arrow> :- type full arrow length <measurement> angle <float> width <measurement>

<arrow> :- type half arrow length <measurement> angle <float> width <measurement>

<arrow> :- type full vane length <measurement> angle <float> width <measurement>

<arrow> :- type half vane length <measurement> angle <float> width <measurement>

Allows you to set the beginning and ending arrowheads of a line elements or a paths with a beginning and ending (open).

Border Element Property Commands

set element border of <element spec> to <string>

Sets the border of the element. The <string> should be a path to a Creator .bord file. Creator Server ships with the same border files as Creator does, and are found in the Resources directory. Custom borders can be created with the Creator Border Editor included with the Mac OS install of Creator.

Embedded Spread Property Commands

set baseline offset of <embedded spread spec> to <measurement>

Sets the embedded spread's vertical offset from the baseline in the text.

set size of <embedded spread spec> to <point>

Sets the embedded spread's size.

set width of <embedded spread spec> to <measurement>

Sets the embedded spread's width.

set height of <embedded spread spec> to <measurement>

Sets the embedded spread's height.

Layer Commands

Layers allow you to group elements in order to easily shuffle them up or down in drawing order, make them visible or invisible, lock them all, or prevent them from printing. All new documents begin with a layer named "Default Layer", which by default all new elements appear within. There must always be at least one layer in any document.

set current layer of <doc spec> to <layer spec>

Sets the current working layer for the document. All new elements are created on that layer until changed. When a document is first opened, the current working layer is the "Default Layer".

add layer <string> before <layer spec>

Adds a new layer with the given name before (ie. above or on top off) the specified layer.

delete <layer spec>

Deletes the specified layer, along with all of its contents. Use the "merge" command if you want to destroy a layer but retain the elements it contains.

merge <layer spec> { up | down }

Merges the specified layer up or down. Contents of the merged layer move into the layer directly above or below, and the merged layer is effectively deleted.

move <layer spec> to { before | after } of <layer spec>

Moves the specified layer to a position before or after the specified target layer.

set name <layer spec> to <string>

Changes the name of the specified layer.

set visible <layer spec> to <boolean>

set locked <layer spec> to <boolean>

set prints <layer spec> to <boolean>

Sets the given layer property. All layers default to visible = true, locked = false, and prints = true.

move <element spec> to { begin | end } of <layer spec>

Moves the specified element (or list of elements) to the specified target layer.

Table Commands

create table [named <string>] [at begin | end <spread spec>] [before | after <element spec>]
with <integer> rows <integer> columns cell width <measurement> cell height <measurement>
[auto height | exactly | at least | at most]

The position options are exclusive. If no position is specified the position is defaulted to the beginning of the default spread (must set a default spread or page for this to work). The cell height options (auto height, exactly, at least, at most) restrict the cell heights, but can be adjusted later with the "set table cell height" command.

create table [named <string>] [at begin | end <spread spec>] [before | after <element spec>]
with <integer> rows <integer> columns with bounds <rectangle>

The position options are exclusive. If no position is specified the position is defaulted to the beginning of the default spread (must set a default spread or page for this to work). The rows and columns will be evenly spaced within the given bounds.

insert row count <integer> [before | after] <table row spec>

Inserts rows before or after the given row spec.

insert column count <integer> [before | after] <table column spec>

Inserts columns before or after the given column spec.

delete { <table row spec | table column spec> }

Deletes the the given table row or column.

distribute { <table row spec | table column spec> }

Evenly distributes the given table row or column.

split { <table row spec | table column spec> }

Splits the given table row or column in two.

merge <table selection spec>

Merges the cells within the table selection spec, if possible.

set table frame attributes <table selection spec> to
[top color <string> [shade <measurement> percent]] [top weight <measurement>]
[bottom color <string> [shade <measurement> percent]] [bottom weight <measurement>]
[left color <string> [shade <measurement> percent]] [left weight <measurement>]
[right color <string> [shade <measurement> percent]] [right weight <measurement>]

Set cell frame attributes (color or line weight).

set table separator <table selection spec> to
[horizontal color <string> [shade <measurement> percent]] [horizontal weight <measurement>]
[vertical color <string> [shade <measurement> percent]] [vertical weight <measurement>]

Set properties (color or line weight) of table cell separators (vertical or horizontal).

set table cell height <table selection spec> to <measurement> [auto height | exactly | at least | at most]

Set the table selection's cell height to the given measurement, with optional restrictions.

set table cell width <table selection spec> to <measurement>

Set the table selection's cell width to the given measurement.

Export Commands

The export command options are identical to the Creator Pro export options. In each command, <string> refers to the file name (path) to save the resulting graphic to. Alternatively you can specify "stream" and the resulting graphic will be streamed back to you (see Streaming in the Overview section above).

export { <spread spec> | <page spec> | <element spec> | rectangle <rectangle> of <spread spec> } as GIF { <string> | stream }
[interlaced] [depth { onebit | 8bitgrey | 8bitcolor }] [custom color palette]
[size { normal | double | fourtimes | <float> percent | horizontal <measurement> vertical <measurement> [proportional] }]

Exports the spread, page, element, or rectangular area as a GIF. The defaults are non-interlaced, color, normal size. Note that if specified measurements are used for the size, some distortion (stretching or compressing) of the image may result. Using the "proportional" option will force the GIF to retain the same height and width proportions of the spread. Using the "interlaced" option results in a GIF designed to be downloaded in waves, instead of line by line, which is ideal for a GIF destined for use on the Web. The "custom color palette" option tells CreatorServer to generate a custom color palette for this export, instead of using the default web color palette.

export { <spread spec> | <page spec> | <element spec> | rectangle <rectangle> of <spread spec> } as JPEG { <string> | stream }
[quality <integer>] [depth {8bitgrey | 24bit}] [resolution <integer> ppi]
[size { normal | {<float> percent | horizontal <measurement> vertical <measurement> [proportional]}]

Exports the spread, page, element, or rectangular area as a JPEG. Default is 24 bit, quality 100. Quality values are 0 to 100: 100 is best quality but little compression, 0 is lowest quality but high compression. Low quality JPEGs can end up blurry. The resolution is an integer between 18 and 3000, and the default is 72 ppi. Note that if specified measurements are used for the size, some distortion (stretching or compressing) of the image may result. Using the "proportional" option will force the JPEG to retain the same height and width proportions of the spread.

export { <spread spec> | <page spec> | <element spec> | rectangle <rectangle> of <spread spec> } as TIFF { <string> | stream }
[resolution <integer> ppi] [depth {one bit | 8bitgrey | 8bitcolor | 24bit}]
[size { normal | <float> percent | horizontal <measurement> vertical <measurement> [proportional]}]
[compression { none | LZW | RLE }]

Exports the spread, page, element, or rectangular area as a TIFF file. The resolution is an integer between 18 and 3000, and the default is 72 ppi. Default color depth is 24 bit. Note that if specified measurements are used for the size, some distortion (stretching or compressing) of the image may result. Using the "proportional" option will force the TIFF to retain the same height and width proportions of the spread. The "compression" option allows the TIFF file to be compressed using LZW (gif) compression, or RLE compression.

export { <spread spec> | <page spec> | <element spec> } as EPS { <string> | stream }
[preview { none | color | black and white }]
[method {composite | DCS1 | DCS2}]
[size {<float> percent | horizontal <measurement> vertical <measurement>}]
[no binary encoding] [no level 2 ps]
[OPI comments] [omit bitmap images] [omit EPS]
[resolution limiting <integer>] [flatness <float>]
[fonts { all | none | no base 13 | no base 35 }]

Exports the specified spread, page, or element as an EPS. All preview types are PC (Creator Server cannot generate Mac previews on most platforms).

Composite EPS files contain all color information in one document. DCS1 creates four pre-separated files (one for each process color plate) and a composite file for placement (any spot colors are included in the composite file). DCS2 creates separations as well, but within a single EPS file. Not all applications support DCS2.

Using binary encoding can result in a smaller EPS file, but not all RIPs support it.

You can set OPI options with "OPI comments", "omit bitmap images", and "omit EPS".

Resolution limiting specifies the resolution of images (ie. TIFF) contained within the EPS. Limiting the resolution can result in smaller EPS files, but you may end up with a loss of quality depending on the resolution of the included graphics and the printer type used. Specify the dpi after "resolution limiting", for example, "resolution limiting 1200".

Flatness limiting sets the number of lines used by PostScript to recreate curved segments. Values can range from 0.2 to 100. In general, enter a flatness from 8 to 10 when using high resolution (1200 to 2400 dpi) printers; enter a flatness from 1 to 3 when using low resolution (300 to 600 dpi) printers. If you do not specify a flatness, the EPS will fall back on the printer's default setting.

Fonts can be encapsulated in the resulting EPS file. Using "no base 13" encapsulates all but the 13 fonts that exist on all PostScript printers. Using "no base 35" encapsulates all but the 35 fonts that exist on all second generation PostScript printers. Encapsulating fonts will result in a larger EPS file. The default action if no font options are given is to include all fonts but the base 13.

export { <doc spec> | <spread spec> | <page spec> | <element spec> } as PDF { <string> | stream }
[export as spreads] [export text blocks only] [no binary encoding]
[do not encode page streams]  [resolution limiting <integer>]
[fonts { all | none | no base 14}]
[use paper size <point>] [registration marks] [crop marks] [color bars] [document notes] [plate information]
[bleed <measurement>]
[method { composite | separations }]
[black and white compression { none | RLE | flate }]
[color compression { none | JPEG | flate }] [JPEG quality <integer>]
[presentation mode] [page duration <float>] [transition duration <float>]
[transition style { horizontal split | vertical split | horizontal blinds | vertical blinds | in box | out box | vertical wipe | horizontal wipe | dissolve | glitter }]

Exports the specified document, page, or spread as a PDF file.

Specifying "export as spreads" places each spread in its own page in the PDF. If "do not use doc size" appears Creator Server will use page size instead. Choosing "do not encode page streams" results in an uncompressed PDF, and "no binary encoding" is similar to the EPS binary encoding option -- it can result in smaller PDF files but is not supported by all RIPs.

In order to show ornaments you must first specify a paper size with the "use paper size" option. Then you can control what ornaments appear in the PDF with "registration marks", "crop marks", "color bars", "document notes", and "plate information".

Resolution limiting specifies the resolution of images (ie. TIFF) contained within the PDF. Limiting the resolution can result in smaller PDF files, but you may end up with a loss of quality depending on the resolution of the included graphics and the printer type used. Specify the dpi after "resolution limiting", for example, "resolution limiting 1200".

Fonts can be encapsulated in the resulting PDF file. Using "no base 14" encapsulates all but the 14 fonts installed with Acrobat (same as base 13 plus Zapf Dingbats). Encapsulating fonts will result in a larger PDF file. The default action if no font options are given is to include all fonts but the base 14.

Use the "separations" method if you want the four process color plates to appear in separate pages (plus additional pages for spot colors).

Compression options affect black and white and color graphics in the PDF. "RLE" compression is lossless and works well on graphics with large areas of black or white, "flate" is lossless but does not work as well on line art, and "JPEG" is lossy but can result in much smaller graphic sizes. "JPEG quality" is chosen by a number from 1 to 100, where 1 is the lowest quality but smallest size and 100 is the best quality but with minimal compression.

The options after "presentation mode" allow you to set the presentation options for the PDF. The "page duration" and "transition duration" can be from 1.0 to 10.0 (seconds).

export <doc spec> as XML <string> | stream [pretty]

Exports the specified document as an XML file. The "pretty" option adds extra spaces and newlines for human readability but results in a larger file. Pretty print is on by default. Refer to the Creator XML document schema for a (lengthy) description of the XML Creator document format.

Text Manipulation

<text position spec> :- {char <integer> | word <integer> | line <integer> | paragraph <integer>}


<text range spec> :- text from <text position spec> to <text position spec> of { <text range spec> | <textflow spec> }

<text range spec> :- literal text <text field> [<integer>] of { <text range spec> | <textflow spec> }

<text range spec> :- all text of <textflow spec>

Specifies a range of text for a text based command. The "literal text" mechanism matches ALL instances of the literal text. An integer can be specified for the index of a particular instance of the literal text in the flow. The text field begins after the string "literal text" and continues until there is a string "end text" or a "." on a line all by itself. See above for details about line-breaks and Unicode characters.

create textflow in <spread spec> with <element spec>

Creates a textflow that encompasses all the elements you specify, it can be a single element or a list. You may then edit text in that flow and get at it using "textflow of <element spec>" as the textflow spec.

copyfit <textflow spec> { proportional | nonproportional | adjust {scale | size [minimum font size <float>] [maximum font size <float>] | horizontal scale | tracking | leading } }
[whole words] [overflow only] [ignore trailing returns]

Copy fits the specified text flow using the method specified. The proportional and nonproportional options scale the textblock without rewraping the lines of text. The adjust size option also takes optional restrictions on the font size, which may cause the command to fail (if the minimum size is too small to allow the copy fit). If the text cannot be copy fit due to overflowed text , Server returns error 308 (see Command Return Codes). The "whole words" option stops CreatorServer from wrapping a word across multiple lines. The word will only break at hyphens, and this can even be avoided by using non-breaking hyphens ( \U2011 ). The "overflow only" will cause the copyfit command to be ignored if unless the textflow is overflowed.

replace text <text range spec> using text <text field>

replace text <text range spec> using unicode <text field>

Deletes the text range specified, and inserts the text provided in it's place. The text field begins after the string "using text" and continues until there is a string "end text" or a "." on a line all by itself. See above for details about line-breaks and Unicode characters. Including no text in the text field just deletes the initial text. In the example below, the only actual return characters sent to Creator Server follow "using text", "Wow!", and "end text" (completing the command). The explicit newline in the text field will create a two line text flow.

The second form of the command indicates the text field should be interpreted to contain UTF-8 characters.

replace text all text of textflow of element named "headline" of spread 1 of document named "ad" using text
New and Improved Version!\nWow!
end text

get number of <text position spec> in { <text range spec> | <text flow spec> }

Returns the number of the specified text type in a specific selection of text or the whole flow.

get text <text range spec> [ to stream | in XML ]

Returns a selection of text in Text Field format, following the return value of 100 if successful. If "to stream" is specified, the result will be streamed back instead of following the return code. If "in XML" is specified, the result will be encoded in a value tag in UTF-8 encoding.

format <text range spec> [font <string>] [fontsize <float>]
[fixed leading <float>] [auto leading <float> percent]
[tracking <integer>]
[horizontal scale <float> percent]
[vertical offset <float> percent]
[word space <float> percent]
[space before paragraph <float>] [space after paragraph <float>]
[bold outset <float>]
[italic skew <float>]
[outline weight <float>]
[text shadow outset <float>]
[shadow skew <float>]
[shadow vertical scale <float> percent]
[shadow horizontal offset <float> percent ]
[shadow vertical offset <float> percent]
[justification { center | left | right | full } [allow contraction]]
[plain] [embolden] [italicize] [underline] [word underline] [outline] [shadowed] [condense] [extend]
[superior] [inferior] [superscript] [subscript] [upper case] [lower case] [title case] [small caps]
[color <string>] [color shade <float> percent]
[fill color <string>] [fill color shade <float> percent]
[shadow color <string>] [shadow color shade <float> percent]
[hyphenate { true | false }]

Formats the specified text in the specified manner. The horizontal scale affects text on a line-by-line basis. If the text (paragraph) is fully justified, you can specify "allow contraction" to let Creator Server reduce as well as expand word spacing. Hyphenation defaults to "false", so if you want text to break you will need to set "hyphenate true".

format <element spec> [vertical alignment { top | center | bottom | justify | force justify }]
[horizontal text scale <float> percent]
[vertical text scale <float> percent] [text inset <float>]

Formats the element's text block in the specified manner. For vertical alignment, the justify option only works if the text block isn't the last text block, whereas force justify command always justifies the text block's text.

format <text range spec> with <type style spec>

Sets the type style of the specified text to the named character style.

format <text range spec> with <paragraph style spec>

Sets the paragraph style of the paragraph(s) that contain(s) the specified text to the named paragraph style.

apply tags to { <text range spec> | <textflow spec> }

Forces the tags in a text selection or text flow to be applied. The tags work as follows:

  • The tag delimiters are « and » (0xAB and 0xBB, or respectively). To enter these in a text field, use the strings "\U00AB" and "\U00BB".
  • The first character in the tag determines what type of style the tag is. 'T' means it's a Type Style, 'P' means it's a Paragraph Style, 'M' means it's a Style Model, and 'N' means None (the tag is deleted and no style is applied).
  • The second character indicates whether to look up the style be name or number. "#" means by number and the numerical value of the style must follow. ":" means by name and the name of the style must follow (with no preceding spaces).

If the tag cannot be understood, or does not match any styles, then the tag is ignored.

apply <style model spec> to <text range spec>

Applies a style model to the specified text.

check {<textflow spec> | <doc spec>} for overflows

Checks the specified text flow, or all of the text flows in the document for overflowed text. When checking a specific text flow it will return a warning (208) if there is an overflow. When checking the whole document it will return the same warning code, a streamed byte count, then an XML snippet describing the <textflow spec>s that are overflowed.

import text file <string> [at begin | end <spread spec>] [before | after <element spec>] [into <element spec>] [location <point>] [size <point>] [apply tags <boolean>]

Imports plain text or RTF files. The string is the path to the file. The at/before/after is the location (spread or container element) into which the new text block will be inserted. Into is the shape to import the file into. This turns an existing shape into a text block. Do not use if "at/before/after" are used. Location is the coordinate where the text block will be created. The size is the size at which to create the new text block. Apply tags will apply tags within text if true (default false). Note that if the chosen element is already a text block, it must be empty of text or the command will fail.

import text file "blurb.rtf" into element named "description" of spread 1 of document 1 apply tags true
import text file "blurb.rtf" at begin of spread 1 of document 1 location x 10 y 10 size x 100 y 100

Query Commands

These commands query the contents and values of identified objects (documents, spreads, pages, elements). The results are returned in an XML file which strictly validates to the Creator XML document schema. Using the word stream in place of a filename will have the resulting XML file streamed back to you. Pretty print adds extra spaces and newlines for human readability but results in a larger file. Pretty print is off by default.

query <doc spec> to {<string> | stream} [pretty]

Writes out the contents of a document in XML to a file or the stream.

query <spread spec> to {<string> | stream} [pretty]

Writes out the contents of a spread in XML to a file or the stream.

query <page spec> to {<string> | stream} [pretty]

Writes out the contents of a page in XML to a file or the stream.

query <element spec> to {<string> | stream} [pretty]

Writes out the contents of an element in XML to a file or the stream.

query <id object spec> to {<string> | stream} [pretty]

Writes out the contents of any object referenced by ID in XML to a file or the stream.

get spec for <id object spec>

Writes to the stream the 'spec' string to reference any object.

Client Data Commands

Client data allows attaching of persistent data owned by external processes to objects within the document structure. The objects that support the attachment of client data are: documents, spreads, master spreads, pages, master pages*, elements, text flows, colors**, type/character styles, paragraph styles, style models, element styles.

* Not implemented yet.

** Client data can not be attach to the colors None, Black, White, or Registration.

<client data spec> :- <doc spec>

<client data spec> :- <spread spec>

<client data spec> :- <master spread spec>

<client data spec> :- <page spec>

<client data spec> :- <element spec>

<client data spec> :- <textflow spec>

<client data spec> :- <color spec>

<client data spec> :- <type style spec>

<client data spec> :- <paragraph style spec>

<client data spec> :- <style model spec>

<client data spec> :- <element style spec>

Any of these specifiers may be used wherever <client data spec> is noted.

attach client data to <client data spec> from client <string> with id <integer> size <integer> replacing <boolean> \n<...data stream...>

Attach data of a given size to a client data spec. The client string specifies the owner of the data. Replacing specifies if the command is allowed to replace existing data, if any. The byte contents of the data are to be streamed immediately after the command. Server will read the exact number of bytes specified and then send its response of success or failure.

get client data from <client data spec> from client <string> with id <integer>

Retrieve data from a client data spec given the client and id. The byte contents of the data will be streamed back upon success using the standard streaming reply.

delete client data from <client data spec> from client <string> [with id <integer>]

Deletes data from a client data spec given the client and id. If no id is specified then all data matching the client will be deleted from the client data spec.

get client data ids from <client data spec> from client <string>

Retrieve a list of ids of all of a client's data attached to a client data spec. The result is returned as a list of integers which will be streamed back as a complex XML response.

find client data in <client data spec> from client <string> with [id <integer>] size <integer> \n<...data stream...>

Searches a client data spec and its contents for data that matches the streamed data and an optional id. The result is returned as a list of identified objects which will be streamed back as a complex XML response. The byte contents of the data are to be streamed immediately after the command. Server will read the exact number of bytes specified and then send its response of success or failure.

Image Conversion Commands

Image conversion can be done on JPEG, GIF, EPS, CIF, and Creator Files. The first <string> specifies the input filename, and the second specifies the output filename. Use the word "stream" in place of the output filename to have the result file streamed back (see Streaming in the Overview section above).

convert <string> to GIF <string> | stream
[interlaced] [depth { onebit | 8bitgray | 8bitcolor }] [custom color palette]
[size { normal | double | fourtimes | <float> percent | horizontal <measurement> vertical <measurement> [proportional]}]

Converts the file to a GIF. The defaults are non-interlaced, color, normal size. Note that if specified measurements are used for the size, some distortion (stretching or compressing) of the image may result. Using the "proportional" option will force the GIF to retain the same height and width proportions of the spread. Using the "interlaced" option results in a GIF designed to be downloaded in waves, instead of line by line, which is ideal for a GIF destined for use on the Web. The "custom color palette" option tells CreatorServer to generate a custom color palette for this export, instead of using the default web color palette.

convert <string> to JPEG <string> | stream [quality <integer>]
[depth {8bitgray | 24bit}] [resolution <integer> ppi]
[size { normal | <float> percent | horizontal <measurement> vertical <measurement> [proportional]}]

Converts the file to a JPEG. Default is 24 bit, quality 100. Quality values are 0 to 100: 100 is best quality but little compression, 0 is lowest quality but high compression. Low quality JPEGs can end up blurry. The resolution is an integer between 18 and 3000, and the default is 72 ppi. Note that if specified measurements are used for the size, some distortion (stretching or compressing) of the image may result. Using the "proportional" option will force the JPEG to retain the same height and width proportions of the spread.

convert <string> to TIFF <string> | stream [resolution <integer> ppi]
[depth {one bit | 8bitgrey | 8bitcolor | 24bit}]
[size { normal | <float> percent | horizontal <measurement> vertical <measurement> [proportional]}]
[compression { none | LZW | RLE }]

Converts the file to a TIFF file. The resolution is an integer between 18 and 3000, and the default is 72 ppi. Default color depth is 24 bit. Note that if specified measurements are used for the size, some distortion (stretching or compressing) of the image may result. Using the "proportional" option will force the TIFF to retain the same height and width proportions of the spread. The "compression" option allows the TIFF file to be compressed using LZW (gif) compression, or RLE compression.

convert <string> to EPS <string> | stream
[preview { none | color | black and white }]
[method {composite | DCS1 | DCS2}]
[size {<float> percent | horizontal <measurement> vertical <measurement>}]
[no binary encoding] [no level 2 ps]
[OPI comments] [omit bitmap images] [omit EPS]
[resolution limiting <integer>] [flatness <float>]
[fonts { all | none | no base 13 | no base 35 }]

Exports the specified spread as an EPS. All preview types are PC (Creator Server cannot generate Mac previews on most platforms).

Composite EPS files contain all color information in one document. DCS1 creates four pre-separated files (one for each process color plate) and a composite file for placement (any spot colors are included in the composite file). DCS2 creates separations as well, but within a single EPS file. Not all applications support DCS2.

Using binary encoding can result in a smaller EPS file, but not all RIPs support it.

You can set OPI options with "OPI comments", "omit bitmap images", and "omit EPS".

Resolution limiting specifies the resolution of images (ie. TIFF) contained within the EPS. Limiting the resolution can result in smaller EPS files, but you may end up with a loss of quality depending on the resolution of the included graphics and the printer type used. Specify the dpi after "resolution limiting", for example, "resolution limiting 1200".

Flatness limiting sets the number of lines used by PostScript to recreate curved segments. Values can range from 0.2 to 100. In general, enter a flatness from 8 to 10 when using high resolution (1200 to 2400 dpi) printers; enter a flatness from 1 to 3 when using low resolution (300 to 600 dpi) printers. If you do not specify a flatness, the EPS will fall back on the printer's default setting.

Fonts can be encapsulated in the resulting EPS file. Using "no base 13" encapsulates all but the 13 fonts that exist on all PostScript printers. Using "no base 35" encapsulates all but the 35 fonts that exist on all second generation PostScript printers. Encapsulating fonts will result in a larger EPS file. The default action if no font options are given is to include all fonts but the base 13.

convert <string> to PDF <string> | stream
[export as spreads] [export text blocks only] [no binary encoding]
[do not encode page streams] [resolution limiting <integer>]
[fonts { all | none | no base 14}]
[use paper size <point>] [registration marks] [crop marks] [color bars] [document notes] [plate information]
[method { composite | separations }]
[black and white compression { none | RLE | flate }]
[color compression { none | JPEG | flate }] [JPEG quality <integer>]
[presentation mode] [page duration <float>] [transition duration <float>]
[transition style { horizontal split | vertical split | horizontal blinds | vertical blinds | in box | out box | vertical wipe | horizontal wipe | dissolve | glitter }]

Converts the file to a PDF file.

Specifying "export as spreads" places each spread in its own page in the PDF. If "do not use doc size" appears Creator Server will use page size instead. Choosing "do not encode page streams" results in an uncompressed PDF, and "no binary encoding" is similar to the EPS binary encoding option -- it can result in smaller PDF files but is not supported by all RIPs.

In order to show ornaments you must first specify a paper size with the "use paper size" option. Then you can control what ornaments appear in the PDF with "registration marks", "crop marks", "color bars", "document notes", and "plate information".

Resolution limiting specifies the resolution of images (ie. TIFF) contained within the PDF. Limiting the resolution can result in smaller PDF files, but you may end up with a loss of quality depending on the resolution of the included graphics and the printer type used. Specify the dpi after "resolution limiting", for example, "resolution limiting 1200".

Fonts can be encapsulated in the resulting PDF file. Using "no base 14" encapsulates all but the 14 fonts installed with Acrobat (same as base 13 plus Zapf Dingbats). Encapsulating fonts will result in a larger PDF file. The default action if no font options are given is to include all fonts but the base 14.

Use the "separations" method if you want the four process color plates to appear in separate pages (plus additional pages for spot colors).

Compression options affect black and white and color graphics in the PDF. "RLE" compression is lossless and works well on graphics with large areas of black or white, "flate" is lossless but does not work as well on line art, and "JPEG" is lossy but can result in much smaller graphic sizes. "JPEG quality" is chosen by a number from 1 to 100, where 1 is the lowest quality but smallest size and 100 is the best quality but with minimal compression.

The options after "presentation mode" allow you to set the presentation options for the PDF. The "page duration" and "transition duration" can be from 1.0 to 10.0 (seconds).

Spell Check Commands

set language to { US English | UK English | French | German | Spanish | Finnish | Afrikaans | Sweedish | Danish | Dutch | Italian | Norwegian }

Sets the curent language. This can affect the hyphenation and spell checking as well as the language for any text added/replaced in the open documents.

spell check { <doc spec> | <textflow spec> | <text range spec> | <string> } [<string> | stream] [pretty] [ignore duplicates]

Checks the spelling of all flows in a document, a specific flow, a specific part of a flow, or a text string. It will return 100 if the word is correct. If there is a spelling error it will return 205 and the with the results in XML. The XML can be streamed to the client (default) or saved to disk. Refer to the Creator Spell Check Response Schema for a description of the Spell Check Response. The "pretty" option adds formatting to make the XML easier for humans to read (default is off). The "ignore duplicates" option skips duplicate misspellings (default is off).

load universal dictionary <string> [ allow create ]

Loads the specified file as a universal dictionary. If it is opened with the "allow create" option, the file will be created when it can't be found. When the file can't be found normally, CreatorServer will also look in the "Resources/Dictionaries" directory.

add words left-brace <string>[, <string>...] right-brace to [universal] dictionary [replacing]

Adds the specified list of words to the user dictionary for the currently loaded language. If the "replacing" option is specified, all of the words currently in the user dictionary will be replaced.

remove words left-brace <string>[, <string>...] right-brace from [universal] dictionary

Removes the specified words from the the list of words in the user dictionary for the current language.

get words from [universal] dictionary [in XML]

Gets the list of words in the user dictionary for the current language. Can be returned on a single line or in XML.

Control Commands

These commands affect the state of the server or the operation of script commands in the session they are executed in.

exit

This command signals the end of a script session. No further commands will be parsed through this channel. Reaching end of file on an input is equivalent to issuing this command.

disconnect

Terminates your TCP connection to Creator Server but keeps your session alive. A response of 103 <session-id> <session-key> will be returned, your session-id and session-key are numbers. Your id and key are used to reconnect. By default you have 5 minutes to reconnect to your session before Creator Server discards it. The SessionTimeout tag in the Preferences File allows you to adjust the session timeout.

reconnect <session-id> <session-key>

You can use this to reconnect to a previously disconnected session. A response of 104 Reconnected will be returned on success, otherwise an error will be returned and you will remain connected to Creator Server.

shutdown

Initiate server shutdown. The current session and all other sessions will end and the server itself will exit. This command is generally restricted via the license file (ie. it is too dangerous to allow in any but single-user, localhost-only distributions).

version

This command will return version information for Creator Server, in the following format:

Version major.minor.patch, Build buildnumber

For instance the first versioned release returned "Version 1.0.0, Build 20020110". The build number is also the date of the build, ie. January 10, 2002 in the example. This is the same format as used with the "-v" or "--version" command line option.

check license

Use this command to get the expiration date of the license file for CreatorServer.

reload fonts

This command will reload the fonts used by CreatorServer. It is NOT reccommended to use this command while other users are connected to CreatorServer.

list fonts

This command will list all of the fonts loaded by CreatorServer. The list will be streamed back (see Streaming in the Overview section above).

include <string>

Loads the file specified by <string>, and executes the commands in it as though they had been directly in the input stream. This command is mainly intended to simplify development.

buffer input

Buffers all input into a local file then loads that file as an include. The "exit" command will end the buffering and begin processing the commands. Send the "exit" command again to safely end the session.

upload <integer> byte file as <string> \n <...data stream...>

Upload a file. The <integer> specifies the number of bytes and <string> specifies the pathname the file will be saved under. The byte contents of the file are to be streamed immediately after the command. Server will read the exact number of bytes specified and then send its response of success or failure. NOTE: this command may only be ended with a single newline character.

Setting Preferences

These commands affect session-based prefences and can also be set for all sessions via the Preferences File.

set preference always use photoshop masks to {true | false}

Graphics will always use an embedded Adobe® Photoshop mask.

set preference warn about missing fonts in graphics to {true | false}

Return a warning when places EPS/PDF graphics use fonts that are not embedded and are not available on the system.

set preference preprocess EPS files to {true | false}

Preprocess compressed EPS files so they can be printed on a