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!
12 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.
1 Like
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 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