Commit 0df672049bb726385bca36aa9ccf35565c8f0201
1 parent
1ecdbc1e
Remove completed work from TODO-pages
Showing
1 changed file
with
3 additions
and
19 deletions
TODO-pages.md
| @@ -194,10 +194,9 @@ Other notes: | @@ -194,10 +194,9 @@ Other notes: | ||
| 194 | ## Flexible Assembly | 194 | ## Flexible Assembly |
| 195 | 195 | ||
| 196 | This section discusses modifications to the command-line syntax to make it easier to add flexibility | 196 | This section discusses modifications to the command-line syntax to make it easier to add flexibility |
| 197 | -going forward without breaking backward compatibility. The main thrust will be to create | ||
| 198 | -non-positional alternatives to some things that currently use positional arguments (`--pages`, | ||
| 199 | -`--overlay`, `--underlay`), as was done for `--encrypt` in 11.7.0, to make it possible to add | ||
| 200 | -additional flags. | 197 | +going forward without breaking backward compatibility. In qpdf 11.9.0, we added non-positional |
| 198 | +options to `--pages`, `--overlay`, `--underlay` and modifid configuration to make it easier to add | ||
| 199 | +new options. | ||
| 201 | 200 | ||
| 202 | In several cases, we allow specification of transformations or placements. In this context: | 201 | In several cases, we allow specification of transformations or placements. In this context: |
| 203 | * The origin is always lower-left corner. | 202 | * The origin is always lower-left corner. |
| @@ -222,21 +221,6 @@ In several cases, we allow specification of transformations or placements. In th | @@ -222,21 +221,6 @@ In several cases, we allow specification of transformations or placements. In th | ||
| 222 | * A rectangle may also be just one of `M|C|B|T|A` to refer to a page's media, crop, bleed, trim, | 221 | * A rectangle may also be just one of `M|C|B|T|A` to refer to a page's media, crop, bleed, trim, |
| 223 | or art box. | 222 | or art box. |
| 224 | 223 | ||
| 225 | -Tweak `--pages` similarly to `--encrypt`. As an alternative to `--pages file [--password=p] range | ||
| 226 | ---`, support `--pages --file=x --password=y --range=z --`. This allows for a more flexible syntax. | ||
| 227 | -If `--file` appears, positional arguments are disallowed. The same applies to `--overlay` and | ||
| 228 | -`--underlay`. | ||
| 229 | - | ||
| 230 | -``` | ||
| 231 | -OLD: qpdf 2.pdf --pages 1.pdf --password=x . 3.pdf 1-z -- out.pdf | ||
| 232 | -NEW: qpdf 2.pdf --pages --file=1.pdf --password=x --file=. --file 3.pdf --range=1-z -- out.pdf | ||
| 233 | -``` | ||
| 234 | - | ||
| 235 | -This makes it possible to add additional flags to do things like control how document-level features | ||
| 236 | -are handled, specify placement options, etc. Given the above framework, it would be possible to add | ||
| 237 | -additional features incrementally, without breaking compatibility, such as selecting or splitting | ||
| 238 | -pages based on tags, article threads, or outlines. | ||
| 239 | - | ||
| 240 | It's tempting to allow assemblies to be nested, but this gets very complicated. From the C++ API, | 224 | It's tempting to allow assemblies to be nested, but this gets very complicated. From the C++ API, |
| 241 | there is no problem using the output of one `QPDFAssembler` as the input to another, but supporting | 225 | there is no problem using the output of one `QPDFAssembler` as the input to another, but supporting |
| 242 | this from the CLI is hard because of the way JSON/arg parsing is set up. If people need to do that, | 226 | this from the CLI is hard because of the way JSON/arg parsing is set up. If people need to do that, |