- The PDF viewer must be able to create bookmarks, comments and highlighted text.
- It must be possible to open a PDF on a specific location, ideally on the location of a bookmark/comment/highlighted text, but at least on a specific page.
- ObjectIDs of annotations (bookmarks, comments, highlighted text) must be persistent. I know of one PDF reader (PDF XChange Viewer) that has no persistent ObjectIDs - it changes objectIDs of bookmarks each time the user makes changes on the PDF and saves it and that is not desired for my PDF Viewer.
As a starting point you may want to take a look at Bookmarks, Annotations, and PDFView samples (http://www.pdftron.com/pdfnet/samplecode.html)
You can open a PDF and jump to a specific location (e.g. PDFView.SetCurrentPage() etc) or execute a bookmark/annotation action using PDFView. ExecuteAction().
To highlight text programmatically you could use PDFView.Select(Rect or Highlights) etc.
PDFNet can also preserve object ID-s. For this to work you need to make sure that you not using e_linearized flag in doc.Save(). Linearization (i.e. fast web-view) may shuffle objects around.