summaryrefslogtreecommitdiff
path: root/support/epstopdf/epstopdf.1
blob: feb5e887c9b6ccf30beeda9fc2be4136997a3db9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
.TH EPSTOPDF 1 "29 August 2022"
.\" $Id: epstopdf.1 64235 2022-08-29 22:52:01Z karl $
.SH NAME
epstopdf, repstopdf \- convert an EPS file to PDF
.SH SYNOPSIS
\fBepstopdf\fP [\fIoptions\fP] [\fIepsfile\fP [\fIpdffile\fP.pdf]]
.SH DESCRIPTION
By default, \fBepstopdf\fP converts the input PostScript file to PDF,
using Ghostscript.
.PP
\fBEpstopdf\fP transforms the Encapsulated PostScript file \fIepsfile\fP
(or standard input) so that it is guaranteed to start at the 0,0
coordinate, and it sets a page size exactly corresponding to the
BoundingBox.  Thus, the result needs no cropping, and the PDF MediaBox
is correct.  
.PP
By default, the output name is the input name with any extension
replaced by \fB.pdf\fP.  An output name ending with .pdf can also be given
as a second argument on the command line, or the \fB--outfile\fP
(\fB-o\fP) option can be used with any name.
.PP
The output is PDF 1.5 by default; use, e.g.,
.nf
--gsopt=-dCompatibilityLevel=1.7
.fi
to change this. (Until epstopdf 2.28 (released September 2018), the
PDF version was whatever the underlying Ghostscript or other interpreter
produced by default.)
.PP
PJL commands at the start of a file are removed.  DOS EPS binary files
(TN 5002) are supported.
.PP
If the bounding box in the input is incorrect, of course there will
be resulting problems.
.SH OPTIONS
Options may start with either "\fB-\fP" or "\fB--\fP", and may be
unambiguously abbreviated.  It is best to use the full option name in
scripts to avoid possible collisions with new options in the future.
.PP
General script options:
.IP "\fB--help\fP
display help message and exit
.IP "\fB--version\fP
display version information and exit
.IP "\fB--outfile\fP=\fIfile\fP"
write result to \fIfile\fP.  If this option is not given, and
\fB--nogs\fP or \fB--filter\fP is specified, write to standard output;
otherwise, the default is to construct the output file name by replacing
any extension in the input file with `.pdf'.
.IP "\fB--\fP[\fBno\fP]\fBdebug\fP"
write debugging info (default: false).
.IP "\fB--\fP[\fBno\fP]\fBexact\fP"
scan ExactBoundingBox (default: false).
.IP "\fB--\fP[\fBno\fP]\fBfilter\fP"
read standard input and (unless \fB--outfile\fP is given) write standard
output (default: false).
.IP "\fB--\fP[\fBno\fP]\fBgs\fP"
run Ghostscript (default: true).  With \fB--nogs\fP, output (to standard
output by default) the PostScript that would normally be converted; that
is, the input PostScript as modified by \fBepstopdf\fP.
.IP "\fB--\fP[\fBno\fP]\fBhires\fP"
scan HiresBoundingBox (default: false).
.IP "\fB--restricted\fP=\fIval\fP"
turn on restricted mode (default: [true for repstopdf, else false]);
this forbids the use of \fB--gscmd\fP and other options and imposes
restrictions on the input and output file names according to the values
of openin_any and openout_any (see the Web2c manual, https://tug.org/web2c).
On Windows, the Ghostscript command is forced to be the TeX Live builtin
gs, installed under \fB.../tlpkg/tlgs/bin/\fP.
.PP
Options for Ghostscript (more info below):
.IP "\fB--gscmd\fP=\fIval\fP"
pipe output to \fIval\fP (default: [\fBgswin64c\fP on 64-bit Windows,
\fBgswin32c\fP on 32-bit Windows, else \fBgs\fP])
.IP "\fB--gsopt\fP=\fIval\fP"
include \fIval\fP as one argument in the gs command (can be repeated).
.IP "\fB--gsopts\fP=\fIval\fP"
split \fIval\fP at whitespace and include each resulting word as an
argument in the gs command (can be repeated).
.IP "\fB--autorotate\fP=\fIval\fP"
set AutoRotatePages (default: None); recognized \fIval\fP choices:
None, All, PageByPage.  For EPS files, PageByPage is equivalent to All.
.IP "\fB--\fP[\fBno\fP]\fBcompress\fP"
use compression in the output (default: true); if turned off, passes
.IR -dUseFlateCompression=false .
.IP "\fB--device\fP=\fIdev\fP"
use -sDEVICE=\fIdev\fP (default: pdfwrite); not allowed in restricted mode.
.IP "\fB--\fP[\fBno\fP]\fBembed\fP"
embed fonts (default: true); passes
.I -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true.
.IP "\fB--\fP[\fBno\fP]\fBgray\fP"
grayscale output (default: false); passes
.I -sColorConversionStrategy=Gray -dProcessColorModel=/DeviceGray.
.IP "\fB--pdfsettings\fP=\fIval\fP"
use -dPDFSETTINGS=/\fIval\fP (default is `prepress' if \fB--embed\fP,
else empty); recognized \fIval\fP choices: screen, ebook, printer,
prepress, default.
.IP "\fB--\fP[\fBno\fP]\fBquiet\fP"
use -q, a.k.a. -dQUIET (default: false).
.IP "\fB--res\fP=\fIdpi, dpi\fPx\fIdpi\fP"
set image resolution (default: [use gs default]); ignored if
\fB--debug\fP is set.
.IP "\fB--\fP[\fBno\fP]\fBsafer\fP"
use -d(NO)QUIET (default: true).
.PP
In addition to the specific options above, additional options to be used
with gs can be specified with either or both of the two cumulative
options \fB--gsopts\fP and \fB--gsopt.\fP
.PP
\fB--gsopts\fP takes a single string of options, which is split at
whitespace, each resulting word then added to the gs command line
individually.
.PP
\fB--gsopt\fP adds its argument as a single option to the gs command
line.  It can be used multiple times to specify options separately,
and is necessary if an option or its value contains whitespace.
.PP
In restricted mode, options are limited to those with names and values
known to be safe.  Some options taking booleans, integers or fixed
names are allowed, those taking general strings are not.

