Skip to main content
Skip table of contents

Base PDF params

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

Page content:

AbortForInvalidTypes PDF param


Default: 0

Sets the response when the RIP encounters a PDF file that is invalid. For example, invalid files could have a PDF version number later than that recognized by the version of the RIP or claim to be PDF/X-3:2003 but be non-compliant.

The values have these meanings:


Report the mismatch but continue to process the file. Continue to produce warnings appropriate for the setting of EnforcePDFVersion. There may be bad printed results if the job is newer than PDF version 1.5 or badly constructed. Warnings appear in the RIP Monitor window for GUI versions of the RIP.


Reject the job

AutoBlankPage PDF param

(Boolean, optional)

Default: true

If the last block in the job is only partially filled, this parameter determines whether blank pages are generated for the missing pages at the end of the block. If the value is false, blank pages are not printed.

An example of usage is:

              /PageOrder <<
              /BlockSize 4
                /Order [4 1 2 3]
                /AutoBlankPage true
            >> setpdfparams

which reorders blocks of four pages into the order for two-up on the front and back of a pamphlet. A 10-page pamphlet would be printed in this order:

4 1 2 3 8 5 6 7 x 9 10 x

Another example:

              /PageOrder <<
              /BlockSize 2
                /Order [2] % Even pages only
                /AutoBlankPage false
            >> setpdfparams

which sequentially prints only the even pages of a job.

EnforcePDFVersion PDF param


Default: See below.

The default for Harlequin Core is 1 and the default for Harlequin MultiRIP is 0.

This parameter defines how strictly the PDF file must conform to various standards and specifications for PDF jobs. The AbortForInvalidTypes key defines what the RIP should do if the job does not meet the requested specification.

The values have these meanings:


Detect the type of file from its internal labeling; if a PDF/X conformance level is claimed, errors are reported if the job does not meet the claimed standard.

With regard to the output of PDF/X files, the Harlequin RIP output will match the Altona test suite and the GWG test suite output when autodetecting the type of file from its internal labeling.

You can adjust the behavior of the RIP to match other mainstream applications by turning off the auto-detection of PDF/X and adjusting the RIP overprint settings.

With AutoDetect active, if a PDF/X conformance level is set in the PDF file, for all handled PDF/X types, the RIP verifies the job and a warning, or an error is reported if the job does not meet the claimed standard (depending on the setting of the AbortForInvalidTypes PDF parameter).

For PDF/X-1a the RIP only verifies for compliance, and it does not use the OutputIntents profile.

For PDF/X-3, 4, 5 and 6, the RIP forces a color management stage to the OutputIntents profile referenced in the PDF/X, by automatically placing the profile in an implicit call to setreproduction. If there is already an existing setreproduction in the configuration, the RIP deals with it by prepending the OutputIntents profile to the existing color management and uses the OutputIntents as an emulation profile. That is, the existing setreproduction dictionary is placed in the NextDevice.


Print any job with a recognized PDF version; if a PDF/X conformance level is claimed, it is ignored no conformance checks are made.


Accept only PDF/X-1a:2001 and PDF/X-1a:2003. Errors are reported if the job does not meet the claimed conformance level.


Accept only PDF/X-1a:2001, PDF/X-1a:2003, PDF/X-3:2002, and PDF/X3:2003. Errors are reported if the job does not meet the claimed conformance level.


Accept only PDF/X-1a:2001, PDF/X-1a:2003, PDF/X-3:2002, PDF/X-3:2003, and PDF/X-4. Errors are reported if the job does not meet the claimed conformance level.


Accept any of PDF/X-1a:2001, PDF/X-1a:2003, PDF/X-3:2002, PDF/X3:2003, PDF/X-4 and PDF/X-4p.


Accept any of PDF/X-1a:2001, PDF/X-1a:2003, PDF/X-3:2002, PDF/X3:2003, PDF/X-4, PDF/X-4p, PDF/X-5g and PDF/X-5pg


Accept any of PDF/X-1a:2001, PDF/X-1a:2003, PDF/X-3:2002, PDF/X3:2003, PDF/X-4, PDF/X-4p, PDF/X-5g, PDF/X-5pg and PDF/X-6

ErrorOnNoProcSteps PDF param


Default: false

From Harlequin v12.1r2: If the parameter is set to true, then the RIP reporst an error when it encounters a job that doesn't contain at least one optional content group with a GTS_Metadata GTS_ProcStepsGroup value associated with it.



Default: false

This PDF parameter provides the Harlequin RIP with an option to turn off the automatic repairing of a faulty or flawed PDF file.

The parameter is enabled by the PostScript language code:

<< /ErrorOnPDFRepair true >> setpdfparams

If the parameter is not present, it defaults to false and an “attempting repair” message appears, and the RIP produces correct output.

The behavior when set true causes PDF files that are detected to be in need of repair to generate the following message rather than have the RIP try and repair them.

Corrupt PDF file detected but not repairing

This message is followed by the generated PostScript language error and the file is not printed.

