Fixed all Pdfpage.change_pages except for merge
This commit is contained in:
parent
0298f30ae5
commit
9c71623d35
17
cpdf.ml
17
cpdf.ml
|
@ -777,7 +777,7 @@ let attach_file ?memory keepversion topage pdf file =
|
||||||
{page with Pdfpage.rest = Pdf.add_dict_entry page.Pdfpage.rest "/Annots" annots'}
|
{page with Pdfpage.rest = Pdf.add_dict_entry page.Pdfpage.rest "/Annots" annots'}
|
||||||
in
|
in
|
||||||
let pages' = replace_number pagenumber page' pages in
|
let pages' = replace_number pagenumber page' pages in
|
||||||
let pdf = Pdfpage.change_pages false pdf pages' in
|
let pdf = Pdfpage.change_pages true pdf pages' in
|
||||||
{pdf with
|
{pdf with
|
||||||
Pdf.minor = if keepversion then pdf.Pdf.minor else max pdf.Pdf.minor 4}
|
Pdf.minor = if keepversion then pdf.Pdf.minor else max pdf.Pdf.minor 4}
|
||||||
|
|
||||||
|
@ -2841,11 +2841,11 @@ let list_annotations_more pdf =
|
||||||
let equalise_lengths a b =
|
let equalise_lengths a b =
|
||||||
let a' =
|
let a' =
|
||||||
if Pdfpage.endpage a < Pdfpage.endpage b then
|
if Pdfpage.endpage a < Pdfpage.endpage b then
|
||||||
Pdfpage.change_pages true a
|
Pdfpage.change_pages false a
|
||||||
(Pdfpage.pages_of_pagetree a @
|
(Pdfpage.pages_of_pagetree a @
|
||||||
many (Pdfpage.blankpage Pdfpaper.a4) (Pdfpage.endpage b - Pdfpage.endpage a))
|
many (Pdfpage.blankpage Pdfpaper.a4) (Pdfpage.endpage b - Pdfpage.endpage a))
|
||||||
else if Pdfpage.endpage a > Pdfpage.endpage b then
|
else if Pdfpage.endpage a > Pdfpage.endpage b then
|
||||||
Pdfpage.change_pages true a
|
Pdfpage.change_pages false a
|
||||||
(take (Pdfpage.pages_of_pagetree a) (Pdfpage.endpage b))
|
(take (Pdfpage.pages_of_pagetree a) (Pdfpage.endpage b))
|
||||||
else a
|
else a
|
||||||
in
|
in
|
||||||
|
@ -2923,8 +2923,8 @@ let copy_annotations range frompdf topdf =
|
||||||
let frompdf, topdf = equalise_lengths frompdf topdf in
|
let frompdf, topdf = equalise_lengths frompdf topdf in
|
||||||
match Pdf.renumber_pdfs [frompdf; topdf] with
|
match Pdf.renumber_pdfs [frompdf; topdf] with
|
||||||
| [frompdf; topdf] ->
|
| [frompdf; topdf] ->
|
||||||
let frompdf_pages = Pdfpage.pages_of_pagetree frompdf
|
let frompdf_pages = Pdfpage.pages_of_pagetree frompdf in
|
||||||
in let topdf_pages = Pdfpage.pages_of_pagetree topdf in
|
let topdf_pages = Pdfpage.pages_of_pagetree topdf in
|
||||||
let pdf = ref topdf
|
let pdf = ref topdf
|
||||||
and pages = ref []
|
and pages = ref []
|
||||||
and pnum = ref 1
|
and pnum = ref 1
|
||||||
|
@ -3077,12 +3077,15 @@ let twoup_pages_stack pdf = function
|
||||||
Pdfpage.rest = rest}
|
Pdfpage.rest = rest}
|
||||||
|
|
||||||
let f_twoup f_pages pdf =
|
let f_twoup f_pages pdf =
|
||||||
let pdf = upright (ilist 1 (Pdfpage.endpage pdf)) pdf in
|
let pagenums = ilist 1 (Pdfpage.endpage pdf) in
|
||||||
|
let pdf = upright pagenums pdf in
|
||||||
let pages = Pdfpage.pages_of_pagetree pdf in
|
let pages = Pdfpage.pages_of_pagetree pdf in
|
||||||
let pagesets = splitinto 2 pages in
|
let pagesets = splitinto 2 pages in
|
||||||
let renumbered = map (Pdfpage.renumber_pages pdf) pagesets in
|
let renumbered = map (Pdfpage.renumber_pages pdf) pagesets in
|
||||||
let pages' = map (f_pages pdf) renumbered in
|
let pages' = map (f_pages pdf) renumbered in
|
||||||
Pdfpage.change_pages true pdf pages'
|
let changes = List.map (fun x -> (x, (x + 1) / 2)) pagenums in
|
||||||
|
(*print_changes changes;*)
|
||||||
|
Pdfpage.change_pages ~changes true pdf pages'
|
||||||
|
|
||||||
let twoup pdf = f_twoup twoup_pages pdf
|
let twoup pdf = f_twoup twoup_pages pdf
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue