libtiff/man/tiff2ps.1

194 lines
5.2 KiB
Groff
Raw Normal View History

Broad changes to tiff2ps by Bruce A. Mallett. Fixed PS_Lvl2page() code which outputs non-ASCII85 raw data. Moved test for when to output a line break to *after* the output of a character. This just serves to fix an eye-nuisance where the first line of raw data was one character shorter than subsequent lines. Added an experimental ASCII85 encoder which can be used only when there is a single buffer of bytes to be encoded. This version is much faster at encoding a straight-line buffer of data because it can avoid alot of the loop overhead of the byte-by-bye version. To use this version you need to define EXP_ASCII85ENCODER (experimental ...). Added bug fix given by Michael Schmidt to PS_Lvl2page() in which an end-of-data marker ('>') was not being output when producing non-ASCII85 encoded PostScript Level 2 data. Fixed PS_Lvl2colorspace() so that it no longer assumes that a TIFF having more than 2 planes is a CMYK. This routine no longer looks at the samples per pixel but instead looks at the "photometric" value. This change allows support of CMYK TIFFs. Modified the PostScript L2 imaging loop so as to test if the input stream is still open before attempting to do a flushfile on it. This was done because some RIPs close the stream after doing the image operation. Got rid of the realloc() being done inside a loop in the PSRawDataBW() routine. The code now walks through the byte-size array outside the loop to determine the largest size memory block that will be needed. Added "-m" switch to ask tiff2ps to, where possible, use the "imagemask" operator instead of the "image" operator. Added the "-i #" switch to allow interpolation to be disabled. Unrolled a loop or two to improve performance.
2001-03-28 20:34:33 -05:00
.\" $Header: /cvs/maptools/cvsroot/libtiff/man/tiff2ps.1,v 1.2 2001-03-29 01:34:33 warmerda Exp $
1999-07-27 17:50:26 -04:00
.\"
.\" Copyright (c) 1988-1997 Sam Leffler
.\" Copyright (c) 1991-1997 Silicon Graphics, Inc.
.\"
.\" Permission to use, copy, modify, distribute, and sell this software and
.\" its documentation for any purpose is hereby granted without fee, provided
.\" that (i) the above copyright notices and this permission notice appear in
.\" all copies of the software and related documentation, and (ii) the names of
.\" Sam Leffler and Silicon Graphics may not be used in any advertising or
.\" publicity relating to the software without the specific, prior written
.\" permission of Sam Leffler and Silicon Graphics.
.\"
.\" THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
.\" EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
.\" WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
.\"
.\" IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
.\" ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
.\" OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
.\" WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
.\" LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
.\" OF THIS SOFTWARE.
.\"
.if n .po 0
.ds Ps P\s-2OST\s+2S\s-2CRIPT\s+2
.TH TIFF2PS 1 "January 27, 1997"
.SH NAME
tiff2ps \- convert a
.SM TIFF
image to \*(Ps\(tm
.SH SYNOPSIS
.B tiff2ps
[
.I options
]
.I "input.tif ..."
.SH DESCRIPTION
.I tiff2ps
reads
.SM TIFF
images and writes \*(Ps or Encapsulated \*(Ps (EPS)
on the standard output.
By default,
.I tiff2ps
writes Encapsulated \*(Ps for the first image in the specified
.SM TIFF
image file.
.PP
By default,
.I tiff2ps
will generate \*(Ps that fills a printed area specified
by the
.SM TIFF
tags in the input file.
If the file does not contain
.I XResolution
or
.I YResolution
tags, then the printed area is set according to the image dimensions.
The
.B \-w
and
.B \-h
options (see below)
can be used to set the dimensions of the printed area in inches;
overriding any relevant
.SM TIFF
tags.
.PP
The \*(Ps generated for
.SM RGB,
palette, and
.SM CMYK
images uses the
.I colorimage
operator.
The \*(Ps generated for
greyscale and bilevel images
uses the
.I image
operator.
When the
.I colorimage
operator is used, \*(Ps code to emulate this operator
on older \*(Ps printers is also generated.
Note that this emulation code can be very slow.
.PP
Color images with associated alpha data are composited over
a white background.
.SH OPTIONS
.TP
.B \-1
Generate \*(Ps Level I (the default).
.TP
.B \-2
Generate \*(Ps Level II.
.TP
.B \-a
Generate output for all IFDs (pages) in the input file.
.TP
.B \-d
Set the initial
.SM TIFF
directory to the specified directory number.
(NB: directories are numbered starting at zero.)
This option is useful for selecting individual pages in a
multi-page (e.g. facsimile) file.
.TP
.B \-e
Force the generation of Encapsulated \*(Ps.
.TP
.B \-h
Specify the vertical size of the printed area (in inches).
.TP
Broad changes to tiff2ps by Bruce A. Mallett. Fixed PS_Lvl2page() code which outputs non-ASCII85 raw data. Moved test for when to output a line break to *after* the output of a character. This just serves to fix an eye-nuisance where the first line of raw data was one character shorter than subsequent lines. Added an experimental ASCII85 encoder which can be used only when there is a single buffer of bytes to be encoded. This version is much faster at encoding a straight-line buffer of data because it can avoid alot of the loop overhead of the byte-by-bye version. To use this version you need to define EXP_ASCII85ENCODER (experimental ...). Added bug fix given by Michael Schmidt to PS_Lvl2page() in which an end-of-data marker ('>') was not being output when producing non-ASCII85 encoded PostScript Level 2 data. Fixed PS_Lvl2colorspace() so that it no longer assumes that a TIFF having more than 2 planes is a CMYK. This routine no longer looks at the samples per pixel but instead looks at the "photometric" value. This change allows support of CMYK TIFFs. Modified the PostScript L2 imaging loop so as to test if the input stream is still open before attempting to do a flushfile on it. This was done because some RIPs close the stream after doing the image operation. Got rid of the realloc() being done inside a loop in the PSRawDataBW() routine. The code now walks through the byte-size array outside the loop to determine the largest size memory block that will be needed. Added "-m" switch to ask tiff2ps to, where possible, use the "imagemask" operator instead of the "image" operator. Added the "-i #" switch to allow interpolation to be disabled. Unrolled a loop or two to improve performance.
2001-03-28 20:34:33 -05:00
.B \-i
Enable/disable pixel interpolation. This option requires a
single numeric value: zero to disable pixel interpolation and
non-zero to enable. The default is enabled.
.TP
.B \-m
Where possible render using the
.B imagemask
\*(Ps operator instead of the image operator. When this option is specified
.I tiff2ps
will use
.B imagemask
for rendering 1 bit deep images. If this option is not specified
or if the image depth is greater than 1 then the image operator
is used.
.TP
1999-07-27 17:50:26 -04:00
.B \-o
Set the initial
.SM TIFF
directory to the
.SM IFD
at the specified file offset.
This option is useful for selecting thumbnail images and the
like which are hidden using the SubIFD tag.
.TP
.B \-p
Force the generation of (non-Encapsulated) \*(Ps.
.TP
.B \-s
Generate output for a single IFD (page) in the input file.
.TP
.B \-w
Specify the horizontal size of the printed area (in inches).
.TP
.B \-z
When generating \*(Ps Level II, data is scaled so that it does not
image into the
.I deadzone
on a page (the outer margin that the printing device is unable to mark).
This option suppresses this behaviour.
When \*(Ps Level I is generated, data is imaged to the entire printed
page and this option has no affect.
.SH EXAMPLES
The following generates \*(Ps Level II for all pages of a facsimile:
.RS
.nf
tiff2ps -a2 fax.tif | lpr
.fi
.RE
Note also that if you have version 2.6.1 or newer of Ghostscript then you
can efficiently preview facsimile generated with the above command.
.PP
To generate Encapsulated \*(Ps for a the image at directory 2
of an image use:
.RS
.nf
tiff2ps -d 1 foo.tif
.fi
.RE
(notice that directories are numbered starting at zero.)
.SH BUGS
Because \*(Ps does not support the notion of a colormap,
8-bit palette images produce 24-bit \*(Ps images.
This conversion results in output that is six times
bigger than the original image and which takes a long time
to send to a printer over a serial line.
Matters are even worse for 4-, 2-, and 1-bit palette images.
.SH BUGS
Does not handle tiled images when generating PS Level I output.
.SH "SEE ALSO"
.IR pal2rgb (1),
.IR tiffinfo (1),
.IR tiffcp (1),
.IR tiffgt (1),
.IR tiffmedian (1),
.IR tiff2bw (1),
.IR tiffsv (1),
.IR libtiff (3)