Skip to main content
Skip table of contents

(v13) Harlequin VariData parameters


This page applies to Harlequin v14.0r0 and later; and to Harlequin Core but not Harlequin MultiRIP.

Page content:

This section describes the various parameters that can be used with HVD.

Unless otherwise stated, these parameters may be set in pdfopen, setpdfparams, or pdfexec; they cannot be set in pdfexecid.

Also, unless otherwise stated, these parameters apply to both internal and external mode, including position independent.

EnableOptimizedPDFScan

Optional Boolean or Name or string 

Default: /Never

Activates Harlequin VariData.

From v11.0r1, the /EnableOptimizedPDFScan can be used as a tri-state parameter allowing: /Always , /Never , or /Auto while also retaining the boolean options of true and false for backwards compatibility, where /Always is the same as true and /Never is the same as false.

From v11.0r2, the /EnableOptimizedPDFScan parameter can be set in a call to pdfexec. Previously, it could only be set from setpdfparams.

OptimizedPDFCacheID

Required string

This key is required when HVD is activated and is the identifier for the cache implementation to connect to (that is, it identifies the HVD back end that is to be used to perform raster element caching). It may be one of the built-in values (prefixed with GG_ ) or one defined by a custom OEM created back-end cache implementation. This could be a plugin, an HHR back end (see “HVDNONE” or “HVDRAW” as described in the Harlequin Core SDK Developer’s Guide ) or internal HVD (GGIRR ).

OptimizedPDFCoalesceLimitPercent

Optional Number 

Default: -1

This option can only be used for eHVD.

This option provides less scanning flexibility and controls the way marks on the page are coalesced into raster elements. If this parameter is negative (that is, the default), there is no restriction: every eligible mark is coalesced. If it is zero, no coalescing at all takes place. If it is positive, coalescing is allowed.

The value used should be a unique string; we recommend that you prefix it with an abbreviation that identifies your company or product (for example: OEM_HHR_PDF_HVD).

For more information see the API Reference Manual, “HVD diagnostic mode”.

The higher the value, the more likely a mark is allowed to coalesce with other marks despite any growth in the overall bounding box it may lead to. Conversely, a small positive value means that coalescing happens only in those cases where there is little overall increase in the overall bounding box. In other words, large values of this parameter are likely to mean fewer elements per page, but larger areas of white space within them.

OptimizedPDFCompactMemory

Optional Boolean

Default: false

From Harlequin Core v13.2r3, OptimizedPDFCompactMemory is deprecated; it will be removed from Harlequin Core v14.0r0.

This is a Boolean switch-controlling memory behavior and decides between the option of using less memory or faster operation. When this flag is true, the RIP discards some bits of scanner state earlier than it otherwise would. This leads to a lower overall memory usage for many jobs at the possible expense of less flexible mark coalescing and therefore more raster elements per page on average. Also there is a scanning speed penalty for this lowering of memory consumption.

OptimizedPDFCoverageLimitPercent

Optional Integer

Default: 0 (no limit)

This option can only be used for eHVD.

This option only takes effect when OptimizedPDFExternal is true. When greater than zero, the RIP calculates the total area of the bounding boxes of the raster elements it has scanned on every page. When this area expressed as a percentage of the overall page area exceeds the value of this parameter, all marks for the page in question are coalesced into a single raster element. For example, if the scanner calculates that there are three elements on a given page and each is the same size as the page itself, the calculated total area is 300% of the page area; any value below 300 for this parameter would result in the page being limited to a single raster element (and thus the coverage would be reduced to 100%).

OptimizedPDFElementTileClip

Optional Boolean

Default: false

(Available from Harlequin v13) A boolean that only has effect when both HVDPage and HVDElement methods are defined in (v13) The settilingparams operator. It determines if HVDElement tiling is clipped to the bounding box of each HVDPage tile. The default value (false) allows elements to be reused between HVDPage tiles; however, doing so may result in more elements intersecting a particular HVDPage tile and having odd intersections with HVDPage tiles (depending on the element position).

