Hide navigation sidebar
Hide table of contents sidebar
Skip to content
Back to top
View this page
Toggle table of contents sidebar
Find #mupdf on Discord
Do you have any feedback on this page?

# mutool show

The `show` command will print the specified objects and streams to `stdout`. Streams are decoded and non-printable characters are represented with a period by default.

    mutool show [options] input.pdf ( trailer | xref | pages | grep | outline | js | form | <path> ) *

Note

Command line parameters within square brackets `[]` are optional.

`[options]`

  Options are as follows:

  > `-p` password

  >   Use the specified password if the file is encrypted.

  > `-o` output

  >   The output file name instead of using `stdout`. Should be a plain text file format.

  > `-e`

  >   Leave stream contents in their original form.

  > `-b`

  >   Print only stream contents, as raw binary data.

  > `-g`

  >   Print only object, one line per object, suitable for grep.

`input.pdf`

  Input file name. Must be a PDF file.

`( trailer | xref | pages | grep | outline | js | form | <path> ) *`

  Specify what to show by using one of the following keywords, or specify a path to an object:

  `trailer`

    Print the trailer dictionary.

  `xref`

    Print the cross reference table.

  `pages`

    List the object numbers for every page.

  `grep`

    Print all the objects in the file in a compact one-line format suitable for piping to grep.

  `outline`

    Print the outline (also known as “table of contents” or “bookmarks”).

  `js`

    Print document level JavaScript.

  `form`

    Print form objects.

  `<path>`

    A path starts with either an object number, a property in the trailer dictionary, or the keyword “trailer” or “pages”. Separate elements with a period ‘.’ or slash ‘/’. Select a page object by using pages/N where N is the page number. The first page is number 1.

  `*`

    You can use `*` as an element to iterate over all array indices or dictionary properties in an object. Thus you can have multiple keywords with for your `mutool show` query.

Examples:

> Find the number of pages in a document:

>     mutool show $FILE trailer/Root/Pages/Count

> Print the raw content stream of the first page:

>     mutool show -b $FILE pages/1/Contents

> Print the raw content stream of the first page & second page & the PDF outline (demonstrates use of the `*` element):

>     mutool show -b $FILE pages/1/Contents pages/2/Contents outline

> Show all JPEG compressed stream objects:

>     mutool show $FILE grep | grep '/Filter/DCTDecode'

Do you have any feedback on this page?

This software is provided AS-IS with no warranty, either express or implied. This software is distributed under license and may not be copied, modified or distributed except as expressly authorized under the terms of that license. Refer to licensing information at artifex.com or contact Artifex Software, Inc., 39 Mesa Street, Suite 108A, San Francisco, CA 94129, USA, for further information.