2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-12-22 19:08:59 +00:00
qpdf/job.yml

404 lines
8.8 KiB
YAML
Raw Normal View History

# See "HOW TO ADD A COMMAND-LINE ARGUMENT" in README-maintainer.
2022-01-06 16:33:52 +00:00
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_key:
# The list of selectable top-level keys id duplicated in the
# following places: job.yml, QPDFJob::json_schema, and
# QPDFJob::doJSON.
2022-01-06 16:33:52 +00:00
- 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
2022-01-06 16:33:52 +00:00
- table: main
config: c_main
2022-01-26 00:01:10 +00:00
manual:
- add-attachment
- copy-attachments-from
- encrypt
- overlay
- pages
- underlay
- empty
- replace-input
2022-01-06 16:33:52 +00:00
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
- json
- 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
2022-01-06 16:33:52 +00:00
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
- table: pages
2022-01-26 00:01:10 +00:00
config: c_pages
prefix: Pages
2022-01-06 16:33:52 +00:00
positional: true
2022-01-26 00:01:10 +00:00
manual:
- password
2022-01-06 16:33:52 +00:00
required_parameter:
password: password
2022-01-06 16:33:52 +00:00
- table: encryption
prefix: Enc
2022-01-06 16:33:52 +00:00
positional: true
- table: 40-bit encryption
2022-01-26 18:17:57 +00:00
config: c_enc
config_prefix: Enc
prefix: Enc40
2022-01-06 16:33:52 +00:00
required_choices:
extract: yn
annotate: yn
print: yn
modify: yn
- table: 128-bit encryption
2022-01-26 18:17:57 +00:00
config: c_enc
config_prefix: Enc
prefix: Enc128
2022-01-06 16:33:52 +00:00
bare:
- cleartext-metadata
- force-V4
required_choices:
accessibility: yn
extract: yn
print: print128
2022-01-06 16:33:52 +00:00
assemble: yn
annotate: yn
form: yn
modify-other: yn
modify: modify128
2022-01-06 16:33:52 +00:00
use-aes: yn
- table: 256-bit encryption
2022-01-26 18:17:57 +00:00
config: c_enc
config_prefix: Enc
prefix: Enc256
2022-01-06 16:33:52 +00:00
bare:
2022-01-26 18:17:57 +00:00
- cleartext-metadata
2022-01-06 16:33:52 +00:00
- force-R5
- allow-insecure
2022-01-26 18:17:57 +00:00
required_choices:
accessibility: yn
extract: yn
print: print128
assemble: yn
annotate: yn
form: yn
modify-other: yn
modify: modify128
2022-01-06 16:33:52 +00:00
- table: underlay/overlay
config: c_uo
prefix: UO
2022-01-06 16:33:52 +00:00
positional: true
required_parameter:
to: page-range
from: page-range
repeat: page-range
password: password
- table: attachment
config: c_att
prefix: Att
2022-01-06 16:33:52 +00:00
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
2022-01-06 16:33:52 +00:00
positional: true
required_parameter:
prefix: prefix
password: password
no-json:
- preserve-unreferenced-resources
- job-json-file
- empty
- replace-input
json:
# The structure of this section defines what the json input to
# QPDFJob looks like. If a key starts with underscore or has a value
# that is a string, it does not map to a command-line argument. If
# value is null, 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.
_input:
# QXXXQ need to figure out how to specify input and output
_file:
_name: "input filename"
main.password:
password-file:
_empty: "qxxxq empty"
_output:
_file:
_name: "output filename"
_replace-input: "qxxxq replace input"
_options:
qdf:
preserve-unreferenced:
newline-before-endstream:
normalize-content:
stream-data:
compress-streams:
recompress-flate:
decode-level:
decrypt:
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:
2022-01-26 18:17:57 +00:00
key-length: "key length: 48, 128, 256"
user-password: "user password"
owner-password: "owner password"
_40-bit:
Enc40.annotate:
Enc40.extract:
Enc40.modify:
Enc40.print:
_128-bit:
Enc128.accessibility:
Enc128.annotate:
Enc128.assemble:
Enc128.cleartext-metadata:
Enc128.extract:
Enc128.form:
Enc128.modify-other:
Enc128.modify:
Enc128.print:
force-V4:
use-aes:
_256-bit:
Enc256.accessibility:
Enc256.annotate:
Enc256.assemble:
Enc256.cleartext-metadata:
Enc256.extract:
Enc256.form:
Enc256.modify-other:
Enc256.modify:
Enc256.print:
allow-insecure:
force-R5:
_options:
allow-weak-crypto:
deterministic-id:
keep-files-open:
keep-files-open-threshold:
no-warn:
verbose:
warning-exit-0:
ignore-xref-streams:
password-is-hex-key:
password-mode:
suppress-password-recovery:
suppress-recovery:
_inspect:
check:
check-linearization:
filtered-stream-data:
is-encrypted:
raw-stream-data:
requires-password:
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
_transform:
coalesce-contents:
compression-level:
externalize-inline-images:
ii-min-bytes:
remove-unreferenced-resources:
_modify:
add-attachment:
- path: "attachment to add"
creationdate:
description:
filename:
key:
mimetype:
moddate:
replace:
remove-attachment:
copy-attachments-from:
- path: "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: