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
passwordUse the specified password if the file is encrypted.
-o
outputThe 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.
-r
Force repair before showing any objects.
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 yourmutool show
query.
Examples:
Find the number of pages in a document:
mutool show $FILE trailer/Root/Pages/CountPrint the raw content stream of the first page:
mutool show -b $FILE pages/1/ContentsPrint 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 outlineShow all JPEG compressed stream objects:
mutool show $FILE grep | grep '/Filter/DCTDecode'