Setting this value to true reduces the chance of being able to reuse elements between HVDPage tiles; however, doing so may result in fewer elements intersecting each tile.

OptimizedPDFExternal

Required Boolean

This controls whether external or internal HVD is used. When this PDF parameter is true, external HVD is used, and the RIP assumes that the OEM’s own code has a method to store and combine the output rasters to form a final page.

OptimizedPDFFormIntersectPixels

Optional Integer 

Default: 3

From Harlequin v12.1r1. Number of device pixels to relax intersection test by for forms that are repeated multiple times on a single page.

Jobs printing elements such as labels or imposed postcards can have a few pixels of overlap between repeats of those elements. If the elements are transparent or contain transparent items, HVD would normally coalesce adjacent instances, even if they only overlap by a few pixels.

This parameter is for preventing such coalescing where the overlap is sufficiently small that it can be regarded as not being deliberate.

Using a large value runs the risk of processing deliberate overlaps incorrectly, but the maximum appropriate value depends on device resolution and the jobs being processed. Valid values are integers. 0 means to not relax the intersection test, which gives the same results as RIPs before Harlequin v12.1r1.

OptimizedPDFFormThreshold

Optional    

Integer     

Default: 512

This parameter sets the minimum stream length in bytes for an XObject form to be automatically treated as significant (and hence more likely to be retained) the second time it is encountered. This avoids forms which are, for example, just containers for very small fills or linework automatically being treated as significant, and can help avoid an excessive number of small rasters being retained. If the form contains significant marks or is being treated as significant (for example, due to PDF/VT hints), this parameter makes no difference.

This parameter was introduced for v12.0r2. Set to 0 to keep behavior the same as v12.0r1.

The value for OptimizedPDFFormThreshold is set in bytes, while the value for OptimizedPDFImageThreshold is set in kB.

OptimizedPDFGridEpsilon

Optional 

Real number

Default: 0.000001

This option only takes effect when used with position-independent eHVD. It has no effect when either /OptimizedPDFExternal or /OptimizedPDFPositionIndependent is false.

This controls how sensitive HVD is to differences between the phase offsets of graphics with respect to the pixel grid. The smaller, the more sensitive, and more likely that eHVD output exactly matches rendering without HVD. The larger the value, the more likely the RIP is to identify two elements as identical and therefore to increase performance.

Positive real values up to a maximum of 1.0 can be used (or the integer value 1); for many applications we recommend a value of 1.0 as giving sufficiently accurate output.

Maximum valid value: 1.0 or 1

A value of 0 is taken to mean the default value.

OptimizedPDFGridX, OptimizedPDFGridY

Optional real numbers

Default: 1.0

The value for OptimizedPDFFormThreshold is set in bytes, while the value for OptimizedPDFFormThreshold is set in kB.


This option can only be used for eHVD.

This pair of parameters controls the grid size from which the HVD scanner calculates phase offsets. It is expressed in device pixels. By default this grid is set on single-device pixel boundaries but, for instance, if a customer code requirement exists where raster elements must be aligned on a grid which is larger than that, these parameters may be adjusted. Naturally, the larger these values are, the greater the probability that two elements which differ only in x ,y offset is given different ID values.

The values entered are rounded to the equivalent of the nearest positive integer (that is, a value of 4.2 is rounded to 4.0).

OptimizedPDFIgnoreHints

Optional Boolean

Default: false

From Harlequin v12.0r2. When set to true, all GTS and GGSL hint entries in XObjects are ignored. It is provided primarily for debugging files and for cases where hints have been set incorrectly. See Harlequin Technical Note Hqn101: Harlequin VariData hint tags.

OptimizedPDFIgnorePatternPhase

Optional Boolean 

Default: false

This option only applies to position-independent eHVD.

