A PDF reader that allows a user to read and annotate a document on an Android tablet

1. Demo:


2. Techinique:

  • This app is implemented in IntelliJ 2022, with the Android API 30 SDK.

3. Features:

  • Load: The application will load a sample PDF which includes any number of pages.

  • Save: The changes will be saved when the user changes pages, or exits.

  • Titlebar: The titlebar should show the name of the PDF.

  • Statusbar: The statusbar should show the current page number and the total number of pages.

  • Navigate: Browse forward and backwards through the pages in the document. The status bar can be updated to indicate the current page.

  • Drawing: The users can draw on the current page, allowing them to write notes or draw on a page.

  • Highlighting: The user can draw over the existing document with a thick, transparent yellow brush that allows the user to highlight the text in the PDF. The highlighter is transparent enough that the text beneath it remains visible! See the diagram above for an example.

  • Erase: The users are able to erase an existing drawing or highlighting.

  • Zoom & Pan: The user can use two fingers to zoom-in and zoom-out.

    When zoomed-in, users can pan around to reposition the document. These gestures should behave the same as standard pan-and-zoom. Users can draw and highlight a document at any scale, and the annotations should scale with the document canvas.

  • Undo/Redo: Undo the last change that was made to the document. The users are able to undo at least the last 5 actions that were performed. Redo can be used to revert the undo.

  • Orientation changes: The app remains usable in either portrait or landscape mode. Rotating the device will not result in data loss. When you change orientation, the document is scaled to the width of the screen.


View Github