---
name: "pdfinfo"
section: "1"
platform: "linux"
package: "poppler"
version: "26.10.0-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/pdfinfo"
---

# pdfinfo(1)

Portable Document Format (PDF) document information extractor (version 3.03)

## NAME

pdfinfo - Portable Document Format (PDF) document information extractor (version 3.03)

## SYNOPSIS

**pdfinfo** \[options\] \[*PDF-file*\]

## DESCRIPTION

**Pdfinfo** prints the contents of the ´Info' dictionary (plus some other useful information) from a Portable Document Format (PDF) file.

If *PDF-file* is ´-', it reads the PDF file from stdin.

The ´Info' dictionary contains the following values:

title

subject

keywords

author

creator

producer

creation date

modification date

In addition, the following information is printed:

custom metadata (yes/no)

metadata stream (yes/no)

tagged (yes/no)

userproperties (yes/no)

suspects (yes/no)

form (AcroForm / XFA / none)

javascript (yes/no)

page count

encrypted flag (yes/no)

print and copy permissions (if encrypted)

page size

file size

linearized (yes/no)

PDF version

metadata (only if requested)

The options -listenc, -meta, -js, -struct, and -struct-text only print the requested information. The 'Info' dictionary and related data listed above is not printed. At most one of these five options may be used.

## OPTIONS

- **-f** *number*

  Specifies the first page to examine.  If multiple pages are requested using the "-f" and "-l" options, the size of each requested page (and, optionally, the bounding boxes for each requested page) are printed. Otherwise, only page one is examined.

- **-l** *number*

  Specifies the last page to examine.

- **-box**

  Prints the page box bounding boxes: MediaBox, CropBox, BleedBox, TrimBox, and ArtBox.

- **-meta**

  Prints document-level metadata.  (This is the "Metadata" stream from the PDF file's Catalog object.)

- **-custom**

  Prints custom and standard metadata.

- **-js**

  Prints all JavaScript in the PDF.

- **-struct**

  Prints the logical document structure of a Tagged-PDF file.

- **-struct-text**

  Print the textual content along with the document structure of a Tagged-PDF file.  Note that extracting text this way might be slow for big PDF files. (Implies **-struct**.)

- **-url**

  Print all URLs in the PDF. Only the URL types supported by Poppler are listed. Currently, this is limited to Annotations. Note: only URLs referenced by the PDF objects such as Link Annotations are listed. pdfinfo does not attempt to extract strings matching http://... from the text content.

- **-isodates**

  Prints dates in ISO-8601 format (including the time zone).

- **-rawdates**

  Prints the raw (undecoded) date strings, directly from the PDF file.

- **-dests**

  Print a list of all named destinations. If a page range is specified using "-f" and "-l", only destinations in the page range are listed.

- **-enc** *encoding-name*

  Sets the encoding to use for text output. This defaults to "UTF-8".

- **-listenc**

  Lits the available encodings

- **-opw** *password*

  Specify the owner password for the PDF file.  Providing this will bypass all security restrictions.

- **-upw** *password*

  Specify the user password for the PDF file.

- **-v**

  Print copyright and version information.

- **-h**

  Print usage information. (**-help** and **--help** are equivalent.)

## EXIT CODES

The Xpdf tools use the following exit codes:

- 0

  No error.

- 1

  Error opening a PDF file.

- 2

  Error opening an output file.

- 3

  Error related to PDF permissions.

- 99

  Other error.

## AUTHOR

The pdfinfo software and documentation are copyright 1996-2011 Glyph & Cog, LLC.

## SEE ALSO

[**pdfdetach**(1)](/pdfdetach/1.md), [**pdffonts**(1)](/pdffonts/1.md), [**pdfimages**(1)](/pdfimages/1.md), [**pdftocairo**(1)](/pdftocairo/1.md), [**pdftohtml**(1)](/pdftohtml/1.md), [**pdftoppm**(1)](/pdftoppm/1.md), [**pdftops**(1)](/pdftops/1.md), [**pdftotext**(1)](/pdftotext/1.md) [**pdfseparate**(1)](/pdfseparate/1.md), [**pdfsig**(1)](/pdfsig/1.md), [**pdfunite**(1)](/pdfunite/1.md)
