///|
fn pdf_merge_renumber_target_page_with_map(
target : @destination.PdfTargetPage,
changes : PdfPageReferenceMap,
) -> @destination.PdfTargetPage {
match target {
TargetPageObject(number) =>
TargetPageObject(changes.changed_reference(number))
TargetOtherDocPageNumber(_) => target
}
}
///|
fn pdf_merge_renumber_destination_with_map(
destination : @destination.PdfDestination,
changes : PdfPageReferenceMap,
) -> @destination.PdfDestination {
match destination {
DestAction(action) =>
DestAction(pdf_page_renumber_object_with_map(action, changes))
DestNull => DestNull
DestNamed(_) => destination
DestString(_) => destination
DestXYZ(target, left, top, zoom) =>
DestXYZ(
pdf_merge_renumber_target_page_with_map(target, changes),
left,
top,
zoom,
)
DestFit(target) =>
DestFit(pdf_merge_renumber_target_page_with_map(target, changes))
DestFitH(target, top) =>
DestFitH(pdf_merge_renumber_target_page_with_map(target, changes), top)
DestFitV(target, left) =>
DestFitV(pdf_merge_renumber_target_page_with_map(target, changes), left)
DestFitR(target, left, bottom, right, top) =>
DestFitR(
pdf_merge_renumber_target_page_with_map(target, changes),
left,
bottom,
right,
top,
)
DestFitB(target) =>
DestFitB(pdf_merge_renumber_target_page_with_map(target, changes))
DestFitBH(target, top) =>
DestFitBH(pdf_merge_renumber_target_page_with_map(target, changes), top)
DestFitBV(target, left) =>
DestFitBV(pdf_merge_renumber_target_page_with_map(target, changes), left)
}
}
///|
fn pdf_merge_renumber_bookmark_with_map(
bookmark : @bookmark.PdfBookmark,
changes : PdfPageReferenceMap,
) -> @bookmark.PdfBookmark {
{
..bookmark,
target: pdf_merge_renumber_destination_with_map(bookmark.target, changes),
}
}