diff --git a/cpdfcommand.ml b/cpdfcommand.ml index bc3ab02..67b009e 100644 --- a/cpdfcommand.ml +++ b/cpdfcommand.ml @@ -4544,7 +4544,7 @@ let go () = let range = parse_pagespec_allow_empty pdf (get_pagespec ()) in let pdf = Cpdfpage.stamp - args.relative_to_cropbox args.position args.topline args.midline args.fast + ~process_struct_tree:args.process_struct_trees args.relative_to_cropbox args.position args.topline args.midline args.fast args.scale_stamp_to_fit true range overpdf pdf in write_pdf false pdf @@ -4558,7 +4558,7 @@ let go () = let range = parse_pagespec_allow_empty pdf (get_pagespec ()) in let pdf = Cpdfpage.stamp - args.relative_to_cropbox args.position args.topline args.midline args.fast + ~process_struct_tree:args.process_struct_trees args.relative_to_cropbox args.position args.topline args.midline args.fast args.scale_stamp_to_fit false range underpdf pdf in write_pdf false pdf @@ -4569,6 +4569,7 @@ let go () = warn_prerotate (parse_pagespec overpdf "all") overpdf; write_pdf false (Cpdfpage.combine_pages + ~process_struct_tree:args.process_struct_trees args.fast (prerotate (parse_pagespec underpdf "all") underpdf) (prerotate (parse_pagespec overpdf "all") overpdf) diff --git a/cpdfpage.ml b/cpdfpage.ml index f957832..c29a763 100644 --- a/cpdfpage.ml +++ b/cpdfpage.ml @@ -803,7 +803,7 @@ let do_stamp relative_to_cropbox fast position topline midline scale_to_fit isov Pdfpage.resources = Pdfpage.combine_pdf_resources pdf u.Pdfpage.resources o.Pdfpage.resources} -let stamp relative_to_cropbox position topline midline fast scale_to_fit isover range over pdf = +let stamp ~process_struct_tree relative_to_cropbox position topline midline fast scale_to_fit isover range over pdf = let prefix = Pdfpage.shortest_unused_prefix pdf in Pdfpage.add_prefix over prefix; let marks = Pdfmarks.read_bookmarks pdf in @@ -875,7 +875,7 @@ let equalize_pages under over = else under, over -let combine_pages fast under over scaletofit swap equalize = +let combine_pages ~process_struct_tree fast under over scaletofit swap equalize = let debug_combine_pages = false in let debug_pdf pdf n = if debug_combine_pages then diff --git a/cpdfpage.mli b/cpdfpage.mli index 17ac14d..d097e17 100644 --- a/cpdfpage.mli +++ b/cpdfpage.mli @@ -91,12 +91,12 @@ the same number of pages as the shorter file. If [scaletofit] is true, the [over] file will be scaled to fit. If [swap] is true, [over] and [under] are swapped. If [fast] is true, the PDFs are assumed to be well-formed and no fixes are done. *) -val combine_pages : bool -> Pdf.t -> Pdf.t -> bool -> bool -> bool -> Pdf.t +val combine_pages : process_struct_tree:bool -> bool -> Pdf.t -> Pdf.t -> bool -> bool -> bool -> Pdf.t (** [stamp relative_to_cropbox position topline midline fast scale_to_fit isover range over pdf] stamps the first page of [over] over each page of the PDF. The arguments have the same meaning as in [combine_pages]. *) -val stamp : bool -> Cpdfposition.position -> bool -> bool -> bool -> bool -> bool -> int list -> Pdf.t -> Pdf.t -> Pdf.t +val stamp : process_struct_tree:bool -> bool -> Cpdfposition.position -> bool -> bool -> bool -> bool -> bool -> int list -> Pdf.t -> Pdf.t -> Pdf.t (** {2 Page geometry} *)