throbber
OPI™
`Open Prepress Interface
`Specification 1.3
`
`22 September 1993
`
`22 September 1993 • 1
`
`

`

`Copyright
`© 1989-1993 Aldus Corporation. All rights reserved.
`
`Trademarks
`Aldus, the Aldus logo, and PageMaker are registered trademarks and TIFF and OPI are trademarks of Aldus Corpora-
`tion. PostScript is a registered trademark of Adobe Systems Inc. and all references to PostScript in this document are
`references to either the PostScript interpreter or language.
`
`This document is provided for developers intending to implement OPI conventions.
`
`Aldus welcomes your feedback. If you have comments or suggestions regarding OPI,
`please contact:
`
`Developer’s Desk
`Aldus Corporation
`411 First Avenue South
`Seattle, Washington 98104-2871
`Tel: (206) 628-6593
`Fax: (206) 343-4240
`Internet: dev-desk@aldus.com
`
`Printed in U.S.A.
`Part Number 993-798
`
`2 • OPI: Open Prepress Interface Specification 1.3 — Final
`
`

`

`Table of Contents
`
`Changes from Version 1.2 ........................................................................................ 4
`Introduction ............................................................................................................... 5
`How OPI works ................................................................................................. 5
`The Details ................................................................................................................. 6
`Terminology ....................................................................................................... 6
`General Requirements ...................................................................................... 6
`References ........................................................................................................ 7
`The OPI Comments .......................................................................................... 7
`Example 1 ................................................................................................................ 13
`Example 2 ................................................................................................................ 14
`Appendix A: Creating a PostScript Transformation Matrix ................................. 15
`
`22 September 1993 • 3
`
`

`

`Changes from Version 1.2
`
`• New: %ALDImageCropFixed gives partial-pixel cropping information.
`• New: %ALDImageColorType describes whether an applied color is Spot or Process, for B&W and grayscale images.
`• New: %ALDImageTint contains the tint percentage for Spot colors, for B&W and grayscale images.
`• New: %ALDImageOverprint gives the knockout/overprint setting for B&W and grayscale images.
`• New: %ALDImageAsciiTagNNN displays the contents of all ASCII tags in a TIFF file, for additional pass-through
`flexibility.
`• %ALDImageID is recommended again, to simplify the task of finding the correct high resolution file.
`• Guidelines for clipping to an arbitrary shape have been included. See the end of the section on %ALDImageCropRect.
`• The examples have been updated to use the new comments.
`• The notation has been updated to conform to the Adobe Document Structuring Conventions, Version 3.0.
`• Support for %%BeginData/%%EndData has been added.
`• A number of sections have been clarified.
`
`4 • OPI: Open Prepress Interface Specification 1.3 — Final
`
`

`

