mutool clean#
The clean
command pretty prints and rewrites the syntax of a PDF file. It can be used to repair broken files, expand compressed streams, filter out a range of pages, etc.
mutool clean [options] input.pdf [output.pdf] [pages]
Note
Command line parameters within square brackets []
are optional.
[options]
Options are as follows:
-p
passwordUse the specified password if the file is encrypted.
-g
Garbage collect unused objects.
-gg
In addition to
-g
compact xref table.-ggg
In addition to
-gg
merge duplicate objects.-gggg
In addition to
-ggg
check streams for duplication.-l
Linearize PDF (no longer supported!).
-D
Save file without encryption.
-E
encryptionSave file with new encryption (
rc4-40
,rc4-128
,aes-128
, oraes-256
).-O
owner_passwordOwner password (only if encrypting).
-U
user_passwordUser password (only if encrypting).
-P
permissionPermission flags (only if encrypting).
-a
ASCII hex encode binary streams.
-d
Decompress streams.
-z
Deflate uncompressed streams.
-f
Compress font streams.
-i
Compress image streams.
-c
Pretty-print graphics commands in content streams.
-s
Sanitize graphics commands in content streams.
-t
Compact object syntax.
-tt
Use indented object syntax to make PDF objects more readable.
-L
Print comments containing labels showing how each object can be reached from the Root.
-A
Create appearance streams for annotations that are missing appearance streams.
-AA
Recreate appearance streams for all annotations.
-m
Preserve metadata.
-S
Subset fonts if possible. (EXPERIMENTAL!)
-Z
Use object streams cross reference streams for extra compressoin.
--(color|gray|bitonal)-(|lossy-|lossless-)image-subsample-method method
Set the subsampling method (
average
, orbicubic
) for the desired image types, for example color-lossy and bitonal-loessless.--(color|gray|bitonal)-(|lossy-|lossless-)image-subsample-dpi dpi
Set the resolution at which to subsample.
--(color|gray|bitonal)-(|lossy-|lossless-)image-recompress-method quality
Set the recompression quality to either of
never
,same
,lossless
,jpeg
,j2k
,fax
, orjbig2
.--structure=keep|drop
Keep or drop the structure tree.
input.pdf
Input file name. Must be a PDF file.
[output.pdf]
The output file. Must be a PDF file.
Note
If no output file is specified, it will write the cleaned PDF to “out.pdf” in the current directory.
[pages]
Comma separated list of page numbers and ranges (for example: 1,5,10-15,20-N), where the character N denotes the last page. If no pages are specified, then all pages will be included.