Commit 1921e44ca7ba50b48b1baa78d147b52fe1aae19a
1 parent
395bc7f8
Update TODO-pages with comments from #1104
Showing
1 changed file
with
19 additions
and
1 deletions
TODO-pages.md
| ... | ... | @@ -146,7 +146,9 @@ Broadly, the above has to be modified in the following ways: |
| 146 | 146 | * The entire create QPDF logic will move into `QPDFAssembler`. |
| 147 | 147 | * `QPDFAssembler`'s API will allow using an arbitrary QPDF as an input rather than having to start |
| 148 | 148 | with a file. That makes it possible to do arbitrary work on the PDF prior to passing it to |
| 149 | - `QPDFAssembler`. | |
| 149 | + `QPDFAssembler`. The API contract will state that, if an existing `QPDF` is used as the primary | |
| 150 | + input, the same `QPDF` will be returned. Effectively, `QPDFAssembler` will modify the `QPDF` in | |
| 151 | + place. | |
| 150 | 152 | * `QPDFAssembler` and `QPDFSplitter` may need a C API, or perhaps C users will have to work through |
| 151 | 153 | `QPDFJob`, which will expose nearly all of the functionality. |
| 152 | 154 | |
| ... | ... | @@ -184,6 +186,11 @@ to manage sequencing and destination tracking as well as to provide a future-pro |
| 184 | 186 | allow developers to automatically benefit from additional document-level support as it is added to |
| 185 | 187 | qpdf. |
| 186 | 188 | |
| 189 | +Other notes: | |
| 190 | +* Per jbarlow, raw pointers are hard to work with in pybind11. Use references or shared pointers | |
| 191 | + instead for fluent interfaces. | |
| 192 | + | |
| 193 | + | |
| 187 | 194 | ## Flexible Assembly |
| 188 | 195 | |
| 189 | 196 | This section discusses modifications to the command-line syntax to make it easier to add flexibility |
| ... | ... | @@ -407,6 +414,7 @@ Document-level structures to merge: |
| 407 | 414 | * AcroForm |
| 408 | 415 | * StructTreeRoot |
| 409 | 416 | * Page: StructParents |
| 417 | + * See jbarlow's comments in #1104 for additional notes | |
| 410 | 418 | * MarkInfo (see 14.7 - Logical Structure, 14.8 Tagged PDF) |
| 411 | 419 | * SpiderInfo |
| 412 | 420 | * Page: ID |
| ... | ... | @@ -557,3 +565,13 @@ gh search issues label:pages --repo qpdf/qpdf --limit 200 --state=open |
| 557 | 565 | * There is some helpful discussion in #343 including |
| 558 | 566 | * Preserving open/closed status |
| 559 | 567 | * Preserving javascript actions |
| 568 | + | |
| 569 | +# Other use cases | |
| 570 | + | |
| 571 | +* Other ways to specify pages besides numeric range | |
| 572 | + * all pages reachable from a section of the outline hierarchy | |
| 573 | + * something based on threads or document structure | |
| 574 | + * selection based on page labels | |
| 575 | +* Placement for composition, overlay, underlay | |
| 576 | + * Scale the smaller page up to the size of the larger page | |
| 577 | + * Center the smaller page horizontally and bottom-align the trim boxes | ... | ... |