ErrorOnShortASCII85EODMarker PDF param


Default: /Strict param

If the parameter is set to true, then the RIP reports an error when it encounters an ASCII85 encoded stream which is missing its terminating “>” character. If it is set to false, the lack of a terminating “>” is ignored and the RIP continues to process the job.

IgnorePageGroup PDF param


Default: /None

The IgnorePageGroup PDF parameter controls whether to honor or ignore a page group within the job (the page group is optional and defined by the PDF spec).

It can take the following values:


(the default). Do not ignore any Page Groups.


Ignore all page groups in the job.


Ignore those page groups in the job whose CS entry matches the process color model. The process color model can only be device spaces, that means that group color spaces of ICCBased is not be ignored.

This parameter may also be specified in the parameter dictionary to pdfexec and pdfopen.

IgnorePSXObjects PDF param


Default: true

When the PDF parameter IgnorePSXObjects is true, PostScript XObjects within PDF documents are not processed and are simply ignored, when false PostScript XObjects are processed in the usual manner.

MissingFonts PDF param


Default: false

If this parameter is true, the RIP aborts the job if a font is missing. If false the behavior of the RIP depends on the option set in the GUI.

OptimizedPDFSingleBackground PDF param


Default: false

The OptimizedPDFSingleBackgroundPDF parameter controls whether to combine all cacheable elements at the bottom of the z-order into a single element. It only takes effect when position-independent eHVD is being used.

This parameter may also be specified in the parameter dictionary to pdfexec and pdfopen.

OptimizeSetPageDevice PDF param


Default: true

The PDF parameter, /OptimizeSetPageDevice, has been added (v11.0r1) to control how the PDF interpreter issues setpagedevice calls. This parameter can also be passed in the dictionary to pdfexec.

The values this parameter can take are:


The PDF interpreter does not issue a setpagedevice call between pages if no relevant parameters change (for example, page size and rotation). This is the default value and matches the behavior of previous RIP versions.


The PDF interpreter always issuea a setpagedevice call between pages. Setting this option is slower, but also allows the SensePageDevice hooks to be run on every page to modify the page or media handling.

OptionalContentOptions PDF param


The OptionalContentOptions PDF parameter allows you to fine tune which Optional Content Groups (PDF layers) the RIP prints. See OptionalContentOptions parameters.

OwnerPasswords/ UserPasswords PDF params

String or array of strings

These parameters are either strings or an array of strings.

PageCropTo PDF param


Default: 0

PDF version 1.3 offers several options for defining a rectangular area that is the area of interest for a PDF page. A PDF file may set values for one or more of these areas, to be used as appropriate to the different ways that the PDF file can be used: viewing, office printing, imposition, commercial printing, and so on.

The RIP looks for the values of the option chosen in this list and makes a page buffer of the size set by that option. Only MediaBox must be present in a file, but the other areas inherit default values from MediaBox.

The options in this list are fully defined in [PDF1.3]. The default is MediaBox. The values have these meanings:

0Crop to MediaBox
1Crop to BleedBox
2Crop to TrimBox
3Crop to ArtBox
4Crop to CropBox

 If the CropBox option is selected and that option is not available in a PDF, the pages are sized to the MediaBox dimensions specified in the PDF job. If however ArtBox , TrimBox, or BleedBox are selected but are missing in the PDF, the pages are sized to the CropBox dimensions, and if CropBox is missing it is defaulted to the MediaBox dimensions.

PageOrder PDF param


This PDF parameter allows fixed-size blocks within the job to be reordered. It is intended to be useful for imposition that often reorders pages for books, and so on. The entries that can be used in the dictionary are as follows:



If Order is an array, the job is split, after pages have been filtered by/PageRange , into blocks of the given size.


(null or array)

The PageOrder feature will be active if this value is an array. The array must contain only positive integers or the name /Blank .

Determines how the pages within the block will be reordered. The numbers in the array have a maximum value of BlockSize. The size of the array may not match BlockSize ; it could be less than or greater than that value with the implication that some pages may be skipped and/or some may be duplicated within the block.

If a page number has the /Blank value, a blank page is printed for that slot in the block's order.

PageRange PDF param


Default: null

An array of integers (or arrays of integers) controlling the pages to be rendered from the given PDF file. A single number means render the numbered page only. An array of two numbers denotes a sub-range to be output.

For example, a PageRange array of [ 1 [10 12]] results in pages 1, 10, 11, and 12 being output. The default behavior when no PageRange array is supplied is to print all pages.

If the sub-range has one number rather than two, the RIP prints from that page to the end of the document. The supplied pages can be in any order.

PageRange can handle reverse page ranges such as [5 2] which would print pages 5, 4, 3, and 2 in that order.

Page range arrays are interpreted from left to right. So, for example:

/PageRange [ [ 3 1 ] 4 3 [5 7] ]

Would print pages 3, 2, 1, 4, 3, 5, 6, and 7 (in that order). Note that PageRange for setpagedevice does not accept reverse page ranges or negative page numbers. These features only work for the setpdfparams /PageRange.

