Welcome, guest | Sign In | My Account | Store | Cart
 Python 3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:54:25) [MSC v.1900 64 bit (AMD64)] on win32
 
Type "help", "copyright", "credits" or "license" for more information.
 
>>> import fitz                                      # = PyMuPDF
 
>>> doc = fitz.open("test.pdf")                      # open PDF
 
>>> toc = doc.getToC()                               # get current table of contents
 
>>> for t in toc: print(t)                           # show what we have so far
 
...
 
[1, 'The PyMuPDF Documentation', 1]                  # = [hierarchy-level, title, page-number]
 
[2, 'Introduction', 1]
 
[3, 'Note on the Name fitz', 1]
 
[3, 'License', 1]
 
>>> toc[1][1] += " modified by setToC"               # modify anything
 
>>> doc.setToC(toc)                                  # replace outline tree
 
0
 
>>> for t in doc.getToC(): print(t)                  # demonstrate it worked
 
...
 
[1, 'The PyMuPDF Documentation', 1]
 
[2, 'Introduction modified by setToC', 1]            # <<< this has changed!
 
[3, 'Note on the Name fitz', 1]
 
[3, 'License', 1]
 
>>>
 
>>> # similar for metadata:
 
>>> doc.setMetadata({"author":"Jorj. X. McKie", "creator": ...})
 
0
 
>>>
 
>>> # when done, incrementally save to the file works in sub-second time
 
>>> doc.save(doc.name, incremental=True)
 
0
 
>>>

History