Пример #1
0
    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
Пример #2
0
    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
Пример #3
0
 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
Пример #4
0
 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
Пример #5
0
 def getReference(self, obj):
     idnum = self._objects.index(obj) + 1
     ref = IndirectObject(idnum, 0, self)
     assert ref.getObject() == obj
     return ref
Пример #6
0
 def getReference(self, obj):
     idnum = self._objects.index(obj) + 1
     ref = IndirectObject(idnum, 0, self)
     assert ref.getObject() == obj
     return ref