iOS: Customizing PDF Viewer and controls on iOS and Android


  1. When you select any text than popup menu appears. User can select highlight and the text is highlighted with yellow, is it possible to change the default color programmatically? Or even is it possible to change this popup menu? And call these functions (highlight, underline) programmatically?

  2. When user touch the screen, there appears popup menu with functions, as line, free hand, sticky note. Is it possible to remove this menu and directly work with default functions. Similar to PC SDK -

GetView()->SetToolMode(PDFViewCtrl::e_highlight_create) ?


re 1) All of the interaction with the PDF document (except for scrolling and zooming) is handled by the library libPDFViewCtrlTools.a (or tools.jar on Android). Customers are provided the source code for this library, so with the source code it is easy to change any of the behaviour, including the default annotation colours. With the demo version (and thus only the compiled library), there is no way to change the default annotation colours.

re 2) As with answer 1, it is easy to do with the source code to libPDFViewCtrlTools.a (or tools.jar on Android). The source code is a class hierarchy of various “Tools” such as PanTool, TextSelectTool, AnnotEditTool, etc. The main control sends relevant events to the “current tool”, which can process the event and/or pass the event to another tool (which then becomes the current tool). Each tool uses a combination PDFNet and Cocoa to implement its functionality, so you can modify existing tools or create new ones.

. . .

Btw. this week we released an update to PDF Library for iOS and Android ( with the following improvements:

  • Single page mode enables swiping to turn pages.
  • Zooming no longer “flashes” when zooming in and out.
  • Rendering speed improvements for certain files.
  • Better handling for files that contain very large images.
  • Reduced size of the library and compiled apps.
  • PDFViewCtrl now inherits from UIView (not UIScrollView) to allow PDFViewCtrl to manage its own view hierarchy (required to implement single page mode).
  • New protocol delegate methods to hook into PDFViewCtrl scroll view events.
  • Various bug fixes & improvements.

Update: Starting with version 6.1.0 of the Android PDFNet SDK, the Tools library is now shipped as an Android Library, and its source code can be found in the samples folder. The package does not include the Tools.jar anymore, and you now have the flexibility to include the source directly into your project or create a separate library for your projects.