Negative values can be used. A value of -1 means the last page of the job, -2 means the last but one, and so on. If N is the number of pages in the job, a value of -N means page 1 (for example, this would print pages in reverse order):

/PageRange [ [ -1 1 ] ]

Page ranges may exceed the number of pages in the job. Any such pages are ignored; for example:

/PageRange [ [ 1 9999 ] ]

prints pages 1 to 100 for a 100-page job. See also WarnSkippedPages PDF param.

pdfexecid can safely be used with HVD. However, it can now only specify PageRange, all other parameters have to be set in pdfopen.

A large job can be split into “chunks” of data with the use of /PageRange. Here, for example, the job is split into chunks of 10 pages:

/PDFContext (%E%//TestJobs/largejob.pdf) (r) file << >> pdfopen def 
  PDFContext << /PageRange [ [1 10] ] >> pdfexecid
  PDFContext << /PageRange [ [11 20] ] >> pdfexecid 
  PDFContext << /PageRange [ [21 30] ] >> pdfexecid 
  PDFContext << /PageRange [ [31 40] ] >> pdfexecid 
  PDFContext << /PageRange [ [41 50] ] >> pdfexecid 
PDFContext pdfclose

While running this PostScript language fragment in an HVD setup, if, for example, during the first page range (1 to 10) some variable data is retained for reuse, but the scan is aborted during a subsequent range, the scan for variable data is aborted for the rest of 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 reuse of data, you should increase the /OptimizedPDFScanLimitPercent value, possibly up to the maximum of 100% , in which case, the HVD scan continues for the whole job.

If you are processing chunks of the same PDF file using either pdfexec or pdfexecid, each chunk automatically wraps in a save/restore context, and you must not add your own as well. If you do so, then page numbering is not handled correctly.

If you are writing a PostScript language control stream that needs to execute chunks from different PDF files you should call pdfclose on the first PDF file before calling pdfexecid on a chunk from the second to ensure that HVD scanning is triggered for the second file.

The PageOrder PDF parameter may be used with or instead of PageRange to select pages, especially in very large PDF files.

There is also a separate PageRange parameter that can be set in the page device, but the PDF PageRange parameter is strongly recommended when processing PDF files.

ReferenceXObjectHandling PDF param


Default: /WarnIfNotFound

In HHR/HMR v11 from 11.0r7 and in HHR/HMR v12 from post-12.0r0: The new key ReferenceXObjectHandling PDF parameter controls how to treat any Reference XObjects found in a PDF file.

It can take the following values:

/WarnIfNotFound (the default):

Interpret the page which is the target of the External XObject reference if it is found, otherwise issue a message of the form “Failed to find external file: example.pdf” and continue processing the job, interpreting instead the placeholder content stream included in the Reference XObject .


When a Reference XObject is encountered whose target is not found, issue a message of the form "Failed to find external file: example.pdf" and fail with an ioerror.


Do not attempt to find Reference XObject targets; instead, always interpret the placeholder stream within the Reference XObject itself.

This parameter may also be specified in the parameter dictionary to pdfexec and pdfopen.

SizePageToBoundingBox PDF param


Default: true

This PDF parameter specifies that each page of a PDF job is to be either sized or clipped to the user-specified bounding box. SizePageToBoundingBox uses the same default sequence as PageCropTo, see PageCropTo PDF param for more information. Current options exist to allow the user to specify that the pages should be sized to the CropBox , BleedBox , TrimBox, or ArtBox, instead.

By setting this parameter to false, the pages are clipped rather than sized to the one of the other options: CropBox , BleedBox , and so on, meaning that the page size is left at the MediaBox dimensions drawing only those features within the chosen bounding box leaving a white (or erasepage color), margin around the sides of the page content.

To set this parameter to false, the following PostScript fragment can be used in a page feature (for example):

<< /SizePageToBoundingBox false >> setpdfparams

TextStrokeAdjust PDF param

integer or real 

Default: 0

TextStrokeAdjust is set using setpdfparams or by including it in the pdfexec dictionary. It is used to adjust the line width of PDF text explicitly stroked using RenderMode 3. It does not affect faux-bold text.

It takes a numerical value which has two different effects on the line width and applies to explicitly stroked PDF text, depending on the sign:


The value is a scale applied to the line width by multiplication


No effect (the default)


The value is a reduction applied to the line width by addition

Thus, the following reduces the line width of PDF RenderMode 3 text by 0.5pt:

<</TextStrokeAdjust -0.5>> setpdfparams

Whereas the following reduces the line width by one half:

<</TextStrokeAdjust 0.5>> setpdfparams

It is possible to specify values >= 1.0 . 1.0 has no effect, and larger values make the stroke line width thicker.

WarnSkippedPages PDF param


Default: true

If true, and pages are skipped in the PDF, warnings are displayed in the RIP Monitor. If false, pages are skipped without any messages being displayed in the RIP Monitor.

JavaScript errors detected

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

If this problem persists, please contact our support.