Allow artifacting in combine

This commit is contained in:
John Whitington
2025-03-11 16:48:51 +00:00
parent 57d4563913
commit 803a72ba9d
3 changed files with 5 additions and 4 deletions

View File

@ -4576,7 +4576,7 @@ let go () =
args.fast
(prerotate (parse_pagespec underpdf "all") underpdf)
(prerotate (parse_pagespec overpdf "all") overpdf)
false false true)
false false)
| Some Encrypt ->
let pdf = get_single_pdf args.op false in
let pdf = Cpdfsqueeze.recompress_pdf pdf

View File

@ -915,7 +915,8 @@ let equalize_pages under over =
else
under, over
let combine_pages ~process_struct_tree fast under over scaletofit swap equalize =
let combine_pages ~process_struct_tree fast under over scaletofit swap =
let over, under = if swap then under, over else over, under in
let over = if process_struct_tree then mark_all_as_artifact (remove_struct_tree over) else over in
let debug_combine_pages = false in
let debug_pdf pdf n =
@ -924,7 +925,7 @@ let combine_pages ~process_struct_tree fast under over scaletofit swap equalize
in
Pdfpage.add_prefix over (Pdfpage.shortest_unused_prefix under);
let marks_under, marks_over = Pdfmarks.read_bookmarks under, Pdfmarks.read_bookmarks over in
let under, over = if equalize then equalize_pages under over else under, over in
let under, over = equalize_pages under over in
let under_length, over_length = Pdfpage.endpage under, Pdfpage.endpage over in
if under_length <> over_length then
raise (Pdf.PDFError "combine_pages: not of equal length")

View File

@ -91,7 +91,7 @@ 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 : process_struct_tree:bool -> bool -> Pdf.t -> Pdf.t -> bool -> bool -> bool -> Pdf.t
val combine_pages : process_struct_tree:bool -> bool -> Pdf.t -> Pdf.t -> 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