A comparison between the old and new pdf viewer

The old pdf viewer that joplin uses is being replaced by a new custom built one, since the old one cannot really be modified according to our needs as it comes in-built and is part of chromium.

The Current Viewer


Features

  • Zoom in/out
  • Thumbnail view
  • Text select (but no option to copy)
  • Page rotate
  • Go to a page (input box)
  • current page / total pages indicator
  • download
  • print
  • show annotations (no editing)
  • 2 page view

Upcoming Viewer

We will have 2 form of the viewer: embedded and full-screen. Embedded being lightweight will have only important feature while full-screen will have more.

Embedded viewer under development

Full-screen viewer under development

How to access the full-screen viewer

  • Click on the attachment link now opens the full-screen viewer.
  • Double click on a page in the embedded viewer opens that particular page on the full-screen.

Features

  • Zoom in/out (both viewer)
  • Thumbnail view (full-screen only)
  • Text select (both viewer) [improved]
  • Go to a page input box (full-screen only)
  • current page / total pages indicator (both viewer)
  • download (both viewer)
  • print (both viewer)
  • show annotations (both viewer)
  • Open in external app from viewer (both viewer) [new]
  • Annotation editing (full-screen only) [new] - pending
  • Open same page in full-screen (embedded only) [new]
  • Scroll progress persistence across note re-renders (both viewer) [new]
  • Link a particular page number in the note (embedded only) [new]
  • Theming support (both viewer) [new]
  • Scroll locking to avoid unintentional scrolling (embedded only) [new]

Features I will consider adding if time permits

  • Search text in pdf
  • Table of Content view

Features of previous viewer that I don't plan on adding yet

  • Rotate pages.
  • 2 Page view.

PS: Not all features are in dev branch yet, some are wip, waiting to become prs, under review etc.

Any suggestions or feedbacks on what features to add/remove or which ones are important to you are welcomed!

13 Likes

It's been fun to watch your progress on this! I am curious with the new annotation editing on the new viewer, what would that entail? Just highlighting? Or comments, etc? Also, does the 'pending' mean it may not be added? Thanks for the great work!

Hi, pending means I'm yet to start its implementation. For annotation editing I'm planning to use this library, so to what extent annotation editing will be supported will depend on this. Since there are so many different kind of annotations possible in a pdf. I'm planning to add support to most popular types first like text highlighting, text decoration, notes etc.
Once the library is in place it would be easier to keep adding support for various types that are supported.

2 Likes

Awesome! Yeah I was kind of wondering with all the options which way you were going to go. Excited to see it develop!

1 Like

Cool work, thank you for it, I would appreciate it if you are able to implement the feature to search in PDFs text as well.

2 Likes

Thanks for making the list of features for the new and old viewer. Could you also create a table to compare the list of features for each viewer, and check marks :heavy_check_mark: when the feature is present?

2 Likes

@asrient, this comparison table is important so that we can have more visibility on the features that are missing and those you've added.

Are there any challenges creating it? If so please let us know.

Hi, really sorry I missed this message earlier.
I will make it asap. Sorry for the delay.

Cool, will try my best to include it.

Feature Present in Old Viewer Embedded Viewer Fullscreen Viewer
Zoom in/out Yes Yes open PR
Thumbnail view Yes No open PR
Text select Yes (broken) open PR open PR
Go to a page input box Yes No open PR
current page / total pages indicator Yes Yes open PR
download Yes Yes open PR
print Yes Yes open PR
show annotations Yes Yes open PR
Open in external app from viewer No No open PR
Annotation editing No No Wip
Open same page in full-screen No Yes No
Scroll progress persistence No Yes open PR
Link a particular page number No Yes No
Theming support No Yes open PR
Scroll locking to avoid unintentional scrolling No Yes No
Search in pdf No waiting waiting
2 Page view Yes No No
Rotate page Yes (can't save) No No

Key

Yes: Already present.
No: Won't add.
open PR: Currently under review.
Waiting: Implementation done, in line to create a PR.
Wip: Currently working on it.

Since full-screen viewer is not in the codebase yet, all of it's feature is marked as waiting but the features are already implemented. I will create the PR for the full-screen once the current open PRs are merged.

6 Likes

Great, thank you, I'm looking forward to seeing the feature :), it will improve my daily workflow I want to use Joplin as some kind of tool to also store my documents in a search able manner.

1 Like