Dreaming of an integrated Java PDF Viewer for Docear

Published by Joeran Beel on

Maybe the most disturbing thing about Docear is the lack of a proper PDF reader that creates comments, bookmarks and highlighted text that can be imported by Docear and that runs on all operating systems. Personally, I use Foxit Reader and create bookmarks to remember important statements but it can’t highlight text properly. PDF XChange Viewer could be a great alternative if they had persistent object numbers – but they don’t (read here for more details).

Due to the lack of a truly proper Java PDF viewer, we are considering to develop our own PDF viewer. There are plenty of Java PDF libraries out there. However, I had a look at them and none of  seem is really suitable. Aspose PDF, iText, jPod Renderer>, PDF Tron, Big Faceless Java PDF, CABAReT Stage, jPDFBookmarksJPedal, PDFBoxICE Pdf, ReMarksPDF, and Qoppa’s jPDFViewer all have some shortcomings. Either they have many features but are commercial (e.g. Big Faceless Java PDF), or they are open source but do not offer the required feature or have serious bugs (e.g. PDFBox).

So, my question: Do you know of any other Java PDF libraries or even better a fully functional Java PDF viewer? Our requirements are:

  • The PDF Viewer must be written in Java and cross-platform
  • The PDF viewer must be able to create bookmarks, comments and highlighted text in Adobe’s standard PDF format
  • The text of the highlighted text must be copied into a “pop-up box” as PDF XChange is doing it
  • It must be possible to open a PDF on a specific location, ideally on the location of a bookmark/comment/highlighted text, but at least on a specific page.
  • ObjectIDs of annotations (bookmarks, comments, highlighted text) must be persistent. For instance, PDF XChange Viewer  has no persistent ObjectIDs – it changes objectIDs of bookmarks each time the user makes changes on the PDF and saves it and that is not desired for Docear’s PDF Viewer.

And one more question: If we had found the perfect Java PDF library, but it would be commercial, would you be willing to pay for a PDF viewer? If yes, how much?

Please also let us know if you know someone who would be able to implement a PDF viewer with full-annotation support. We might have some funds available to pay him.


33 Comments

z · 9th September 2014 at 07:32

are there any updates for this?
it’s frustrating not to be able to highlight things under linux without installing wine!
An integrated pdf reader would definitely help 🙂

    Joeran [Docear] · 11th September 2014 at 11:50

    no news and i doubt that there will be any news in the next year or so.

Joe · 15th May 2013 at 22:22

If you are going to write a Java library anyway, try to model it after DiffPDF (not Java, but Qt):
http://www.qtrac.eu/diffpdf.html

It is cross platform and even understands the Apple Way of PDF annotations, so it is not confused object ID number changes and such. I have tested it on Linux and Mac OS X. I imagine it just works for Windows as well, give it’s Qt pedigree.

Perhaps it can save some of the time required for designing the architecture.

Cheers,
Joe

ted · 29th March 2013 at 15:58

just thumbled over utopia it while browsing plant phyiology (the journal). As it was linked there i ask myself who is behind.

But sounds great – as i am currently seeking ways to improve my “keep-up to date in your field of science” this is quite interesting.

If it is as it sounds – team up 😉 Also because it is availaable for all platforms (which is a big plus said from a linux user).
Will test it right now.

    Joeran [Docear] · 6th April 2013 at 20:43

    problem of Utopia is that annotations are stored in a proprietary format

Keith · 24th January 2013 at 00:20

The Utopia Documents PDF reader is interesting, posibly brillant even though I haven’t used it extensively, see at url getutopia.com

    Joeran [Docear] · 24th January 2013 at 09:11

    indeed, it seems to have some really cool features being really interesting for scientists. however, as far as i can see you cannot create bookmarks or comments or highlight text which is a no-go for us.

      Keith · 25th January 2013 at 06:06

      Ask the developers to add stuff, probably not difficult, maybe they’ll release the code.

Brian Meriweather · 24th September 2012 at 16:59

Have you looked at pdf annotator? It it commercial. I use it because it works well with my tablet pc and gives a variety of highlighters that use the wacom pen. Check it out. http://www.ograhl.com/en/pdfannotator/

    Joeran [Docear] · 25th September 2012 at 17:04

    we are still hoping for a non-commercial solution but i will have a look at pdf annotator, thank you

Wincent · 22nd July 2012 at 10:08

How about clown pdf library?

    Joeran [Docear Team] · 22nd July 2012 at 14:39

    it seems as if the library is not actively maintained any more. the last update is from November 2011.

      Wincent · 24th July 2012 at 07:44

      Emm, the last svn commit is days ago. I think it is relatively active.
      Perhaps it is a good idea to contact the developer for confirmation. PDFClown seems a promising project.

        Joeran [Docear Team] · 24th July 2012 at 08:23

        i just had a look at the last release and not the svn, sorry. however, a few days we started trying to combine jpedal and itext. if this should fail, we will have a closer look at pdf clown.

dwio · 12th July 2012 at 18:10

Which of the FOSS libraries worked best for you?

I am in a similar situation of adding PDF-support to my java application. So far, I made some initial progress with IcePDF (they have an apache-licensed version), but the rendering is very slow (maybe prerendering in the background will fix this?) and i have no idea how to get annotations working.