`Introduction
`
`The Open Prepress Interface (OPI) is a collection of
`PostScript-language comment conventions that allows a
`page-layout program to use low or medium resolution
`TIFF images for layout and proofing, and have a prepress
`system or OPI server automatically substitute a high
`resolution TIFF or other image when the final film or
`plates are generated. Both desktop prepress software and
`high-end prepress systems can use OPI comments to
`minimize network traffic and image storage require-
`ments.
`
`How OPI works
`OPI comments describe the placement and size of
`scanned images, as well as cropping information and any
`adjustments to the size, brightness, or contrast.
`
`For example, when you lay out a publication in Aldus
`PageMaker, you use the standard tools to place, re-size,
`and crop scanned images (usually, TIFF files that are
`lower resolution versions of a high resolution scan).
`When the layout is complete and you are ready to print
`separations, you print a composite PostScript file to disk
`using PageMaker’s “For separation” or “EPS” option.
`PageMaker embeds the OPI comments (specifying the
`name and position of each scanned image, cropping
`information, and any adjustments to the size, brightness,
`or contrast) in the PostScript file. This file is compara-
`tively small since it does not normally include any
`scanned image data.
`
`The PostScript file can then be sent to a prepress system
`or OPI server where the OPI layout information is
`extracted and used to find the high resolution image and
`insert it the image data into the PostScript print stream to
`the imagesetter.
`
`OPI does not require that the image be pre-separated.
`Conversion from RGB to CMYK can take place “on the
`fly” during the final printing process, if the OPI Server is
`able to perform such conversions. This approach has two
`advantages: it requires much less disk space, since a
`high-resolution CMYK version of the image is never
`stored on disk; and it gives greater separation flexibility,
`since it allows the image to be stored in the more device-
`independent RGB form during the entire prepress cycle.
`
`The PostScript file containing OPI comments should be
`either an EPS file or the multi-page equivalent of an EPS
`file (see PageMaker’s “For separation” print option.) As
`
`such, it should be a composite color file, not a separated
`file. The reasons for discouraging the use of OPI within
`the context of separated files are:
`
`• There are no Adobe conventions covering the use of
`separated PostScript files as an interchange format, and
`currently every application does it differently.
`• In theory, PostScript Level II RIPS will be where we
`ultimately do our separations. To make this happen, we
`will be feeding these RIPS composite, not separated,
`PostScript streams.
`• Trapping programs like Aldus TrapWise can operate
`much more efficiently by operating on composite
`PostScript streams instead of separated streams, since a
`composite stream is much smaller, the resulting display
`list is much smaller, and the output frame buffer can be
`created in one pass.
`If you must use separated files, be sure to at least follow
`the existing de facto %%PlateColor convention, so that
`the OPI consumer can at least know what the current
`separation is. (To create separations directly from Aldus
`PageMaker 5.0, choose “Separations” in the Print/Color
`dialog.)
`
`22 September 1993 • 5
`
`

`

`The Details
`
`TIFF but stores the data in 5 files instead of 1, in a
`PostScript-specific format.)
`
`This section describes the OPI comments and defines in
`detail the requirements for using these comments.
`
`The BNF notation used in the DSC 3.0 document is also
`used in this specification.
`
`Terminology
`In the following discussion, we call the creator of the
`PostScript file the “page-layout program.” We call the
`reader of the OPI comments in the PostScript file the
`“OPI server.” The “OPI server” can be any of the
`following: an OPI-capable print server, running on a file
`server; a high end prepress workstation; a specially
`modified PostScript RIP; or any software package that
`can read OPI comments and substitute high-resolution
`image data, such as Aldus PrePrint.
`
`A scanned image that is placed (imported) into a page-
`layout (or illustration) program may be a lower-resolu-
`tion version of a high resolution image that was scanned
`on an OPI server or color prepress system, or it may be a
`final, full resolution image that simply needs to be
`separated into CMYK by a separation program such as
`Aldus PrePrint.
`
`We will use the term “bitmap” to refer to any 1-bit
`image, usually a 1-bit TIFF file or MacPaint file. These
`are also called black-and-white images, or bi-level
`images. A “grayscale” image has pixels that are shades of
`gray, and are generally 8 bits deep. OPI allows bitmap
`and grayscale images to have a color other than black
`applied to them. (See %ALDImageColor and related
`comments, below.)
`
`General Requirements
`OPI was designed for an environment in which the
`PostScript file conforms to the following standards:
`
`Adobe Systems’ Document Structuring Conventions
`
`Adobe Systems’ Document Structuring Conventions
`describe general information about the publication, such
`as the name of the publication, the number of pages, and
`the size of each page. See Appendix G, “Document
`Structuring Conventions—Version 3.0,” in the PostScript
`Language Reference Manual, Second Edition. In this
`specification, we will use the abbreviation “DSC” to
`refer to the Document Structuring Conventions. (Do not
`get this confused with “DCS”, which is similar to CMYK
`
`6 • OPI: Open Prepress Interface Specification 1.3 — Final
`
`Adobe Systems’ Color Separation Conventions
`
`Adobe Systems’ Color Separation Conventions define
`guidelines and color pseudo-operators for use in color
`separation environments. Refer to Adobe Systems’
`“Proposal for Color Separation Conventions for
`PostScript Language Programs,” Technical Note #5044,
`dated 12/14/89, for further information.
`
`One set of OPI comments per image
`
`One set of OPI comments should either replace each
`scanned image or encapsulate the scanned-image data.
`The OPI comments specify the name and position of each
`scanned image, as well as high resolution links, cropping,
`and adjustments to size, rotation, color, and other
`attributes.
`
`PostScript setup before the OPI comments
`
`Each set of OPI comments should be preceded by the
`PostScript save operator and followed by the restore
`operator. This allows all VM used by the imaging code to
`be recovered and the graphics state to be restored.
`
`See Section H.3.2 in the Adobe red book for further
`suggestions, since the situation is similar to that of
`importing and printing an EPS file.
`
`Ignore unknown comments.
`
`An OPI server should ignore comments that it does not
`recognize, so that it can continue to process documents
`that contain newer OPI comments. In this way, OPI can
`be expanded to meet industry demands without requiring
`that all OPI servers be immediately updated when a new
`page layout software version is released.
`
`It is also possible that enumerated values may be added
`to existing OPI comments at some point in the future, so
`parsing software should be prepared to encounter an
`unexpected value and respond appropriately. (The best
`strategy is probably to assume the default value.)
`
`

