mirror of
https://github.com/johnwhitington/cpdf-source.git
synced 2025-06-05 22:09:39 +02:00
-center-to-fit done
This commit is contained in:
@@ -1219,7 +1219,7 @@ let setstretch s =
|
|||||||
setop Stretch ();
|
setop Stretch ();
|
||||||
args.coord <- s
|
args.coord <- s
|
||||||
|
|
||||||
let setcenter s =
|
let setcentertofit s =
|
||||||
setop CenterToFit ();
|
setop CenterToFit ();
|
||||||
args.coord <- s
|
args.coord <- s
|
||||||
|
|
||||||
@@ -2102,7 +2102,7 @@ let specs =
|
|||||||
Arg.String setstretch,
|
Arg.String setstretch,
|
||||||
" -stretch \"x y\" scales without preserving aspect ratio");
|
" -stretch \"x y\" scales without preserving aspect ratio");
|
||||||
("-center-to-fit",
|
("-center-to-fit",
|
||||||
Arg.String setcenter,
|
Arg.String setcentertofit,
|
||||||
" -center-to-fit \"x y\" centers pages on page size (x, y)");
|
" -center-to-fit \"x y\" centers pages on page size (x, y)");
|
||||||
("-scale-contents",
|
("-scale-contents",
|
||||||
Arg.Float setscalecontents,
|
Arg.Float setscalecontents,
|
||||||
|
17
cpdfpage.ml
17
cpdfpage.ml
@@ -573,12 +573,6 @@ let crop_pdf ?(box="/CropBox") xywhlist pdf range =
|
|||||||
|
|
||||||
(* Centre page content (crop box) on given page size, with no scaling. *)
|
(* Centre page content (crop box) on given page size, with no scaling. *)
|
||||||
let center_to_fit sxsylist pdf range =
|
let center_to_fit sxsylist pdf range =
|
||||||
let list4 = map (fun (x, y) -> (0., 0., x, y)) sxsylist in
|
|
||||||
let pdf = set_mediabox list4 pdf range in
|
|
||||||
let pdf = crop_pdf list4 pdf range in
|
|
||||||
let pdf = remove_bleed_pdf pdf range in
|
|
||||||
let pdf = remove_art_pdf pdf range in
|
|
||||||
let pdf = remove_bleed_pdf pdf range in
|
|
||||||
let dxdylist =
|
let dxdylist =
|
||||||
let tx, ty = hd sxsylist in
|
let tx, ty = hd sxsylist in
|
||||||
map
|
map
|
||||||
@@ -590,10 +584,17 @@ let center_to_fit sxsylist pdf range =
|
|||||||
| Some r -> r
|
| Some r -> r
|
||||||
| None -> page.Pdfpage.mediabox)
|
| None -> page.Pdfpage.mediabox)
|
||||||
in
|
in
|
||||||
(tx -. (maxx -. minx)) /. 2., (ty -. (maxy -. miny)) /. 2.)
|
(~-.((tx -. (maxx -. minx)) /. 2.),
|
||||||
|
~-.((ty -. (maxy -. miny)) /. 2.)))
|
||||||
(Pdfpage.pages_of_pagetree pdf)
|
(Pdfpage.pages_of_pagetree pdf)
|
||||||
in
|
in
|
||||||
shift_boxes dxdylist pdf range
|
let list4 = map (fun (x, y) -> (0., 0., x, y)) sxsylist in
|
||||||
|
let pdf = set_mediabox list4 pdf range in
|
||||||
|
let pdf = crop_pdf list4 pdf range in
|
||||||
|
let pdf = remove_bleed_pdf pdf range in
|
||||||
|
let pdf = remove_art_pdf pdf range in
|
||||||
|
let pdf = remove_bleed_pdf pdf range in
|
||||||
|
shift_boxes dxdylist pdf range
|
||||||
|
|
||||||
(* Scale to fit page of size x * y *)
|
(* Scale to fit page of size x * y *)
|
||||||
let scale_to_fit_pdf ?(fast=false) position input_scale xylist op pdf range =
|
let scale_to_fit_pdf ?(fast=false) position input_scale xylist op pdf range =
|
||||||
|
Reference in New Issue
Block a user