]> mj.ucw.cz Git - paperjam.git/blob - TODO
Minor fixes and TODOs for nup
[paperjam.git] / TODO
1 - Integrate pdf-tools.cc with the rest of the code
2 - What if an input page specifies /Rotate?
3 - Better error messages from instantiation
4 - page->index: use or remove
5 - rename page->bbox to page->image_box?
6 - "-f" switch
7 - nup(crop): take max of all bboxes first?
8 - nup: apply pos to placement of images in tiles
9
10 | # Position bbox on a new paper
11 | paper("a4")
12 | paper(w=210mm,h=297mm,pos=(t|b|c)(l|r|c))
13
14 | # Scale paper to a new size
15 | scaleto("a4")
16 | scaleto(w=210mm,h=297mm,pos=tl)
17
18 | # Fit image to a paper
19 | # If paper is given: scale image
20 | # If no paper is given: adjust paper to image + margins
21 | fit("a4")
22 | fit(w=, h=)
23 | margin= hmargin= vmargin=
24 | lmargin= rmargin= tmargin= bmargin=
25 | pos=
26
27 | # Adjust paper size
28 | expand(10mm)
29 | expand(h=10mm, v=20mm)
30 | expand(l=10mm, r=10mm, t=10mm, b=10mm)
31
32 | # Adjust image size (in terms of margins around)
33 | margins ... params like expand
34
35 cropmarks
36         mark=box        # Box around image
37         mark=cross      # Crosses in the corners
38         mark=out        # Out-pointing half-crosses in the corners (default)
39         mark=in         # In-pointing half-crosses
40         pen=1pt         # Line width
41         len=5mm         # Cross arm length
42         dist=5mm        # Distance from border
43
44 | book
45 |       signature=<n>
46
47 # Crop to image box
48 crop
49         bleed=5mm       # Allow bleeding over the image box
50
51 # Can be written as: mix(cat) { modulo(2){1}, modulo(2){2} }
52 duplex
53         long-edge
54
55 | merge
56
57 | modulo
58 |       half
59
60 | # Add an empty page after the current one
61 | add-blank
62 |       n=
63 |       paper...
64
65 # Set either:
66 #       - paper size + margins
67 #       - scale + margins
68 nup(hnum, vnum)
69         by=rows/cols    # Filling order (default: rows)
70         by=tile         # Tile with copies of a single page
71         paper / w / h   # Specify paper size, default=copy from 1st image
72         + fit options (*margin, pos)
73         crop            # Crop to image
74         rotate=1        # Override rotation decision
75         scale=1         # Override scaling factor
76         hspace / vspace / space # Distance between tiles
77         + cropmarks?
78
79 # Send pages to multiple pipes and merge their results
80 mix { ..., ..., ...}
81         cat             # Concatenate results (default is interleave)
82         cycle           # When one pipe ends earlier, cycle it from start
83         pad             # When one pipe ends earlier, add blank pages