`

`Note: If the TIFF file is a low-resolution version of an
`image on a an OPI Server, the name of the TIFF file
`should generally be sufficiently similar to the name of
`the image on the OPI Server to allow for an automatic
`match between the versions of the image, especially if
`%ALDImageID (see below) is not used.
`
`%ALDImageID: <filename>
`
`Optional.
`
`An identifying string that an OPI Server wishes to use to
`uniquely identify the full-resolution version of the image
`as stored on the OPI Server.
`
`This information is stored in the TIFF file as part of a
`reduced-resolution image, as Tag #32781 (0x800D). The
`TIFF data type is ASCII. See the TIFF 6.0 specification
`for information on TIFF data types and the structure of a
`TIFF file.
`
`The value of %ALDImageFileName can included
`embedded spaces without requiring parentheses around
`the string. Any other printable ASCII character is legal.
`
`This field can be used in addition to the
`%ALDImageFileName comment to identify the correct
`full-resolution image.
`
`%ALDObjectComments: <text>
`
`Optional.
`
`This comment provides a way of sending suggestions to
`the OPI server operator on how the image should be
`
`Image
`%ALDImageDimensions: 7 10
`
`Cropping rectangle
`%ALDImageCropRect: 2 3 6 9
`
`22 September 1993 • 7
`
`0   1   2   3   4   5   6    7
`
`0123456789
`
`10
`
`Defaults
`If a default is listed for an OPI comment, then the OPI
`reader must assume that default value if that OPI com-
`ment does not exist.
`
`References
`1. Appendix G, “Document Structuring Conventions—
`Version 3.0,” in the PostScript Language Reference
`Manual, Second Edition, Adobe Systems Incorporated.
`The PostScript Language Reference Manual is often
`referred to as “the red book.”
`
`2. “Proposal for Color Separation Conventions for
`PostScript Language Programs,” Adobe Systems Techni-
`cal Note #5044, dated 12/14/89.
`
`3. TIFF Revision 6.0, Aldus Corporation, June 3, 1992.
`(Call 206.628.6593 to order.)
`
`The OPI Comments
`Here are the OPI comments, listed in the order in which
`they should occur when describing an image.
`
`%ALDImageFileName: <filename>
`
`Required.
`
`This comment records the name of the image (TIFF file)
`as it was imported into the page-layout program. Include
`the entire path name to the file, using the standard form
`for the operating system in which the page-layout
`program is currently running. Thus, Macintosh folder
`names will be separated by colons, DOS directories by
`backslashes, UNIX directories by slashes, and so on. For
`example, a %ALDImageFileName comment for a
`PostScript file from the Macintosh might look like:
`
`%ALDImageFileName: HD40:Pubs:Pizza Ad:Pizza Picture.tif
`
`The value of %ALDImageFileName can included
`embedded spaces without requiring parentheses around
`the string.
`
`This entire comment line (%ALDImageFileName:,
`together with the path and filename) should not exceed
`255 characters, the Adobe recommended maximum line
`length for any line in a PostScript file. If necessary, the
`comment can be extended using the standard “%%+”
`convention. (See section G.5.2 in Appendix G of the
`PostScript Language Reference Manual.)
`
`

`

`treated. Text can be any ASCII text and can be extended
`to multiple lines using the DSC “%%+” convention.
`
`See also %ALDImageAsciiTagNNNNN, described
`below.
`
`%ALDImageDimensions: <pixelswide> <pixelshigh>
`
`<pixelswide> ::= <uint>
`<pixelshigh> ::= <uint>
`
`Required.
`
`Pixelswide and pixelshigh give the dimensions of the
`placed TIFF file, in pixels. This information, together
`with the %ALDImageCropRect comment described
`below, allows the page-layout program to pass rectangu-
`lar source-cropping information to the OPI server.
`
`%ALDImageCropRect: <left> <top> <right> <bottom>
`
`<left>
`<top>
`<right>
`<bottom>
`
`::= <uint>
`::= <uint>
`::= <uint>
`::= <uint>
`
`Required.
`
`Left, top, right, and bottom describe the size of the
`cropping rectangle and its placement on the image. The
`coordinates are in pixels, where left = 0, top = 0, right =
`pixelswide, and bottom = pixelshigh describe the entire
`image. (Pixelswide and pixelshigh are the parameters for
`%ALDImageDimensions.) Frequently,
`%ALDImageCropRect is the whole image.
`
`The coordinates describe the upper-left corner of a pixel.
`In other words, (left, top) are the coordinates of the
`upper-left corner of the upper-left pixel of the cropping
`rectangle, and (right, bottom) are the coordinates of the
`upper-left corner of the pixel that is just outside the
`lower-right corner of the cropping rectangle.
`Thus, the difference between the right and left coordi-
`nates represents the width, in pixels, of the cropped area,
`and the difference between the bottom and top coordi-
`nates represents the height, in pixels, of the cropped area.
`
`An OPI Server should assume the default value for
`%ALDImageCropRect to be the entire image.
`
`Cropping allows a page-layout program to print only the
`portion of the image inside the cropping rectangle, thus
`reducing print time. You create a cropping rectangle in
`
`8 • OPI: Open Prepress Interface Specification 1.3 — Final
`
`the page-layout program. (In Aldus PageMaker, you use
`the cropping tool to define the cropping rectangle.) In
`page-layout programs that do not support true source
`cropping, the image-cropping rectangle is the entire
`image.
`
`To use OPI to clip to an arbitrary shape, the page-layout
`program can set up a the required clipping path outside
`the OPI context, i.e., the clipping path should be set up
`before the first OPI comment for the image. Then when
`high-resolution data is inserted, it will be clipped
`automatically. An image may be both cropped (using
`%ALDImageCropRect) and clipped (using a clipping
`path).
`
`%ALDImageCropFixed: <left> <top> <right> <bottom>
`
`<left>
`<top>
`<right>
`<bottom>
`
`::= <real>
`::= <real>
`::= <real>
`::= <real>
`
`Optional.
`
`Same as %ALDImageCropRect, but with floating point
`values, giving more accuracy in cases where the cropping
`rectangle may encompass partial pixels on one or more
`sides.
`
`If this comment is not present, use the values in
`%ALDImageCropRect.
`
`Use of %ALDImageCropFixed does not change the area
`covered by the image on the page; it only affects how the
`image is cropped and scaled to fit into the desired space
`on the page. In real-world jobs, the difference between
`using %ALDImageCropRect and
`%ALDImageCropFixed is either difficult or impossible
`to detect.
`
`%ALDImagePosition: <LLx> <LLy> <ULx> <ULy> <URx>
`<URy> <LRx> <LRy>
`
`<LLx>
`<LLy>
`<ULx>
`<ULx>
`<URx>
`<URy>
`<LRx>
`<LRy>
`
`::= <real>
`::= <real>
`::= <real>
`::= <real>
`::= <real>
`::= <real>
`::= <real>
`::= <real>
`
`Required.
`
`

`

`LLx, LLy, ULx, ULy, URx, URy, LRx, and LRy specify
`where on the page the cropped portion of the image (see
`%ALDImageCropRect) is to be printed, and determine
`the scaling, rotation, flip, and skew of the image.
`(LLx,LLy) corresponds to the lower-left corner of the
`%ALDImageCropRect; (URx,URy) corresponds to the
`upper-right corner of the %ALDImageCropRect; and so
`on.
`
`You specify these coordinates using the default
`PostScript user coordinate system—72 units per inch,
`origin at lower left, greater y values are up.
`
`For example, if you want to print the image in the lower-
`left corner of a page at a size of 3 inches wide by 1 inch
`high, the %ALDImagePosition comment would look like
`this:
`
`%ALDImagePosition: 0.0 0.0 0.0 72.0 216.0 72.0 216.0 0.0
`
`Note that the combination of %ALDImageCropRect and
`%ALDImagePosition determines the scale factor in each
`dimension, (and rotation, flip, and skew,) since
`%ALDImagePosition specifies the location of all four
`corners.
`
`Current Transformation Matrix. As mentioned earlier, you
`specify the coordinates for %ALDImagePosition using
`the default PostScript user coordinate system. Therefore,
`the page-layout program must ensure that the current
`transformation matrix (CTM) is set to the default
`PostScript coordinate system before it writes the OPI
`comments for the image. An OPI Server must be able to
`insert PostScript code that assumes that the default
`PostScript coordinate system is in effect.
`
`initmatrix: If the page-layout program does not typically
`use the default PostScript coordinate system, it must not
`simply reset the coordinate system to the default coordi-
`nate system. In particular, it must not call initmatrix
`when creating the separation or EPS file. If it does, it will
`create a PostScript file that cannot be repositioned, re-
`scaled, or rotated. Instead, it must save the current
`transformation matrix that is in effect at the start of your
`PostScript stream (it will usually be the default coordi-
`nate system, but not always), and use that matrix to set
`the current coordinate system before it writes the OPI
`comments for an image.
`
`Why four corners. To support rotation, flip, and skew, a 2D
`transformation must be specified either by using at least
`three points or by using a transformation matrix. OPI
`uses the three-point approach, for conceptual simplicity.
`A PostScript-type transformation matrix can be com-
`puted by solving a system of six linear equations in six
`
`unknowns (actually, two sets of three equations in three
`unknowns), using any 3 of the 4 corner points. See the
`appendix at the end of this specification.
`
`EPS files that contain scanned images. An illustration or page-
`layout program that obeys Adobe Systems’ Encapsulated
`PostScript (EPS) file conventions (see Appendix H in the
`Adobe PostScript Language Reference Manual) may
`include OPI comments to describe a scanned image when
`creating an EPS file. When you place such an EPS file
`into a page-layout program, the %ALDImagePosition
`values may seem to be incorrect because they do not
`reflect positioning and sizing of the EPS file after
`placement. Nevertheless, the page-layout program must
`not attempt to update these comments! The OPI Server
`uses these comments without modification to insert high-
`resolution data into the PostScript stream at print time,
`and everything works as expected because the transfor-
`mation matrix set up by the page-layout program for the
`EPS file handles all the positioning, sizing, rotation, and
`so on. This process is recursive, so that EPS files with
`OPI comments can be embedded in other EPS files which
`are in turn embedded in other EPS files, and so on.
`
`%ALDImageResolution: <horizRes> <vertRes>
`
`<horizRes>
`<vertRes>
`
`::= <real>
`::= <real>
`
`Optional. No default.
`
`These values specify the resolution of the original image,
`in pixels per inch. The resolution can be used to report to
`the user how much a particular image has been scaled.
`For example, if the %ALDImageCropRect comment
`indicates that the image is 1000 by 1000 pixels, and the
`%ALDImagePosition parameter positions the image in a
`1" by 1" square, and the %ALDImageResolution param-
`eter indicates that the original resolution was 500 pixels
`per inch, then the scale factor is .5; that is, the image has
`been scaled down by a factor of 2.0 in both dimensions.
`
`%ALDImageColorType: Spot | Process | Separation
`
`Optional. Applicable to bitmap and grayscale images
`only. Default is “Spot”.
`
`%ALDImageColorType gives the type of color for
`%ALDImageColor (see below).
`
`“Separation” means that the image is to be printed on all
`separations. Typically this corresponds to a special color
`called “Registration” in the page-layout application.
`
`22 September 1993 • 9
`
`

`

`In the “Separation” case, if %ALDImageTint (see below)
`is zero, then the image is to be knocked out of all
`separations. Typically this corresponds to a special color
`called “Paper” or “White” in the page-layout application.
`
`When “Separation” is the ColorType, the CMYK values
`of %ALDImageColor are ignored.
`
`%ALDImageTint is valid for all 3
`%ALDImageColorType types.
`
`%ALDImageOverprint: false | true
`
`%ALDImageColor: <C> <M> <Y> <K> <colorname>
`
`::= <real>
`<C>
`::= <real>
`<M>
`::= <real>
`<Y>
`::= <real>
`<K>
`<colorname> ::= <text>
`
`Optional. Applicable to bitmap and grayscale images
`only. Default is “0 0 0 1 (Black)”.
`
`C, M, Y, and K are values between 0 and 1 and deter-
`mine the percentages of cyan, magenta, yellow, and
`black ink to be used when printing the “black” pixels of
`this image.
`
`colorname is a text string that names the color. Parenthe-
`ses around colorName are recommended, and are
`required if blanks or special characters may be embedded
`the colorName.
`
`A grayscale image is to be rendered in shades of
`%ALDImageColor. For example, suppose the color is
`Process red, with CMYK value = 0 1 1 0. Then the black
`pixels in the grayscale image will be print full red (0 1 1
`0), the 50% gray pixels will print in a 50% tint of red (0 .
`5 .5 0), and the white pixels will have no ink at all
`applied (0 0 0 0). Seeing that the appropriate PostScript
`is generated to make this happen for the high-resolution
`image is the responsibility of the OPI server.
`
`%ALDImageTint: <real>
`
`Optional. Applicable to bitmap and grayscale images
`only. Default is 1.
`
`Percentage of the ink or color (see %ALDImageColor) to
`be applied to this image, as a value between 0 (no ink)
`and 1 (solid).
`
`The tint value should not be reflected in the CMYK
`values listed in %ALDImageColor. It is up to the OPI
`Server to multiply the CMYK values by the tint value to
`achieve the correct tinted color effect.
`
`10 • OPI: Open Prepress Interface Specification 1.3 — Final
`
`Optional. Default is “false”.
`
`Set to “true” if the image is to overprint underlying
`objects on other separations, and “false” if the image is to
`knock out underlying objects on other separations.
`
`%ALDImageOverprint is applicable to bitmap and
`grayscale images only. (But %ALDImageColor need not
`be black.)
`
`%ALDImageType: <samples> <bits>
`
`<samples>
`<bits>
`
`::= <uint>
`::= <uint>
`
`Optional.
`
`Samples is the samples per pixel, and bits is the bits per
`sample at which the image was scanned. For example:
`
`Image type
`
`Samples per pixel
`
`Bits per sample
`
`1-bit (bitmap)
`
`4-bit grayscale
`
`8-bit grayscale
`
`8-bit palette color
`
`24-bit RGB color
`
`32-bit CMYK color
`
`1
`
`1
`
`1
`
`1
`
`3
`
`4
`
`1
`
`4
`
`8
`
`8
`
`8
`
`8
`
`An OPI Server can use %ALDImageType to give the
`user more complete feedback when relinking images.
`
`%ALDImageGrayMap: <uint> ...
`
`Optional. For bitmap and grayscale images only. The
`default is a linear ramp matching the
`PhotometricInterpretation value of the image (BlackZero
`or WhiteZero - see the TIFF 6.0 specification.)
`
`

`

`%ALDImageGrayMap records changes made to the
`brightness or contrast of the image in the page-layout
`program.
`
`This “lookup table” gives a 16-bit intensity (or reflec-
`tance) value for each possible pixel value, starting with
`pixel value 0 and ending with pixel value 255 (for 8-bit
`data), where 0 is black and 65535 is white. An applica-
`tion should invert the values to get the desired percent-
`dot when doing separations.
`
`A bitmap will have two GrayMap values (corresponding
`to pixel values 0 and 1); a 4-bit grayscale image will
`have 16 values; and an 8-bit image will have 256 values.
`
`Note that the %ALDImageGrayMap can be either
`ascending or descending, depending on whether the
`image is BlackZero or WhiteZero, respectively. (Note
`that this means that an OPI server should not change the
`image from BlackZero to WhiteZero or vice versa when
`creating a low-res image from a high-res image, other-
`wise %ALDImageGrayMap will be applied incorrectly.)
`
`A page-layout program can use this comment convention
`to pass TIFF ASCII tag values through to the OPI Server.
`
`“NNN” is the TIFF tag number. It must not be padded on
`the left with zeros.
`
`The value of %ALDImageAsciiTagNNN is the value of
`the corresponding TIFF ASCII field. The page-layout
`program should check for special (non-printing) charac-
`ters such as carriage return and line feed and translate
`them into question marks or other printable characters.
`(Otherwise a new line would be created that the
`PostScript RIP would attempt to interpret as PostScript
`commands, causing the print job to fail. See the
`PostScript red book for further information on PostScript
`interpretation rules.) Lines longer than 255 characters
`should be broken into multiple lines using the ‘%%+’
`convention.
`
`See the TIFF 6.0 specification for further information on
`TIFF.
`
`When you have a large number of values, such as for an
`8-bit image, list them on multiple lines, using the %%+
`continuation line convention. Adobe recommends that
`there be no more than 255 characters per line in a DSC-
`conforming PostScript file.
`
`%%BeginObject: image
`%%EndObject
`
`Required.
`
`%ALDImageTransparency: true | false
`
`Optional. For bitmaps only. Default is "true".
`
`This comment defines whether or not white pixels are to
`be rendered as transparent. Transparency can be achieved
`by using the PostScript “imagemask” operator instead of
`the “image” operator.
`
`ALDImageTransparency is not applicable to grayscale or
`color images at this time, since PostScript currently has
`no mechanism for printing completely or partially
`transparent pixels in grayscale or color images. Instead, a
`clipping path must be used to mask off parts of grayscale
`and color images.
`
`%%BeginObject immediately follows the last OPI
`comment. If the page-layout program has included
`PostScript code for the image (Aldus PageMaker has an
`option for including image data or not), the data must
`begin after %%BeginObject. %%EndObject follows the
`image data. When printing, an OPI Server typically
`removes everything between %%BeginObject and
`%%EndObject (if there is anything to remove) and
`replaces it with its own data (and any necessary
`PostScript procedure definitions and invocations) for that
`image.
`
`%%BeginObject and %%EndObject are documented in
`the Adobe DSC document.
`
`%%BeginBinary: <#ofBytes>
`%%EndBinary
`
`%ALDImageAsciiTag<NNN>: <tagtext>
`
`or, preferably, use the newer:
`
`<NNN>
`<tagtext>
`
`::= <uint>
`::= <textline>
`
`(TIFF tag number, in decimal)
`(contents of TIFF field)
`
`Optional.
`
`%%BeginData: <#ofBytes> Binary Bytes
`%%EndData
`
`<#ofBytes>
`
`::= <uint>
`
`22 September 1993 • 11
`
`

`

`Required if image data is included in an OPI-compliant
`PostScript file.
`
`If image data is included in the file, it must be sur-
`rounded by the %%BeginData/%%EndData comments.
`#ofBytes indicates the number of bytes between the
`%%BeginData and %%EndData comments. These
`comments allow the OPI server to scan quickly to the end
`of the image data. Note that the %%BeginData/
`%%EndData pair must be contained within the
`%%BeginObject/%%EndObject pair (see above).
`
`Use of BeginBinary/EndBinary by page-layout programs
`is no longer recommended. Use the newer BeginData/
`EndData comments, which explicitly supports hex data
`as well as binary data.
`
`See the Adobe DSC document for further information on
`%%BeginData/%%EndData, such as the proper syntax
`for writing out hex data. An OPI Server must support hex
`as well as binary image data.
`
`12 • OPI: Open Prepress Interface Specification 1.3 — Final
`
`

`

`Example 1
`
`This example shows the OPI comments describing two scanned images: an 8-bit grayscale image and a 24-bit color
`image.
`The image data is not included in this example.
`
`<PostScript header>
`<text and graphics>
`<save>
`<set up PostScript default space>
`%ALDImageFileName: theDisk:Graphics:Images:TIFF - gray:DigitalDarkroom:Barn.Tiff(8bit)(LD2)
`%ALDImageDimensions: 356 290
`%ALDImageCropRect: 0 0 356 290
`%ALDImageCropFixed: 0.0 0.0 356.0 290.0
`%ALDImagePosition: 353.300 571.250 353.300 738.000 558.000 738.000 558.000 571.250
`%ALDImageResolution: 150.000 150.000
`%ALDImageColorType: Process
`%ALDImageColor: 0.00 0.00 0.00 1.00 (Black)
`%ALDImageTint: 1.00
`%ALDImageOverprint: false
`%ALDImageType: 1 8
`%ALDImageGrayMap: 65535 65273 65011 64749 64486 64290 64028 63831 63569 63307 63045 62783 62520 62258 61996 61734
`%%+ 61537 61275 60948 60685 60489 60227 59965 59702 59375 59113 58850 58588 58326 57998 57736 57474
`%%+ 57278 57015 56688 56426 56229 55967 55705 55443 55180 54918 54656 54394 54132 53935 53739 53477
`%%+ 53214 52952 52690 52428 52166 51904 51642 51379 51183 50921 50724 50462 50200 49938 49676 49413
`%%+ 49151 48889 48627 48430 48168 47841 47578 47382 47120 46858 46595 46268 46006 45743 45481 45219
`%%+ 44891 44629 44367 44171 43908 43581 43319 43122 42860 42598 42336 42073 41811 41549 41287 41025
`%%+ 40828 40632 40370 40107 39845 39583 39321 39059 38797 38535 38272 38076 37814 37617 37355 37093
`%%+ 36831 36569 36306 36044 35782 35520 35323 35061 34734 34471 34275 34013 33751 33488 33161 32899
`%%+ 32636 32374 32112 31784 31522 31260 31064 30801 30474 30212 30015 29753 29491 29229 28966 28704
`%%+ 28442 28180 27918 27721 27525 27263 27000 26738 26476 26214 25952 25690 25428 25165 24969 24707
`%%+ 24510 24248 23986 23724 23462 23199 22937 22675 22413 22216 21954 21627 21364 21168 20906 20644
`%%+ 20381 20054 19792 19529 19267 19005 18677 18415 18153 17957 17694 17367 17105 16908 16646 16384
`%%+ 16122 15859 15597 15335 15073 14811 14614 14418 14156 13893 13631 13369 13107 12845 12583 12321
`%%+ 12058 11862 11600 11403 11141 10879 10617 10355 10092 9830 9568 9306 9109 8847 8520 8257
`%%+ 8061 7799 7537 7274 6947 6685 6422 6160 5898 5570 5308 5046 4850 4587 4260 3998
`%%+ 3801 3539 3277 3015 2752 2490 2228 1966 1704 1507 1311 1049 786 524 262 0
`%%BeginObject: image
`%%EndObject
`<restore>
`<possibly some more PostScript text and graphics>
`<save>
`<set up PostScript default space>
`%ALDImageFileName: theDisk:Graphics:Images:TIFF - RGB:Flamingo.TIF(LD)
`%ALDImageDimensions: 416 410
`%ALDImageCropRect: 0 0 416 410
`%ALDImageCropFixed: 0.0 0.0 416.0 410.0
`%ALDImagePosition: 72.000 69.250 72.000 479.250 488.000 479.250 488.000 69.250
`%ALDImageResolution: 150.000 150.000
`%ALDImageType: 3 8
`%%BeginObject: image
`%%EndObject
`<restore>
`<possibly some more PostScript text and graphics>
`<end-of-job stuff>
`
`22 September 1993 • 13
`
`

`

`Example 2
`
`In this example, the image data has not been stripped out (the image is small—only 4 by 4 pixels). Note especially the
`use of %%BeginData and %%EndData.
`
`<start save context>
`<set up default coordinate space>
`%ALDImageFileName: theDisk:Graphics:Images:TIFF - gray:All16.tif
`%ALDImageID: /home/images/gray/All16.tif
`%ALDImageDimensions: 4 4
`%ALDImageCropRect: 0 0 4 4
`%ALDImageCropFixed: 0.0 0.0 4.0 4.0
`%ALDImagePosition: 235.400 336.400 235.400 484.900 383.900 484.900 383.900 336.400
`%ALDImageResolution: 72.000 72.000
`%ALDImageColorType: Spot
`%ALDImageColor: 1.000 0.100 0.100 0.000 (Aquamarine)
`%ALDI

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket