Skip to main content
Skip table of contents

The settilingparams operator

This page applies to Harlequin v13.1r0 and later; and to Harlequin Core but not Harlequin MultiRIP

dict|null settilingparams –

If called with a null object on the stack, settilingparams removes all tiling configuration.

To configure tiling, settilingparams is called with a dictionary on the stack. The dictionary must contain one or more of the keys /Page , /HVDPage , and/or /HVDElement . These keys define the tiling method to be applied for the different page and element types. The operator validates the /Page , /HVDPage , /HVDElement and /Action keys, and saves it to an internal dictionary. Tiling configuration is subject to save/restore.

/Page

This tiling method applies to pages when HVD is not active, either because an HVD scan was not requested or configured, or because the HVD scan failed to find enough reusable content to turn HVD on.

/HVDPage

This tiling method applies to pages when HVD is active. It is used to define the areas of each page to be emitted in the Page Define for HVD.

Note: This functionality is intended for use with external HVD. Using tiling together with interval HVD is not recommended, as it's likely to be slower than not using HVD at all.

/HVDElement

This tiling method applies to all raster elements generated when HVD is active. It is used to apply tiling limits to individual rasters composed by HVD.

The value of each of each of these page/element type keys may be:

null

This indicates that the particular page or element type is not to be tiled. This is the default value; it can be set explicitly for clarity.

A name or a string

If the value is a name or a string, it must represent one of the other keys listed above, and indicates that the configuration for the page/element type is the same as a different page/element type. As an example, the value of /HVDPage might be /Page . The key named may resolve to a dictionary, a null value, or another name or string. The sequence of name or string aliases must ultimately resolve to a dictionary or null value.

A dictionary

If the value is a dictionary, it describes a tiling method and the parameters to be applied for the page or element type; see Tiling method dictionaries .

Caution: If a job is configured to use eHVD and a tiling method is specified for HVDElement or HVDPage , or is configured to use iHVD with tiling method HVDPage , but the HVD scan does not find any re-use then the tiling process will fall back to using the Page tiling method. If the value of Page is null then no tiling will be performed, which may mean that very large rasters are delivered to the raster backend.

The dictionary passed to settilingparams may also contain the optional key /Action , with a PostScript procedure object as its value. If present, the /Action procedure is called when processing PDF after each set of tiles are generated by the tiling method for /Page or /HVDPage (but not /HVDElement ). The Action procedure is presented with a dictionary describing the set of tiles generated. It consumes this dictionary and returns either the name /Add (to continue rendering the tiles) or /Discard (to ignore the tiles). This hook will be used by the Scalable RIP, and possibly other OEM integrations, to analyze files and pass the tiles from each page of the job for scheduling on multiple RIPs. There are other potential uses of the hook (for example, reporting information about the tiles used early in the processing of a page).

Tiling method dictionaries

The tiling method dictionary for each page/element type must contain a /Method key. The value of this key is a name or string that will be used to look up an implementation of the tiling method API. The tiling method API will be called for each appropriate page/element of the type configured, to validate method parameters, instantiate an iterator for the page/element bounding box, get all of the tiles from the iterator, and destroy the iterator. Tiling method API implementations may be supplied by OEM code in the skin, or built into the RIP. The Rectangular, Explicit and Error methods built in the SDK are listed in Tiling methods supported by Harlequin Core .

The tiling method dictionary may also contain parameters specific to each tiling method. Any parameter type supported by the swdatum API (defined in the swdataapi.h header file in the SDK) is permitted; this includes integers, Booleans, floats, names, strings, arrays of values, and dictionaries of values. The parameters may be used to configure the tiling iterator's behavior.

Different page/element types may be configured using the same method, but with different parameters, if desired.

When sending pages or page ranges to multiple farm RIPs in a Scalable RIP configuration, it is likely that the /Explicit method will be used with different parameters in the configurations sent to each Farm RIP. In other multiple RIP solutions, it may be more appropriate to use the same tiling configuration for each RIP, and render all tiles of a page or page range on each Farm RIP.

Using an Action hook for tiling configuration

When tiling PDF and image files, the tiling configuration dictionary may optionally include an /Action procedure, which can be used to determine whether to export information for later processing, or whether to render tiles immediately. The RIP can use this to determine whether to render a set of tiles, or to skip to the set of tiles (usually on the next page). The Action procedure takes a dictionary on the stack, consumes it, and returns a name on the stack indicating the action to take. The dictionary on the stack provided to Action contains:

/Page

(Integer) The page number from the input file.

/Tiles

(Array). A tile array, using the same format as the maketiles operator and the Explicit tiling method's /Tiles key.

Specifying /Action in the tiling configuration will cause PDF to create a dictionary, insert the /Page key and page number into the dictionary, call the tiling iterator method, insert the /Tiles key and the output of tiling iterator method into the dictionary, then call the /Action procedure. After calling the procedure, the name left on the stack will determine whether to interpret the page content (/Add ) or skip it (/Discard ).

If there is no /Action procedure in the tiling configuration, then actions equivalent to /Add are assumed.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.