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