From v11.0r6a, the OptimizedPDFIgnorePatternPhase parameter controls whether the HVD scanner should take account of the pattern tiling’s offset from the bounding box of a given mark on the page. When false, the presence of a pattern in the job being scanned disables position-independent HVD (if enabled) to achieve pixel-for-pixel matching between HVD and non-HVD output. When true, HVD allows position independence to remain on when there are patterns in the job, resulting in output in which pattern phase may vary from that obtained without HVD. The customer decides whether or not the differences are significant, but generally it is most obvious only when exact pixel-for-pixel outputs are being compared (for example, using checksumming).

From v12.1r0, if this parameter is set to false, the presence of a pattern in the job being scanned amends processing within the RIP if position independent HVD is enabled. The rasters and events output in the format expected for the value of the OptimizedPDFPositionIndependent flag, but multiple instances of the same graphic or collection of graphics at different positions on the page are no longer be treated as the same and are rendered separately. This parameter may also be specified in the parameter dictionary to pdfexec and pdfopen.

OptimizedPDFImageThreshold

Optional   

Integer

Default: 32

This parameter sets the minimum stream length in kB for an image (or imagemask) XObject to be automatically treated as significant (and is more likely to be retained). This can help avoid an excessive number of small rasters being retained.

The value for OptimizedPDFFormThreshold is set in bytes, while the value for OptimizedPDFImageThreshold is set in kB.

OptimizedPDFPositionIndependent

Optional Boolean

Default: true

This option can only be used for eHVD.

This boolean flag, when set, enables position independent HVD. When in position-independent HVD mode, the RIP finds elements that appear on multiple pages drawn with gstates which are identical except for their x ,y translation values. That is, the elements passed to the customer code have extra position data alongside them, which is needed to reassemble the final page from the elements supplied by the RIP.

For example, a 2 x 2 imposed flat where each of the imposed pages has the same background uses a single cached element to represent that background; it appears four times in the API metadata for that page, each time with a different x ,y offset. When this flag is false, each element passed to the customer code by the RIP is the same size as the pages for which the element is intended. When it is true, each element is passed in a raster that is just large enough to contain the data. That is, none of the elements making up a page are necessarily the same size as the page.

The raster and metadata delivery to the back end is different between external HVD and position independent HVD; see the Harlequin API Reference Manual.


OptimizedPDFScanChunkSize1

Optional boolean

Default: false

From Harlequin v13.2r4.

When iHVD or NPI-eHVD are in effect, setting this parameter to true allows the HVD scan to take place with a chunk size of 1.

In combination with the /OptimizedStashPages parameter, this may allow reuse to take place for a multi-page job even with a chunk size as low as 1. In addition in a few cases, multi-page iHVD or NPI-eHVD jobs with suitable GGSL hints may reuse with a chunk size of 1. The parameter has no effect where the RIP is presented with a longer job or a bigger chunk size.

Before v14.0, when PI-eHVD is in effect with /OptimizedPDFIgnorePatternPhase false and the RIP detects patterns in the job, it would drop back to NPI-eHVD internally, in which case this parameter would prevent a single-page chunk from aborting the scan.

From v14.0 onwards this parameter has no effect when PI-eHVD is in use.


OptimizedPDFScanLimitPercent

Optional     

Integer percentage

Default: 10

An integer percentage (that is, min. 0, max. 100). It controls whether the optimized PDF scan ends early or not.

This value is present to avoid the scanning overhead on jobs where the optimization is not going to be effective. The HVD scanning phase checks whether any reuse has been found on each page, and if not, then this page is considered a unique page. The accumulated number of unique pages in the current file (or chunk if PageRange is being used) so far is compared to the total number of pages in the file/chunk. If the percentage exceeds the OptimizedPDFScanLimitPercent the scan is aborted and the rest of the processing of the file/chunk is performed without HVD.

