Customizing PDF SDK for Android & iOS via source code changes.

Q:

Can you give us more details on what we will receive with a licensed version of Mobile PDFNet (for Android, iOS, WinRT)?
In this evaluation version it looks like we are accessing binaries and we cannot apply all the customizations we have in mind via provided interfaces. With the licensed version will we have access to all of the source?

Please provide details on the source including the language and any other information you think would be useful.

A:

With the licensed version you only have access to the source code of the Tools library (Tools.jar for Android or libTools.a for iOS). The tools library is responsible for all of the user interaction with PDFViewCtrl, such as adding/editing annotations, clicking on links and selecting text. With the source code you can customize user interaction with the control any way you like.

Taking the SDK for Android as an example, there are two sample apps provided: PDFDrawDemo based on pdftron.PDF.PDFDraw class and PDFViewCtrlDemo based on pdftron.PDF.PDFViewCtrl class. The main purpose of PDFDrawDemo is to showcase how to use PDFDraw class and it doesn’t come with many UI features. PDFViewCtrl class, on the other hand, is more sophisticated and offers full support for user interaction and various features including form filling, annotation creation, text search, text selection, and etc.

It is worth mentioning that PDFViewCtrlDemo uses pdftron.PDF.PDFViewCtrl class that is included in PDFNet.jar. It per se is just a bare bone viewer, but we add various functions such as text search, text selection, form filling, annotation editing, etc., through Tools.jar library. The tools in Tools.jar library talk to PDFViewCtrl through PDFViewCtrl.ToolManager and PDFViewCtrl.Tool interfaces. You can turn off all the tools by commenting out the following two lines:

pdftron.PDF.Tools.ToolManager tm = new pdftron.PDF.Tools.ToolManager();
mPDFView.setToolManager™;

in PDFViewCtrlDemo.java. Note that all the functions in Tools.jar are based on PDFNet.jar. For example, the text search module in Tool.jar is based on pdftron.PDF.TextSearch, and the form filling module is based on pdftron.PDF.Annots. That being said, you are free to customize all the UI factors by modifying Tools.jar.

You can also take a look at the following forum posting for more info:
https://groups.google.com/d/topic/pdfnet-sdk/fG-20n1gcPU/discussion
https://groups.google.com/d/topic/pdfnet-sdk/o7lD1H6Z3uo/discussion
https://groups.google.com/d/topic/pdfnet-sdk/iVVzGrZAAqs/discussion

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.