crop
Crop pages to a rectangle
Usage
pdftl
<input>crop<specs>...[preview]output<file>[<option...>]
Details
Crops pages to a rectangle defined by offsets from the edges or in various other ways.
One format is page-range(left[,top[,right[,bottom]]]). Here, left,
top etc. are offsets from the current page boundaries; positive numbers
move inwards towards the center of the page. If you omit some of
these, the rest are filled in in the obvious way. Units can be pt
(points), in (inches), mm, cm or % (a percentage). If omitted,
the default unit is pt.
For example, 1-end(10pt,20pt,10pt,20pt) removes a
margin of 10 points from the left and right, and
20 points from the top and bottom.
Alternatively, specify 1-3(a4) to crop pages 1-3 to size a4.
Many paper size names are allowed, see data/paper_sizes.py.
For landscape add the suffix _l to the paper size, e.g., a4_l.
You can also crop to the visible content using fit:
1-end(fit)or simply ‘(fit)’ crops each page to its content.1-10(fit-group)crops pages 1-10 to the union of their content.1-10(fit-group=2-3)crops pages 1-10 to the union of the contents of pages 2-3.
Or use abs to specify an exact bounding box x0,y0,x1,y1 where
x0,y0 are the coordinates of the bottom left corner and x1,y1 the
coordinates of the upper right corner:
1-10(abs,100,150,400,500)crops pages 1-10 to the absolutely positioned box with corners at (100pt,150pt) and (400pt,500pt)
You can also include a comma-separated list of up to 4 dimensions to
expand the crop rectangle: (fit,1cm) or (fit-group, 10,0,20,50).
When using abs you can also give units or percentages, or just
numbers to default to pt. This uses the PDF page coordinate system,
so x-values increase to the right and y-values increase
upwards. Often, but not always, the origin (0,0) is at the bottom left
corner of the page (this depends on the page MediaBox, as shown by
dump_data, for example.)
If the preview keyword is given, a rectangle will be drawn instead
of cropping.
Examples
Remove a 1cm margin from the sides and 2cm from the top and bottom of all pages:
pdftl in.pdf crop '1-end(1cm,2cm)' output out.pdf
Crop every page to its visible content plus 10pt padding.
pdftl in.pdf crop '1-end(fit,10pt)' output clean.pdf
Preview effect of cropping the even-numbered pages between pages 2 and 8 to A5
pdftl in.pdf crop '2-8even(a5)' preview output out.pdf
Tags: in_place, geometry
Source: pdftl.operations.rebox
Read online: https://pdftl.readthedocs.io/en/stable/operations/crop.html
Type: Operation