///|
fn PdfDocument::pdf_merge_name_tree_entries(
self : PdfDocument,
tree_key : @core.PdfName,
) -> Array[(@core.PdfBytes, @syntax.PdfObject)] raise @core.PdfError {
match self.pdf_merge_catalog_entry(pdf_merge_names_key()) {
Some(names) =>
match self.lookup_direct(tree_key, names) {
Some(tree) => self.read_name_tree(tree)
None => []
}
None => []
}
}
///|
fn pdf_merge_name_dictionary_entries(
documents : ArrayView[PdfDocument],
) -> Array[(@core.PdfName, Array[(@core.PdfBytes, @syntax.PdfObject)])] raise @core.PdfError {
let output : Array[
(@core.PdfName, Array[(@core.PdfBytes, @syntax.PdfObject)]),
] = []
for tree_key in pdf_merge_namedict_tree_keys() {
let entries : Array[(@core.PdfBytes, @syntax.PdfObject)] = []
for document in documents {
for entry in document.pdf_merge_name_tree_entries(tree_key) {
entries.push(entry)
}
}
if entries.length() > 0 {
output.push((tree_key, entries))
}
}
output
}