Recently I stumbled across jMuPDF: http://jmupdf.sourceforge.net
Basically, they are wrapping the native MuPDF library in a java package. It looks promising but forces you to deploy platform- and architecture- specific libs, taking away platform-independance.

Maybe it is also possible to wrap the poppler library (c++) with qt-jambi (qt for java)? There is a project for this (http://code.google.com/p/poppler-jambi/) but it seems dead.

creers dwio

    Joeran [Docear Team] · 13th July 2012 at 07:20

    I believe that it’s most promising to combine JPEdal (Basic PDF Viewer) with iText (Annotation support) but if you make some progress, please let us know

Duncan · 3rd July 2012 at 11:40

Just a quick note on importing highlights. Using Mac OS X and Adobe Reader 10.1.3 I’ve managed to get docear to import highlights.

It’s a slightly laborious process, but it works:
1. in Adobe Reader->Preferences->Commenting tick the ‘automatically open comment pop-ups…’box.
2. then select the text you want highlighted, and copy it.
3. then highlight it, a pop up box will appear,
4. paste the text into the box
5. save
6. have Docear re-read monitoring folder and new highlights will appear with links that jump to the right place in the original PDF (if you have that set up)!

The problem with Foxit Reader and PDFXChange Viewer for me is that I can’t find a Mac OS X version.

Chris George · 24th June 2012 at 14:36

http://www.qoppa.com/pdfstudio/demo/download.html

Java, bookmarks, annotations, highlighting and all work in both this software and Adobe Reader 9 for Linux. I cannot test other versions as I do not have Windows or a Mac.

It is not free. $85 USD.

    Joeran [Docear Team] · 25th June 2012 at 15:35

    thank you for letting us know (though a commercial solution is not what we would like to recommend to our users).

Jonathan Cookson · 20th June 2012 at 11:34

You get what you pay for Joeran. Thanks for the mention anyway. 🙂

bob · 11th June 2012 at 05:38

One unfortunate side note is that the imported comments wont jump to their position in the pdf document….errr. So close.

    Joeran [Docear Team] · 11th June 2012 at 15:09

    you need to open the preferences and under “pdf management” you need to set the path of your pdf reader (works with selected PDF readers only).

bob · 11th June 2012 at 05:21

While it doesn’t help the majority of users, I can confirm highlights work in Adobe Acrobat (rather than the free reader) when “Copy Selected text into Highlight, Cross-Out, and Underline comment pop-ups”. A rather annoying discovery though is that one cannot annotate inside the browser due to some rather nonsense reason regarding edits not being saved. I say non-sense because one can easily accomplish annotation with the Foxit browser plugin. We are one feature away from blissful academic knowledge management and construction using Zotero to save & tag resources with annotation in the same interface using the Foxit browser plugin and bringing it all together using Docear. So damn close, profanity is the only form expression that is appropriate. I must say though, I am amazed that products like these are being made available for free. When the workflow is perfected and refined to flow in an intuitive manner, you all will have done a great service to furthering academic pursuit. You guys deserve a lighter in the air moment.

    Joeran [Docear Team] · 11th June 2012 at 15:11

    Hi Bob, thank you for your flattering words and letting us know that Adobe Acrobat highlighting works fine.

SamuelK · 23rd May 2012 at 08:15

how about jPDF http://www.crionics.com/ and PDFTK http://www.pdflabs.com/ ?

Truong · 22nd May 2012 at 14:34

Can you list the options that you have looked at as well as their shortcomings (and whether commercial/open-source)? Probably no open-source library that satisfies your requirements exists, however it might be possible that one library is very close, and because it’s open-source, you can fork it and modify it a bit to satisfy the requirements. If you must buy a commercial library, I think you should give options: Docear with and without the commercial library/viewer. Some people, like me, don’t use the annotation feature of Docear and/or prefer some external PDF viewer (Skim in my case).

I don’t know where and how you will put the integrated PDF viewer in the Docear window, but for me the current Docear window, with mindmap, project tree, ref. manager & note pane, is cluttered enough and quite difficult to work on; so I don’t want another frame in that window. Probably it’s just me with my little 13″ laptop screen (I wish I had a 20-30″ monitor).

    Joeran [Docear Team] · 23rd May 2012 at 09:00

    i will try to make a list in the next days with the pros/cons for each library. and don’t worry, we won’t force anybody to use our PDF viewer (even if it’s free and certainly not when it’s not free). currently, i think we would display a PDF either in the same way as a mind map (in a separate tab) and/or let you open a PDF in a completely new window. and yes, a 13″ screen is really hard to use with Docear. I am using a 28″ screen (this one I believe http://www.amazon.com/Hanns-HZ281HPB-28-Inch-Widescreen-Monitor/dp/B003C2B1O2/) and it’s worth every penny 🙂

Mike · 22nd May 2012 at 13:03

have you had a look at jPDF http://www.crionics.com/ ?

Garder · 22nd May 2012 at 10:00

i know no such java pdf library. would pay 15$ or so. why don’t you guys start a project on kickstarter to collect money?

    Joeran [Docear Team] · 23rd May 2012 at 08:55

    in case we will use a commercial library, we probably will start a project on kickstarter or a similar platform. still, a free open source alternative would be my preferred choice

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.