.SH EXAMPLES
These examples all equivalently convert `test.eps' to `test.pdf':
.nf
epstopdf test.eps
epstopdf test.eps test.pdf
cat test.eps | epstopdf --filter >test.pdf
cat test.eps | epstopdf -f -o=test.pdf
.fi
.PP
Example for using HiResBoundingBox instead of BoundingBox:
.nf
epstopdf --hires test.eps
.fi
.PP
Example for \fBepstopdf\fP's attempt at correcting PostScript:
.nf
$program --nogs test.ps >testcorr.ps
.fi
.PP
In all cases, you can add \fB--debug\fP (\fB-d\fP) to see more about
what \fBepstopdf\fP is doing.
.SH BUGS
The case of "%%BoundingBox: (atend)" when input is not seekable (e.g.,
from a pipe) is not supported.
.PP
Report bugs in the program or this man page to tex-k@tug.org.  When
reporting bugs, please include an input file and the command line
options specified, so the problem can be reproduced.
.SH SEE ALSO
\fBgs\fP(1),
\fBpdfcrop\fP(1).
.PP
The epstopdf LaTeX package, which automates running this script on the
fly under TeX: https://ctan.org/pkg/epstopdf-pkg.
.SH AUTHOR
Originally written by Sebastian Rahtz, for Elsevier Science, with
subsequent contributions from Thomas Esser, Gerben Wierda, Heiko
Oberdiek, and many others.  Currently maintained by Karl Berry.
.PP
Man page originally written by Jim Van Zandt.
.PP
epstopdf home page: https://tug.org/epstopdf.
.PP
You may freely use, modify and/or distribute this man page.