OPI Image Reference Specification

OPI producer (PostScript or direct PDF output) include several OPI comments to allow post processing solutions to replace content according to the comments. The “ALDImageFileName” comment is used by HELIOS ImageServer and other vendors to reference the linked files. In remote layout workflows the low-resolution files are often used with local disk path names, therefore the “ALDImageFileName” fails finding the linked content. As a second option, OPI solutions can use the “ALDImageID” comment to find the original linked file on the server. OPI producers should generate an “ALDImageID” OPI comment from the placed files.

Several producers generate the “ALDImageID” for placed TIFF files. This documentation explains how the “ALDImageID” can be found in TIFF, JPEG, and EPSF files for unmodified inclusion into the OPI comments.

How to find the data for the “ALDImageID” comment?

For TIFF files

The image reference is stored using a private TIFF tag:

Tag number: 34840
Tag type: ASCII
Value: Image reference (zero terminated string)
 
For EPSF files (Mac EPSF and Binary EPS)

The HELIOS image reference is stored using a private DSC comment:

%HELRefID: (Image reference string)
 
For JPEG files

The image reference is stored in a HELIOS APP11 marker.
The HELIOS APP11 marker consists of:

  • A HeliosJPEGMarker
  • One or more HeliosJPEGResources
  • 4 zero bytes as an end marker

The image reference is stored in the HeliosJPEGResource with type “HSID”. There can be other HeliosJPEGResources in the APP11 marker which must be skipped when searching for the HELIOS Image ID.

HeliosJPEGMarker
Length Field Comment
2 markerID Always 0xFF 0xEB
2 markerLength    Overall length of APP11 marker as defined for the JPEG format
7 magic “HELIOS” with terminating zero byte
2 version Always 0x0065 (version 101)
1 type Object type (can be ignored)
1 quality Object quality (can be ignored)
 
HELIOSJPEGResource
Length Field Comment
4 type Resource type, for the image reference this is 0x48 0x53 0x49 0x44 (“HSID”)
4 creator Always 0x48 0x4f 0x50 0x49 (“HOPI”)
2 len Length of following data
<len> data Data

All integers are stored in big-endian (MSB) byte order.

Sample files

Layout files containing an image reference can be downloaded from HELIOS WebShare at: 

Server: http://webshare.helios.de
User name: tools
Password: tools

 

Go to HELIOS Tools, check “OPI images with references” and select Transfer > Download from the menu bar.
This will download a Zip archive containing several layout files (TIFF, EPS, PC-EPS, and JPEG).

All layout files contain the required data for the “ALDImageID” comment as described above.

Sample OPI PostScript output

The following PostScript output should be generated by an OPI application if the sample layout files are placed in the document:

%ALDImageFileName: LocalVolume:images:tifflayouts%t:layouts:Portrait.tif
%ALDImageID: 4554953f.00005cbd.00000001.0001a4e5.ankh{unix,native,LCS3,
TIFF,3.0}/localvolume/images/tifflayouts%t/Portrait.tif
%ALDImageDimensions: 237 289
%ALDImageCropRect: 0 0 237 289
%ALDImageCropFixed: 0 0 237 289
%ALDImagePosition: 44 452 44 741 281 741 281 452
%ALDImageType: 4 8
%ALDImageAsciiTag34840: 4554953f.00005cbd.00000001.0001a4e5.ankh{unix,native,LCS3,
TIFF,3.0}/localvolume/images/tifflayouts%t/Portrait.tif
%ALDImageAsciiTag34841: 19960627111511/usr/local/helios/var/ICC-Profiles/Printer/HELIOS/Euro 2.6 UCR-370
%%BeginObject: image
%%EndObject

 

%ALDImageFileName: LocalVolume:images:epslayouts%e:layouts:Portrait.eps
%ALDImageID: 45549539.00005cbc.00000001.0001a4e3.ankh{unix,native,LCS3,
TIFF,3.0}/localvolume/images/epslayouts%e/Portrait.tif
%ALDImageDimensions: 236 289
%ALDImageCropRect: 0 0 237 289
%ALDImageCropFixed: 0 0 236.8295 289.2512
%ALDImagePosition: 300 450.7489 300 740 536.8295 740 536.8295 450.7489
%%BeginObject: image
%%EndObject

 

%ALDImageFileName: LocalVolume:images:pcepslayouts%pe:layouts:Portrait.eps
%ALDImageID: 45549b1f.00005d02.00000001.0001a4f1.ankh{unix,native,LCS3,
TIFF,3.0}/localvolume/images/pcepslayouts%pe/Portrait.tif
%ALDImageDimensions: 236 289
%ALDImageCropRect: 0 0 237 289
%ALDImageCropFixed: 0 0 236.8295 289.2512
%ALDImagePosition: 305 145.7489 305 435 541.8295 435 541.8295 145.7489
%%BeginObject: image
%%EndObject

 

%ALDImageFileName: LocalVolume:images:jpeglayouts%j:layouts:Portrait.jpg
%ALDImageID: 45549512.00005cb7.00000001.0001a4de.ankh{unix,native,LCS3,
TIFF,3.0}/localvolume/images/jpeglayouts%j/Portrait.tif
%ALDImageDimensions: 237 289
%ALDImageCropRect: 0 0 237 289
%ALDImageCropFixed: 0 0 237 289
%ALDImagePosition: 49.0910 151 49.0910 440 286.0910 440 286.0910 151
%ALDImageType: 4 8
%%BeginObject: image
%%EndObject