If position-independent HVD is not in use, the scanning is omitted entirely if: “100 / (pages in chunk) > OptimizedPDFScanLimitPercent ” as each element can be (re)-used at most once per page. (For example, if the OptimizedPDFScanLimitPercent is 25, then scanning would not be started for a file/chunk with fewer than four pages.

If a large job is split into “chunks” of data with the use of /PageRange (see (v13) Using HVD with page ranges), and the HVD scan in any chunk aborts because too many unique pages are encountered, then no scan at all is tried for any subsequent chunk in the job. Thus, if you are using small chunks of data and are seeing jobs aborting the HVD scan when you think there should be re-use of data, you should consider increasing the /OptimizedPDFScanLimitPercent value, possibly up to the maximum of 100%  (in which case the HVD scan continues for the whole job).

This does not mean that the scanner scans the specified percentage of pages in the job. If the scan determines that the job benefits from HVD, then all pages are scanned.

OptimizedPDFSetupID

Optional string 

Default: ()

A string to enable different RIP configurations to be distinguished.

The value used should be a unique string; we recommend that you prefix it with an abbreviation that identifies your company or product (for example, OEM_HHR_PDF_HVD).

This option can be used for both eHVD and iHVD. Its value is a string that affects the hashes of all the rasters produced. If rasters are retained between jobs, but the page setup changes in a way that may affect output, this value should change. This is to avoid a later job erroneously picking up an unsuitable raster that was created for an earlier job (for example, /OptimizedPDFSetupID (27B).

OptimizedPDFSingleForeground

(Available from Harlequin Core v13.2)

A boolean that has effect when /OptimizedPDFExternal is in use. It ensures that (when tiling is not in use), pages are split into at most two raster elements (that is, a background element and a foreground element, which when combined provide the full page content).

In addition, if a page needs to be initialized to a color other than white, a page background_id element is produced.

Setting this value to true tends to reduce reuse, although this depends on the job.

Default: false

OptimizedPDFSingleForeground should not be set to true when tiling is in use.


OptimizedPDFStashPages

Optional Integer 

Default: 0, values outside the range [0, 32] are limited to being inside the range. (This restriction may change in future).

From Harlequin v13.2r4.

This parameter applies to all types of HVD and is useful when running jobs in small pdfexecid chunks.

When jobs are run in pdfexecid chunks in the absence of this parameter (or when the parameter value is 0), although rasters stored in one chunk may be reused in a later chunk, the scanning of each chunk starts afresh as if there had been no previous chunks.  With a non-zero parameter set here, the RIP retains much of the scan information relating to pages from chunks before the one it is currently scanning.

This means that the scan tends to be faster, since there should be no need to rescan objects which are already known and which will have the same appearance, and in addition it is sometimes possible to make better reuse decisions based on information retained from previous pdfexecid chunks.

For example, when running a job for which the static data on the odd pages is different from those on the even pages, it may be decided to set a chunk size of 4. Setting a parameter value of 2 would mean that scan information is available for both an odd and an even page from the previous chunk, thereby likely speeding up the current chunk.  If running a job with more than 1 rip with a proposed chunk size < 2 * the repetition period, (so with a proposed chunksize < 4 in this case), it will generally be better to set a somewhat higher parameter value.

This parameter does not have any effect for jobs that are run in pdfexec chunks.

This parameter also enables many more HVD jobs to reuse with a chunk size of 1, (although it is often faster to run with a larger chunk size).

In the case of iHVD and NPI-eHVD, the following parameter must be set in addition to /OptimizedPDFStashPages in order to avoid the RIP aborting the scan for a one-page chunk:

/OptimizedPDFScanChunkSize1 true 

OptimizedPDFTestOpaqueHint

Optional Boolean

Default: true

From Harlequin v12.0r2. When set to true, a true value for the GGSL_Opaque hint key in an XObject is ignored. If OptimizedPDFTestOpaqueHint is set to false, then a true value for GGSL_Opaque is acted on. The OptimizedPDFTestOpaqueHint has no effect when the GGSL_Opaque hint has a value of false . See Harlequin Technical Note Hqn101: Harlequin VariData hint tags.

JavaScript errors detected

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

If this problem persists, please contact our support.