def getNamedDestRoot(self): root = self.getObject(self._root) if '/Names' in root and isinstance(root['/Names'], DictionaryObject): names = root['/Names'] idnum = self._objects.index(names) + 1 namesRef = IndirectObject(idnum, 0, self) assert namesRef.getObject() == names if '/Dests' in names and isinstance(names['/Dests'], DictionaryObject): dests = names['/Dests'] idnum = self._objects.index(dests) + 1 destsRef = IndirectObject(idnum, 0, self) assert destsRef.getObject() == dests if '/Names' in dests: nd = dests['/Names'] else: nd = ArrayObject() dests[NameObject('/Names')] = nd else: dests = DictionaryObject() destsRef = self._addObject(dests) names[NameObject('/Dests')] = destsRef nd = ArrayObject() dests[NameObject('/Names')] = nd else: names = DictionaryObject() namesRef = self._addObject(names) root[NameObject('/Names')] = namesRef dests = DictionaryObject() destsRef = self._addObject(dests) names[NameObject('/Dests')] = destsRef nd = ArrayObject() dests[NameObject('/Names')] = nd return nd
def getNamedDestRoot(self): root = self.getObject(self._root) if '/Names' in root and isinstance(root['/Names'], DictionaryObject): names = root['/Names'] idnum = self._objects.index(names) + 1 namesRef = IndirectObject(idnum, 0, self) assert namesRef.getObject() == names if '/Dests' in names and isinstance( names['/Dests'], DictionaryObject): dests = names['/Dests'] idnum = self._objects.index(dests) + 1 destsRef = IndirectObject(idnum, 0, self) assert destsRef.getObject() == dests if '/Names' in dests: nd = dests['/Names'] else: nd = ArrayObject() dests[NameObject('/Names')] = nd else: dests = DictionaryObject() destsRef = self._addObject(dests) names[NameObject('/Dests')] = destsRef nd = ArrayObject() dests[NameObject('/Names')] = nd else: names = DictionaryObject() namesRef = self._addObject(names) root[NameObject('/Names')] = namesRef dests = DictionaryObject() destsRef = self._addObject(dests) names[NameObject('/Dests')] = destsRef nd = ArrayObject() dests[NameObject('/Names')] = nd return nd
def getOutlineRoot(self): root = self.getObject(self._root) if '/Outlines' in root: outline = root['/Outlines'] idnum = self._objects.index(outline) + 1 outlineRef = IndirectObject(idnum, 0, self) assert outlineRef.getObject() == outline else: outline = TreeObject() outline.update({}) outlineRef = self._addObject(outline) root[NameObject('/Outlines')] = outlineRef return outline
def getReference(self, obj): idnum = self._objects.index(obj) + 1 ref = IndirectObject(idnum, 0, self) assert ref.getObject() == obj return ref