PDF support in Harlequin
This page applies to Harlequin v13.1r0 and later; and to Harlequin Core but not Harlequin MultiRIP.
The RIP is able to accept jobs in Portable Document Format, as follows:
- The Harlequin MultiRIP and Harlequin Core provide support for PDF 1.7 and PDF 2.0.
In general, the user supplies the PDF file to the RIP and specifies the output formatting and other options with a page setup (HMR) or TestConfig file (HHR).
There are two possibilities:
- Image the PDF file using parameters determined without knowledge of the file contents. See Executing a PDF file.
- Open the PDF file, inspect it to extract data, and optionally continue to modify parameters and image the file. See Inspecting PDF files.
The mechanism by which the RIP supports PDF is not to convert it first to PostScript-language code, as some other systems do, but to deal with PDF objects and operators directly in the C language.
This chapter describes how the PDF input functionality operates and how to configure and control it.
For PDF-encrypted documents, the RIP supports the following decryption security handlers:
- The Standard Security Handler algorithms 1, 2, 4 and the PDF 2.0 algorithm 5. The RIP standard decryption security handlers use the
OwnerPasswords
andUserPasswords
PDF parameters, which are either set up usingsetpdfparam
, or through thepdfopen
orpdfexec
dictionary. - The Public-Key Security Handler Adobe.PubSec with SubFilters adbe.pkcs7.s3 , adbe.pkcs.s4 , and adbe.pkcs.s5. The RIP supports the crypt filters in PDF 1.7 and PDF 2.0 (None, V2, AESV2 and AESV3), so strings and streams can be encrypted differently according to the crypt filter settings. The RIP public-key decryption security handlers use the
PrivateKeyFiles
andPrivateKeyPasswords
PDF parameters.
For standard decryption, OwnerPasswords
and UserPasswords
may be either a string or an array of strings, which will all be tested.
For public-key decryption, the PKCS#7 files (PrivateKeyFiles
) and passwords (PrivateKeyPasswords
) are also specified with either a string or an array of strings. The length of these arrays must match; they give the private key file names and the corresponding passwords that the RIP will test.
PrivateKeyFiles
specifies the names of the PKCS#7 files using PostScript language syntax, so the key files must be available from a file system or device that the RIP has mounted.
The RIP requires the private key in a .pfx
file which you set via pdfparams
so the RIP can find that file. For example:
<<
/PrivateKeyFiles [ (AESpublickey/pkey2-passwd-abc123.pfx) ]
/PrivateKeyPasswords [ (abc123) ]
>> setpdfparams
GGSL does not offer methods for creating encrypted documents.
Currently, keys up to 256 bits are supported and if required you can specify more than one key file.
No method is provided by GGSL to reject non-encrypted files.