more documentation for v2.7

This commit is contained in:
John Whitington 2024-01-25 17:51:48 +00:00
parent 2232d6ea4e
commit 5ef5fee0a4
3 changed files with 15 additions and 4 deletions

View File

@ -2018,7 +2018,7 @@ and specs =
" -shift \"dx dy\" shifts the chosen pages"); " -shift \"dx dy\" shifts the chosen pages");
("-shift-boxes", ("-shift-boxes",
Arg.String setshiftboxes, Arg.String setshiftboxes,
" -shift \"dx dy\" shifts the chosen pages"); " -shift-boxes \"dx dy\" shifts boxes on the chosen pages");
("-rotate", ("-rotate",
Arg.Int setrotate, Arg.Int setrotate,
" Set rotation of pages to 0, 90, 180, 270"); " Set rotation of pages to 0, 90, 180, 270");
@ -4031,7 +4031,6 @@ let go () =
let range = parse_pagespec_allow_empty pdf (get_pagespec ()) in let range = parse_pagespec_allow_empty pdf (get_pagespec ()) in
let dxdylist = Cpdfcoord.parse_coordinates pdf args.coord in let dxdylist = Cpdfcoord.parse_coordinates pdf args.coord in
let dx, dy = match dxdylist with (a, b)::_ -> a, b | _ -> 0.0, 0.0 in let dx, dy = match dxdylist with (a, b)::_ -> a, b | _ -> 0.0, 0.0 in
Printf.printf "dx = %f, dy = %f\n" dx dy;
let f (xmin, xmax, ymin, ymax) = (xmin +. dx, xmax +. dx, ymin +. dy, ymax +. dy) in let f (xmin, xmax, ymin, ymax) = (xmin +. dx, xmax +. dx, ymin +. dy, ymax +. dy) in
let fpage _ p = Cpdfpage.change_boxes f pdf p in let fpage _ p = Cpdfpage.change_boxes f pdf p in
write_pdf false (Cpdfpage.process_pages (Pdfpage.ppstub fpage) pdf range) write_pdf false (Cpdfpage.process_pages (Pdfpage.ppstub fpage) pdf range)

Binary file not shown.

View File

@ -1339,6 +1339,9 @@ The encryption parameters described in Chapter \ref{encryption} may be added to
\vspace{1.5mm} \vspace{1.5mm}
\small\noindent\verb!cpdf -shift "<shift x> <shift y>" [-fast] in.pdf [<range>] -o out.pdf! \small\noindent\verb!cpdf -shift "<shift x> <shift y>" [-fast] in.pdf [<range>] -o out.pdf!
\vspace{1.5mm}
\small\noindent\verb!cpdf -shift-boxes "<shift x> <shift y>" in.pdf [<range>] -o out.pdf!
\vspace{1.5mm} \vspace{1.5mm}
\small\noindent\verb!cpdf -rotate <angle> in.pdf [<range>] -o out.pdf! \small\noindent\verb!cpdf -rotate <angle> in.pdf [<range>] -o out.pdf!
@ -1479,9 +1482,18 @@ by X points horizontally and Y points vertically.
\vspace{2.5mm} \vspace{2.5mm}
\noindent Shift pages to the right by 50 points (for instance, to increase \noindent Shift pages to the right by 50 points (for instance, to increase
the binding margin). the binding margin).\end{framed}
\noindent The \texttt{-shift-boxes} operation has the same effect, but operates by moving the page boxes only, avoiding processing the page contents. It is therefore faster. Of course, the numbers must be inverted, since it is the boxes being moved not the page:
\begin{framed}
\small\noindent\verb!cpdf -shift-boxes "-50 0" in.pdf even -o out.pdf!
\vspace{2.5mm}
\noindent Shift pages to the right by 50 points (for instance, to increase
the binding margin).\end{framed}
\end{framed}
\section{Rotating Pages} \section{Rotating Pages}
\index{rotate!pages} \index{rotate!pages}