mirror of
				https://github.com/johnwhitington/cpdf-source.git
				synced 2025-06-05 22:09:39 +02:00 
			
		
		
		
	Preserve_actions:true where appropriate
This commit is contained in:
		| @@ -363,7 +363,7 @@ let add_bookmark_title filename use_title pdf = | |||||||
|     else |     else | ||||||
|       Filename.basename filename |       Filename.basename filename | ||||||
|   in |   in | ||||||
|   let marks = Pdfmarks.read_bookmarks ~preserve_actions:false pdf in |   let marks = Pdfmarks.read_bookmarks ~preserve_actions:true pdf in | ||||||
|   let page1objnum = |   let page1objnum = | ||||||
|     match Pdfpage.page_object_number pdf 1 with |     match Pdfpage.page_object_number pdf 1 with | ||||||
|       None -> error "add_bookmark_title: page not found" |       None -> error "add_bookmark_title: page not found" | ||||||
| @@ -381,7 +381,7 @@ let add_bookmark_title filename use_title pdf = | |||||||
|     Pdfmarks.add_bookmarks newmarks pdf |     Pdfmarks.add_bookmarks newmarks pdf | ||||||
|  |  | ||||||
| let bookmarks_open_to_level n pdf = | let bookmarks_open_to_level n pdf = | ||||||
|   let marks = Pdfmarks.read_bookmarks ~preserve_actions:false pdf in |   let marks = Pdfmarks.read_bookmarks ~preserve_actions:true pdf in | ||||||
|   let newmarks = |   let newmarks = | ||||||
|     map |     map | ||||||
|       (fun m -> {m with Pdfmarks.isopen = m.Pdfmarks.level < n}) |       (fun m -> {m with Pdfmarks.isopen = m.Pdfmarks.level < n}) | ||||||
|   | |||||||
| @@ -3451,7 +3451,7 @@ let stem s = | |||||||
| let fast_write_split_pdfs | let fast_write_split_pdfs | ||||||
|   ?(names=[]) enc splitlevel original_filename sq spec main_pdf pagenums pdf_pages |   ?(names=[]) enc splitlevel original_filename sq spec main_pdf pagenums pdf_pages | ||||||
| = | = | ||||||
|   let marks = Pdfmarks.read_bookmarks ~preserve_actions:false main_pdf in |   let marks = Pdfmarks.read_bookmarks ~preserve_actions:true main_pdf in | ||||||
|     iter2 |     iter2 | ||||||
|       (fun number pagenums -> |       (fun number pagenums -> | ||||||
|          let pdf = Pdfpage.pdf_of_pages ~retain_numbering:args.retain_numbering ~process_struct_tree:args.process_struct_trees main_pdf pagenums in |          let pdf = Pdfpage.pdf_of_pages ~retain_numbering:args.retain_numbering ~process_struct_tree:args.process_struct_trees main_pdf pagenums in | ||||||
|   | |||||||
| @@ -846,7 +846,7 @@ let stamp ~process_struct_tree relative_to_cropbox position topline midline fast | |||||||
|   let over = if process_struct_tree then mark_all_as_artifact (remove_struct_tree over) else over in |   let over = if process_struct_tree then mark_all_as_artifact (remove_struct_tree over) else over in | ||||||
|   let prefix = Pdfpage.shortest_unused_prefix pdf in |   let prefix = Pdfpage.shortest_unused_prefix pdf in | ||||||
|   Pdfpage.add_prefix over prefix; |   Pdfpage.add_prefix over prefix; | ||||||
|   let marks = Pdfmarks.read_bookmarks ~preserve_actions:false pdf in |   let marks = Pdfmarks.read_bookmarks ~preserve_actions:true pdf in | ||||||
|   let marks_refnumbers = Pdf.page_reference_numbers pdf in |   let marks_refnumbers = Pdf.page_reference_numbers pdf in | ||||||
|   let pdf = Pdfmarks.remove_bookmarks pdf in |   let pdf = Pdfmarks.remove_bookmarks pdf in | ||||||
|   let over = Pdfmarks.remove_bookmarks over in |   let over = Pdfmarks.remove_bookmarks over in | ||||||
| @@ -923,7 +923,7 @@ let combine_pages ~process_struct_tree fast under over scaletofit over_is_under | |||||||
|       begin Pdf.remove_unreferenced pdf; Pdfwrite.pdf_to_file pdf n end |       begin Pdf.remove_unreferenced pdf; Pdfwrite.pdf_to_file pdf n end | ||||||
|   in |   in | ||||||
|   Pdfpage.add_prefix over (Pdfpage.shortest_unused_prefix under); |   Pdfpage.add_prefix over (Pdfpage.shortest_unused_prefix under); | ||||||
|   let marks_under, marks_over = Pdfmarks.read_bookmarks ~preserve_actions:false under, Pdfmarks.read_bookmarks ~preserve_actions:false over in |   let marks_under, marks_over = Pdfmarks.read_bookmarks ~preserve_actions:true under, Pdfmarks.read_bookmarks ~preserve_actions:true over in | ||||||
|   let under, over = equalize_pages under over in |   let under, over = equalize_pages under over in | ||||||
|   let under_length, over_length = Pdfpage.endpage under, Pdfpage.endpage over in |   let under_length, over_length = Pdfpage.endpage under, Pdfpage.endpage over in | ||||||
|     if under_length <> over_length then |     if under_length <> over_length then | ||||||
|   | |||||||
| @@ -50,7 +50,7 @@ let add_page_as_xobject pdf range page name = | |||||||
| let stamp_as_xobject pdf range over = | let stamp_as_xobject pdf range over = | ||||||
|   let prefix = Pdfpage.shortest_unused_prefix pdf in |   let prefix = Pdfpage.shortest_unused_prefix pdf in | ||||||
|   Pdfpage.add_prefix over prefix; |   Pdfpage.add_prefix over prefix; | ||||||
|   let marks = Pdfmarks.read_bookmarks ~preserve_actions:false pdf in |   let marks = Pdfmarks.read_bookmarks ~preserve_actions:true pdf in | ||||||
|   let marks_refnumbers = Pdf.page_reference_numbers pdf in |   let marks_refnumbers = Pdf.page_reference_numbers pdf in | ||||||
|   let pdf = Pdfmarks.remove_bookmarks pdf in |   let pdf = Pdfmarks.remove_bookmarks pdf in | ||||||
|   let over = Pdfmarks.remove_bookmarks over in |   let over = Pdfmarks.remove_bookmarks over in | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user