Accessibility

TechNote (Archived)

FrameMaker for UNIX Displays an Imported EPS as a Gray Box

Issue

When you import an EPS file in Adobe FrameMaker for UNIX document (version 4.x or later), FrameMaker displays the graphic as a gray box. In FrameMaker 4.x, the box is 1 x1"; in FrameMaker 5.x, the box is the same size as the graphic.

Details

You imported the EPS file with Copy Into Document selected in the Import File dialog box.

The EPS file's code contains a %%Bounding Box statement.

Solutions

Select Import by Reference in the Import File dialog box when importing the file into your document. Importing by reference keeps the imported graphic linked to the source file.

OR: If you do not have the source EPS file or are required to import the EPS file by Copy into the document, open the EPS in a text editor and move the BoundingBox coordinates from the end of the file to the first BoundingBox line, replacing the (atend) statement:

NOTE: If you are not familiar with editing PostScript in UNIX, please see your System Administrator for assistance.

1. Make a backup copy of the EPS file.

2. Open the original EPS in a text editor that can save in text-only format (e.g., vi).

3. Copy the BoundingBox coordinates (e.g., 123 159 489 786) from the BoundingBox line that immediately precedes the EOF line.

4. Replace the (atend) statement in the first BoundingBox line with the BoundingBox coordinates. For example:

- Original EPS File:

%!PS-Adobe-2.0 EPSF-2.0

%%BoundingBox: (atend)

.

.

.

%%Trailer

%%BoundingBox: 123 159 489 786

%%EOF

- Modified EPS File:

%!PS-Adobe-2.0 EPSF-2.0

%%BoundingBox: 123 159 489 786

.

.

.

%%Trailer

%%EOF

5. Save the EPS file in text-only format.

OR: If you have multiple EPS files, write and execute the following shell script to automatically modify each EPS file:

#!/bin/sh

BB=`grep '^%%BoundingBox: *[0-9]* *[0-9]* *[0-9]* *[0-9]* *$' $1`

if [ -z "$BB" ]; then

echo "No %%BoundingBox statement in $1" >&2

exit 1

fi awk '

BEGIN {

didbb=0; }

/^%%BoundingBox: *\(atend\) *$/ {

print BB;

didbb=1;

next; }

/^%%BoundingBox: *[0-9]* *[0-9]* *[0-9]* *[0-9]* *$/ {

if (!didbb) {

print $0;

didbb=1;

}

next;

}

{ print $0;

}

' "BB=$BB" $1 exit 0

To create a new EPS file:

1. Save the shell script above in a file called "epsconvert."

2. At the command line, type the follow command:

epsconvert oldepsfile > newepsfile (where oldepsfile represents your original filename, and newepsfile represents the converted file.)

Additional Information

EPS graphic files contain a BoundingBox statement, which defines the dimensions of the graphic. While the BoundingBox statement typically appears at the beginning of an EPS file's code, it can also appear at the end (the proper syntax for the BoundingBox statement is "%%BoundingBox: (atend).)" When you import an EPS graphic whose BoundingBox statement appears at the end by Reference, FrameMaker displays it correctly. However, FrameMaker does not support EPS files of this type when imported by Copy.

AlertThis content requires Flash

To view this content, JavaScript must be enabled, and you need the latest version of the Adobe Flash Player.

Download the free Flash Player now!

Get Adobe Flash Player

Creative Commons License

Search Support


Document Details

ID:317799
OS:Unix
Solaris

Products Affected:

framemaker