mirror of
https://github.com/qpdf/qpdf.git
synced 2024-11-02 11:46:35 +00:00
ea96330bb6
Flatten everything to make it easier to map command-line flags to json. The old structure was an illusion anyway because there was no mechanism to enforce that things were in the right place. This also helps with future flexibility.
404 lines
8.6 KiB
YAML
404 lines
8.6 KiB
YAML
# See "HOW TO ADD A COMMAND-LINE ARGUMENT" in README-maintainer.
|
|
choices:
|
|
yn:
|
|
- "y"
|
|
- "n"
|
|
password_mode:
|
|
- bytes
|
|
- hex-bytes
|
|
- unicode
|
|
- auto
|
|
stream_data:
|
|
- compress
|
|
- preserve
|
|
- uncompress
|
|
decode_level:
|
|
- none
|
|
- generalized
|
|
- specialized
|
|
- all
|
|
object_streams:
|
|
- disable
|
|
- preserve
|
|
- generate
|
|
remove_unref:
|
|
- auto
|
|
- "yes"
|
|
- "no"
|
|
flatten:
|
|
- all
|
|
- print
|
|
- screen
|
|
json_version:
|
|
- 1
|
|
- latest
|
|
json_key:
|
|
# The list of selectable top-level keys id duplicated in the
|
|
# following places: job.yml, QPDFJob::json_schema, and
|
|
# QPDFJob::doJSON.
|
|
- acroform
|
|
- attachments
|
|
- encrypt
|
|
- objectinfo
|
|
- objects
|
|
- outlines
|
|
- pagelabels
|
|
- pages
|
|
print128:
|
|
- full
|
|
- low
|
|
- none
|
|
modify128:
|
|
- all
|
|
- annotate
|
|
- form
|
|
- assembly
|
|
- none
|
|
options:
|
|
- table: help
|
|
bare:
|
|
- version
|
|
- copyright
|
|
- json-help
|
|
- show-crypto
|
|
- job-json-help
|
|
- table: main
|
|
config: c_main
|
|
manual:
|
|
- add-attachment
|
|
- copy-attachments-from
|
|
- encrypt
|
|
- overlay
|
|
- pages
|
|
- underlay
|
|
- empty
|
|
- replace-input
|
|
positional: true
|
|
bare:
|
|
- add-attachment
|
|
- allow-weak-crypto
|
|
- check
|
|
- check-linearization
|
|
- coalesce-contents
|
|
- copy-attachments-from
|
|
- decrypt
|
|
- deterministic-id
|
|
- empty
|
|
- encrypt
|
|
- externalize-inline-images
|
|
- filtered-stream-data
|
|
- flatten-rotation
|
|
- generate-appearances
|
|
- ignore-xref-streams
|
|
- is-encrypted
|
|
- keep-inline-images
|
|
- linearize
|
|
- list-attachments
|
|
- newline-before-endstream
|
|
- no-original-object-ids
|
|
- no-warn
|
|
- optimize-images
|
|
- overlay
|
|
- pages
|
|
- password-is-hex-key
|
|
- preserve-unreferenced
|
|
- preserve-unreferenced-resources
|
|
- progress
|
|
- qdf
|
|
- raw-stream-data
|
|
- recompress-flate
|
|
- remove-page-labels
|
|
- replace-input
|
|
- requires-password
|
|
- show-encryption
|
|
- show-encryption-key
|
|
- show-linearization
|
|
- show-npages
|
|
- show-pages
|
|
- show-xref
|
|
- static-aes-iv
|
|
- static-id
|
|
- suppress-password-recovery
|
|
- suppress-recovery
|
|
- underlay
|
|
- verbose
|
|
- warning-exit-0
|
|
- with-images
|
|
optional_parameter:
|
|
- collate
|
|
- split-pages
|
|
required_parameter:
|
|
compression-level: level
|
|
copy-encryption: file
|
|
encryption-file-password: password
|
|
force-version: version
|
|
ii-min-bytes: minimum
|
|
job-json-file: file
|
|
json-object: trailer
|
|
keep-files-open-threshold: count
|
|
linearize-pass1: filename
|
|
min-version: version
|
|
oi-min-area: minimum
|
|
oi-min-height: minimum
|
|
oi-min-width: minimum
|
|
password: password
|
|
password-file: password
|
|
remove-attachment: attachment
|
|
rotate: "[+|-]angle"
|
|
show-attachment: attachment
|
|
show-object: trailer
|
|
required_choices:
|
|
compress-streams: yn
|
|
decode-level: decode_level
|
|
flatten-annotations: flatten
|
|
json-key: json_key
|
|
keep-files-open: yn
|
|
normalize-content: yn
|
|
object-streams: object_streams
|
|
password-mode: password_mode
|
|
remove-unreferenced-resources: remove_unref
|
|
stream-data: stream_data
|
|
optional_choices:
|
|
json: json_version
|
|
- table: pages
|
|
config: c_pages
|
|
prefix: Pages
|
|
positional: true
|
|
manual:
|
|
- password
|
|
required_parameter:
|
|
password: password
|
|
- table: encryption
|
|
prefix: Enc
|
|
positional: true
|
|
- table: 40-bit encryption
|
|
config: c_enc
|
|
config_prefix: Enc
|
|
prefix: Enc40
|
|
required_choices:
|
|
extract: yn
|
|
annotate: yn
|
|
print: yn
|
|
modify: yn
|
|
- table: 128-bit encryption
|
|
config: c_enc
|
|
config_prefix: Enc
|
|
prefix: Enc128
|
|
bare:
|
|
- cleartext-metadata
|
|
- force-V4
|
|
required_choices:
|
|
accessibility: yn
|
|
extract: yn
|
|
print: print128
|
|
assemble: yn
|
|
annotate: yn
|
|
form: yn
|
|
modify-other: yn
|
|
modify: modify128
|
|
use-aes: yn
|
|
- table: 256-bit encryption
|
|
config: c_enc
|
|
config_prefix: Enc
|
|
prefix: Enc256
|
|
bare:
|
|
- cleartext-metadata
|
|
- force-R5
|
|
- allow-insecure
|
|
required_choices:
|
|
accessibility: yn
|
|
extract: yn
|
|
print: print128
|
|
assemble: yn
|
|
annotate: yn
|
|
form: yn
|
|
modify-other: yn
|
|
modify: modify128
|
|
- table: underlay/overlay
|
|
config: c_uo
|
|
prefix: UO
|
|
positional: true
|
|
required_parameter:
|
|
to: page-range
|
|
from: page-range
|
|
repeat: page-range
|
|
password: password
|
|
- table: attachment
|
|
config: c_att
|
|
prefix: Att
|
|
positional: true
|
|
bare:
|
|
- replace
|
|
required_parameter:
|
|
key: attachment-key
|
|
filename: filename
|
|
creationdate: creation-date
|
|
moddate: modification-date
|
|
mimetype: mime/type
|
|
description: description
|
|
- table: copy attachment
|
|
config: c_copy_att
|
|
prefix: CopyAtt
|
|
positional: true
|
|
required_parameter:
|
|
prefix: prefix
|
|
password: password
|
|
json:
|
|
# The structure of this section defines what the json input to
|
|
# QPDFJob looks like. If a key starts with underscore, it does not
|
|
# map to a command-line argument. If the value is a string, that is
|
|
# the help information. Otherwise, if the value is null, it has to
|
|
# match a command-line option, and its properties and help come from
|
|
# other information known by generate_auto_job. This information is
|
|
# used to construct a "schema" (as in JSON.hh) for the json input to
|
|
# QPDFJob. The leading underscore is removed. *NOTE*: all keys are
|
|
# converted to camelCase for the schema and must be appear that way
|
|
# in the user-supplied json. This makes it more convenient to
|
|
# populate JSON objects in some languages.
|
|
|
|
# input
|
|
_inputFile: "input filename"
|
|
main.password:
|
|
password-file:
|
|
empty:
|
|
# output
|
|
_outputFile: "output filename"
|
|
replace-input:
|
|
# output options
|
|
qdf:
|
|
preserve-unreferenced:
|
|
newline-before-endstream:
|
|
normalize-content:
|
|
stream-data:
|
|
compress-streams:
|
|
recompress-flate:
|
|
decode-level:
|
|
decrypt:
|
|
deterministic-id:
|
|
static-aes-iv:
|
|
static-id:
|
|
no-original-object-ids:
|
|
copy-encryption:
|
|
encryption-file-password:
|
|
linearize:
|
|
linearize-pass1:
|
|
object-streams:
|
|
min-version:
|
|
force-version:
|
|
progress:
|
|
split-pages:
|
|
encrypt:
|
|
_user-password: "user password"
|
|
_owner-password: "owner password"
|
|
_40bit:
|
|
Enc40.annotate:
|
|
Enc40.extract:
|
|
Enc40.modify:
|
|
Enc40.print:
|
|
_128bit:
|
|
Enc128.accessibility:
|
|
Enc128.annotate:
|
|
Enc128.assemble:
|
|
Enc128.cleartext-metadata:
|
|
Enc128.extract:
|
|
Enc128.form:
|
|
Enc128.modify-other:
|
|
Enc128.modify:
|
|
Enc128.print:
|
|
force-V4:
|
|
use-aes:
|
|
_256bit:
|
|
Enc256.accessibility:
|
|
Enc256.annotate:
|
|
Enc256.assemble:
|
|
Enc256.cleartext-metadata:
|
|
Enc256.extract:
|
|
Enc256.form:
|
|
Enc256.modify-other:
|
|
Enc256.modify:
|
|
Enc256.print:
|
|
allow-insecure:
|
|
force-R5:
|
|
# inspect
|
|
check:
|
|
check-linearization:
|
|
filtered-stream-data:
|
|
raw-stream-data:
|
|
show-encryption:
|
|
show-encryption-key:
|
|
show-linearization:
|
|
show-npages:
|
|
show-object:
|
|
show-pages:
|
|
show-xref:
|
|
with-images:
|
|
list-attachments:
|
|
show-attachment:
|
|
json:
|
|
json-key:
|
|
- null
|
|
json-object:
|
|
- null
|
|
# other options
|
|
allow-weak-crypto:
|
|
keep-files-open:
|
|
keep-files-open-threshold:
|
|
no-warn:
|
|
verbose:
|
|
ignore-xref-streams:
|
|
password-is-hex-key:
|
|
password-mode:
|
|
suppress-password-recovery:
|
|
suppress-recovery:
|
|
coalesce-contents:
|
|
compression-level:
|
|
externalize-inline-images:
|
|
ii-min-bytes:
|
|
remove-unreferenced-resources:
|
|
add-attachment:
|
|
- _file: "attachment to add"
|
|
creationdate:
|
|
description:
|
|
filename:
|
|
key:
|
|
mimetype:
|
|
moddate:
|
|
replace:
|
|
remove-attachment:
|
|
copy-attachments-from:
|
|
- _file: "attachment source filename"
|
|
CopyAtt.password:
|
|
prefix:
|
|
collate:
|
|
flatten-annotations:
|
|
flatten-rotation:
|
|
generate-appearances:
|
|
keep-inline-images:
|
|
oi-min-area:
|
|
oi-min-height:
|
|
oi-min-width:
|
|
optimize-images:
|
|
pages:
|
|
- _file: "source for for pages"
|
|
Pages.password:
|
|
_range: "page range"
|
|
remove-page-labels:
|
|
rotate:
|
|
overlay:
|
|
_file: "source file for overlay"
|
|
UO.password:
|
|
from:
|
|
repeat:
|
|
to:
|
|
underlay:
|
|
_file: "source file for underlay"
|
|
UO.password:
|
|
from:
|
|
repeat:
|
|
to:
|
|
warning-exit-0:
|
|
job-json-file:
|
|
preserve-unreferenced-resources:
|
|
requires-password:
|
|
is-encrypted:
|