mutool create¶
The create
command creates a new PDF file with the contents created from one or more input files containing graphics commands.
mutool create [-o output.pdf] [-O options] page.txt [page2.txt ...]
Note
Command line parameters within square brackets []
are optional.
[-o output.pdf]
The output filename. Defaults to “out.pdf” if not supplied.
[-O options]
The
-O
argument is a comma separated list of options for writing the PDF file:decompress
Decompress all streams (except compress-fonts/images).compress
Compress all streams, and is identical tocompress=flate
.or
compress=flate
which compresses all streams using Flate or CCITT Fax compression methods.or
compress=brotli
which compresses all streams using Brotli or CCITT Fax compression methods.compress-fonts
Compress embedded fonts.compress-images
Compress images.compression-effort=NUMBER
Desired effort in percent to spend compressing streams.0
is default effort level, or a number from1
, the minimum, and100
, the maximum effort.labels
Print labels for how to reach each object as comments in the output PDF.ascii
ASCII hex encode binary streams.pretty
Pretty-print objects with indentation.linearize
Optimize for web browsers. No longer supported!clean
Pretty-print graphics commands in content streams.sanitize
Sanitize graphics commands in content streams.incremental
Write changes as incremental update.objstms
Use object and cross-reference streams when creating PDF.appearance=yes
Create appearance streams for annotations that miss appearance streams.appearance=all
Recreate appearance streams for all annotations.continue-on-error
Continue saving the document even if there is an error.garbage
Garbage collect unused objects.or
garbage=compact
… and compact cross reference table.or
garbage=deduplicate
… and remove duplicate objects.decrypt
Write unencrypted document.encrypt=none|keep|rc4-40|rc4-128|aes-128|aes-256
Write encrypted document with specified algorithm.permissions=NUMBER
Document permissions to grant when encrypting.user-password=PASSWORD
Password required to read document.owner-password=PASSWORD
Password required to edit document.regenerate-id
Regenerate document id (default yes).
page.txt
Page content stream with annotations for creating resources.
[page2.txt ...]
Define multiple page content streams as required.
Page content streams¶
A page is created for each input file, with the contents of the file copied into the content stream. Special comments in the input files are parsed to define the page dimensions and font and image resources.
Example #1
Define an image:
%%MediaBox 0 0 500 800
%%Rotate 90
%%Image Im0 path/to/image.png
Example #2
Font resources can be created by either giving the name of a standard PDF font, or by giving the path to a font file. If a third argument is present and either “Greek” or “Cyrillic” the font will be encoded using ISO 8859-7 or KOI8-U, respectively:
%%Font Tm Times-Roman
%%Font TmG Times-Roman Greek
%%Font TmC Times-Roman Cyrillic
%%Font Fn0 path/to/font/file.ttf
%%Font Fn1 path/to/font/file.ttf Cyrillic
Example #3
CJK fonts can be created by passing a language tag for one of the 4 CID orderings: zh-Hant, zh-Hans, ja, or ko (Traditional Chinese, Simplified Chinese, Japanese, Korean). The CJK font will use the UTF-16 encoding. A font file will not be embedded, so a PDF viewer will use a substitute font:
%%CJKFont Batang ko
%%CJKFont Mincho ja
%%CJKFont Ming zh-Hant
%%CJKFont Song zh-Hans
Example #4
An example input file, which adds an image, a triangle and some text:
%%MediaBox 0 0 595 842
%%Font TmRm Times-Roman
%%Font Helv-C Helvetica Cyrillic
%%Font Helv-G Helvetica Greek
%%CJKFont Song zh-Hant
%%CJKFont Mincho ja
%%CJKFont Batang ko
%%Image I0 docs/examples/huntingofthesnark.png
% Draw an image.
q
480 0 0 480 50 250 cm
/I0 Do
Q
% Draw a triangle.
q
1 0 0 rg
50 50 m
100 200 l
200 50 l
f
Q
% Show some text.
q
0 0 1 rg
BT /TmRm 24 Tf 50 760 Td (Hello, world!) Tj ET
BT /Helv-C 24 Tf 50 730 Td <fac4d2c1d7d3d4d7d5cad4c521> Tj ET
BT /Helv-G 24 Tf 50 700 Td <eae1ebe7ecddf1e1> Tj ET
BT /Song 24 Tf 50 670 Td <4F60 597D> Tj ET
BT /Mincho 24 Tf 50 640 Td <3053 3093 306b 3061 306f> Tj ET
BT /Batang 24 Tf 50 610 Td <c548 b155 d558 c138 c694> Tj ET
Q