aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf/qpdf/auto_job_schema.hh
blob: df75a5e820dd2bf6bf51d357f4d70aef559c381f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
static constexpr char const* JOB_SCHEMA_DATA = R"({
  "inputFile": "input filename",
  "password": "password for encrypted file",
  "passwordFile": "read password from a file",
  "empty": "use empty file as input",
  "jsonInput": "input file is qpdf JSON",
  "outputFile": "output filename",
  "replaceInput": "overwrite input with output",
  "qdf": "enable viewing PDF code in a text editor",
  "preserveUnreferenced": "preserve unreferenced objects",
  "newlineBeforeEndstream": "force a newline before endstream",
  "normalizeContent": "fix newlines in content streams",
  "streamData": "control stream compression",
  "compressStreams": "compress uncompressed streams",
  "recompressFlate": "uncompress and recompress flate",
  "decodeLevel": "control which streams to uncompress",
  "decrypt": "remove encryption from input file",
  "deterministicId": "generate ID deterministically",
  "staticAesIv": "use a fixed AES vector",
  "staticId": "use a fixed document ID",
  "noOriginalObjectIds": "omit original object IDs in qdf",
  "copyEncryption": "copy another file's encryption details",
  "encryptionFilePassword": "supply password for copyEncryption",
  "linearize": "linearize (web-optimize) output",
  "linearizePass1": "save pass 1 of linearization",
  "objectStreams": "control use of object streams",
  "minVersion": "set minimum PDF version",
  "forceVersion": "set output PDF version",
  "progress": "show progress when writing",
  "splitPages": "write pages to separate files",
  "jsonOutput": "apply defaults for JSON serialization",
  "removeRestrictions": "remove security restrictions from input file",
  "encrypt": {
    "userPassword": "specify user password",
    "ownerPassword": "specify owner password",
    "Bits": null,
    "40bit": {
      "annotate": "restrict document annotation",
      "extract": "restrict text/graphic extraction",
      "modify": "restrict document modification",
      "print": "restrict printing"
    },
    "128bit": {
      "accessibility": "restrict document accessibility",
      "annotate": "restrict document annotation",
      "assemble": "restrict document assembly",
      "cleartextMetadata": "don't encrypt metadata",
      "extract": "restrict text/graphic extraction",
      "form": "restrict form filling",
      "modifyOther": "restrict other modifications",
      "modify": "restrict document modification",
      "print": "restrict printing",
      "forceV4": "force V=4 in encryption dictionary",
      "useAes": "use AES with 128-bit encryption"
    },
    "256bit": {
      "accessibility": "restrict document accessibility",
      "annotate": "restrict document annotation",
      "assemble": "restrict document assembly",
      "cleartextMetadata": "don't encrypt metadata",
      "extract": "restrict text/graphic extraction",
      "form": "restrict form filling",
      "modifyOther": "restrict other modifications",
      "modify": "restrict document modification",
      "print": "restrict printing",
      "allowInsecure": "allow empty owner passwords",
      "forceR5": "use unsupported R=5 encryption"
    }
  },
  "check": "partially check whether PDF is valid",
  "checkLinearization": "check linearization tables",
  "filteredStreamData": "show filtered stream data",
  "rawStreamData": "show raw stream data",
  "showEncryption": "information about encrypted files",
  "showEncryptionKey": "show key with showEncryption",
  "showLinearization": "show linearization hint tables",
  "showNpages": "show number of pages",
  "showObject": "show contents of an object",
  "showPages": "display page dictionary information",
  "showXref": "show cross reference data",
  "withImages": "include image details with showPages",
  "listAttachments": "list embedded files",
  "showAttachment": "export an embedded file",
  "json": "show file in JSON format",
  "jsonKey": [
    "limit which keys are in JSON output"
  ],
  "jsonObject": [
    "limit which objects are in JSON"
  ],
  "jsonStreamData": "how to handle streams in json output",
  "jsonStreamPrefix": "prefix for json stream data files",
  "updateFromJson": "update a PDF from qpdf JSON",
  "allowWeakCrypto": "allow insecure cryptographic algorithms",
  "keepFilesOpen": "manage keeping multiple files open",
  "keepFilesOpenThreshold": "set threshold for keepFilesOpen",
  "noWarn": "suppress printing of warning messages",
  "verbose": "print additional information",
  "testJsonSchema": "test generated json against schema",
  "ignoreXrefStreams": "use xref tables rather than streams",
  "passwordIsHexKey": "provide hex-encoded encryption key",
  "passwordMode": "tweak how qpdf encodes passwords",
  "suppressPasswordRecovery": "don't try different password encodings",
  "suppressRecovery": "suppress error recovery",
  "coalesceContents": "combine content streams",
  "compressionLevel": "set compression level for flate",
  "externalizeInlineImages": "convert inline to regular images",
  "iiMinBytes": "set minimum size for externalizeInlineImages",
  "removeUnreferencedResources": "remove unreferenced page resources",
  "addAttachment": [
    {
      "file": "file to attach",
      "creationdate": "set attachment's creation date",
      "description": "set attachment's description",
      "filename": "set attachment's displayed filename",
      "key": "specify attachment key",
      "mimetype": "attachment mime type, e.g. application/pdf",
      "moddate": "set attachment's modification date",
      "replace": "replace attachment with same key"
    }
  ],
  "removeAttachment": [
    "remove an embedded file"
  ],
  "copyAttachmentsFrom": [
    {
      "file": "file to copy attachments from",
      "password": "password for encrypted file",
      "prefix": "key prefix for copying attachments"
    }
  ],
  "collate": "collate with pages",
  "flattenAnnotations": "push annotations into content",
  "flattenRotation": "remove rotation from page dictionary",
  "generateAppearances": "generate appearances for form fields",
  "keepInlineImages": "exclude inline images from optimization",
  "oiMinArea": "minimum area for optimizeImages",
  "oiMinHeight": "minimum height for optimizeImages",
  "oiMinWidth": "minimum width for optimizeImages",
  "optimizeImages": "use efficient compression for images",
  "pages": [
    {
      "file": "source for pages",
      "password": "password for encrypted file",
      "range": "page range"
    }
  ],
  "removePageLabels": "remove explicit page numbers",
  "reportMemoryUsage": "best effort report of memory usage",
  "rotate": "rotate pages",
  "setPageLabels": [
    "number pages for the entire document"
  ],
  "overlay": [
    {
      "file": "source for pages",
      "password": "password for encrypted file",
      "from": "source pages for underlay/overlay",
      "repeat": "overlay/underlay pages to repeat",
      "to": "destination pages for underlay/overlay"
    }
  ],
  "underlay": [
    {
      "file": "source for pages",
      "password": "password for encrypted file",
      "from": "source pages for underlay/overlay",
      "repeat": "overlay/underlay pages to repeat",
      "to": "destination pages for underlay/overlay"
    }
  ],
  "warningExit0": "exit 0 even with warnings",
  "jobJsonFile": "job JSON file",
  "preserveUnreferencedResources": "use removeUnreferencedResources=no",
  "requiresPassword": "silently test a file's password",
  "isEncrypted": "silently test whether a file is encrypted"
})";