PDFTEX(1) General Commands Manual PDFTEX(1)

pdftex, pdfetex - PDF output from TeX

pdftex [options] [&format] [ file [ more-input ] | [ \more-input ]

Run the pdfTeX typesetter on file[.tex], usually creating file.pdf. If the file argument has no extension, ".tex" will be appended to it. See tex(1) for details of command-line parsing.

pdfTeX is a descendant of TeX that can create pdf files directly as well as dvi files (determined by the value of the \pdfoutput primitive parameter). It includes the etex(1) extensions, and adds many more extensions of its own. In dvi mode, pdfTeX can be used as an upward-compatible replacement for the TeX engine.

The typical use of pdfTeX is with pregenerated TeX formats (.fmt files), usually with pdf output enabled. For example, the pdftex command uses the plain TeX format, and the pdflatex(1) command uses the LaTeX format. As described in etex(1), the e-TeX extensions are enabled when building the .fmt file.

Image formats supported

In pdf mode, pdfTeX can natively handle the pdf, jpg, jbig2, and png graphics formats. It cannot include PostScript or Encapsulated PostScript (eps) graphics files; you can convert them to pdf using, for example, epstopdf(1). The PostScript files output by mpost(1), which are highly restricted in their use of PostScript, can be handled directly using the supp-pdf.tex macros, or converted to pdf with mptopdf(1).

Program variants

Starting with version 1.40 (around 2007), pdfTeX incorporated the e-TeX extensions, and the pdfetex and etex executables became symlinks to the pdftex binary. The etex executable generates dvi files by default; pdfetex has the same behavior as pdftex.

Both engine and driver

When generating pdf output, pdfTeX must have all necessary font and device information and thus is acting like a device driver with dvi output, similar to, say, dvips(1). Therefore there are various primitives to specify the device information, such as the height, width, resolution, and so forth. Also, pdfTeX reads glyph information for the fonts used, e.g., from Type 1 or PK bitmap files. pdfTeX also supports TrueType fonts, but it's necessary to define an encoding before using them (see references). OpenType fonts are not supported.

For the common TeX command-line options and handling, see tex(1). The following pdfTeX-specific options are also supported:

Enabled \pdfdraftmode, in which pdfTeX doesn't write a pdf and doesn't read any included images, thus speeding up execution.
Enable the e-TeX extensions. This option is only effective in combination with -ini. It is typically enabled implicitly, with a leading "*" on the format initialization file, as described in etex(1).
Set the output format mode; format must be either ``pdf'' or ``dvi''.
generate SyncTeX data for previewers according to bits of number. See synctex(1).

See tex(1). Also, this environment variable is specific to pdfTeX:

If set to "1", pdfTeX reports various attributes of each png image, including whether the image is copied. This is useful when a document uses numerous png images, since reencoding (instead of copying) can take considerable time. See the Graphics chapter in the pdfTeX manual for more information.

Also, these environment variables are considered for all engines except original TeX:

If set, its value, taken to be in epoch-seconds, will be used for the timestamps in the PDF output, such as the CreationDate and ModDate keys. This is useful for making reproducible builds.
If set to the value "1", the time-related TeX primitives (\year, \month, \day, \time) are also initialized from the value of SOURCE_DATE_EPOCH. This is not recommended if there is any viable alternative.
pdfTeX also has several primitives to support reproducible builds; see the manual.

See tex(1). Also:

$TEXMFMAIN/tex/plain/config/etex.ini
The driver file that builds the plain format files for pdfTeX, pdftex.fmt and pdfetex.fmt, in TeX Live.
$TEXMFMAIN/tex/plain/config/pdftexmagfix.tex
Make \magnification work as expected under pdfTeX. Included in the format files.
$TEXMFMAIN/tex/generic/tex-ini-files/pdftexconfig.tex
Define shared pdf settings, such as the default pdf version, the pdf height and width, etc.
$TEXMF[SYS]CONFIG/tex/generic/tex-ini-files/pdftexconfig.tex
The installation-specific version of the above (in TeX Live), since the default paper size is defined by the installation.
$TEXMF[SYS]VAR/fonts/map/pdftex/updmap/pdftex.map
Mapping of tfm files to Type 1 fonts; generally maintained automatically in TeX Live.

See tex(1).

epstopdf(1), etex(1), luatex(1), mptopdf(1), tex(1).

Micro-typographic extensions to the TeX typesetting system, by Hàn The Thành (thesis describing the major new typesetting feature in pdfTeX): https://tug.org/TUGboat/tb21-4/
A closer look at TrueType fonts and pdfTeX, by Hàn The Thành (on using TrueType fonts with TeX): https://tug.org/TUGboat/tb30-1/tb94thanh.pdf
pdfTeX home page: https://www.pdftex.org
Package page on CTAN: https://ctan.org/pkg/pdftex
pdfTeX manual: https://mirror.ctan.org/systems/doc/pdftex/manual/pdftex-a.pdf
Web2c manual: https://tug.org/web2c
Kpathsea manual: https://tug.org/kpathsea
Sources for the TeX-world literate programs, as pdf: https://ctan.org/pkg/knuth-pdf

TeX was created by Donald E. Knuth. The primary author of the pdfTeX enhancements is Hàn The Thành, with major contributions from Petr Sojka, Jiri Zlatuska, and Peter Breitenlohner (e-TeX).

Public discussion list for pdfTeX-specific issues: https://lists.tug.org/pdftex
Public discussion list for TeX Live: https://lists.tug.org/tex-live
Public discussion list for all things TeX (and LaTeX): https://lists.tug.org/texhax

14 February 2026 Web2C 2026