Ask HN: What's your cross-platform PDF / ePub reading workflow?

168 points by dot1x ↗ HN
Has anyone figured out a cross-platform setup for reading PDFs / ePubs with the ability to synchronize highlights / bookmarks among iPad / iOS / Android / PC / Linux etc?

What do people use today?

109 comments

[ 5.1 ms ] story [ 168 ms ] thread
I've been playing with Polar ( https://getpolarized.io ) as a cross platform PDF "consuming" app. By "consuming" I mean reading but also note taking / flashcard making. So far it's been pretty good, and in addition to the note taking functionality, it doesn't have the creepy surveillance of Kindle or whathaveyou.
I'm the author of Polar if you guys have any questions.

We're working on EPUB. We want to do it right so it's taking a bit longer. A lot of our users are using Calibre to convert from EPUB to PDF.

We've seen a LOT of uptake among students/academics so PDF has been the main focus so far.

We also have HTML capture and are working to unify the EPUB and HTML capture functionality.

We're trying to be far far more than a reader and view polar as more of a spaced repetition platform with integrated reading so that it's insanely easy to read while learning using spaced repetition.

Anyway... if you have any questions AMA.

I don't see any mobile option. For me, Linux laptop is 40% and android movile device is the other 60%. It looks nifty, but doesn't quite get me there.
Mobile is supported via the webpage. Reading isn't supported on phones/tablets (yet; though its settings menu offers this as an under-development feature).

IIRC, recent development to polar was to make it much more friendly for viewing on mobile.

Yes... it's a mobile webapp right now and is very close to native.

We're working on finishing reading up on mobile too.

then we're going to package it as a native mobile app.

My setup right now is to upload my ePubs to Google Play Books. Once your document/book is uploaded you can access it from the app on Android/iOS or directly from the web-reader on any browser.

Play Books automatically syncs your reading progress, notes, bookmarks etc and there's no additional overhead on your part.

Completely agree. Plus, it can generate a beautiful document with your notes and highlights. The only downside is the iOS reader. It is slow to advance pages, klunky in its operation and inaccurate when you want to highlight a passage. In comparison, the Kindle reader has a beautiful and butterly highlighting tool. The Google team should outright copy this part (unless its patented, which wouldn’t surprise me).
I've found the native Books app on iOS to be very nice to use. Especially with the infinite scroll feature. That would definitely be something that Google should adopt for their app.
Does it support PDFs? I've never tried Play Books
Yes it does support PDFs. Of course if you have an epub it will look better on a mobile device, but you can still use PDFs and get the sync features.
Yes that's the only solution I have found to sync progress on iPad, Android, and linux. If any FOSS solution exists on all these platforms in order to sync position progress I'm all ears.
Whenever I use the web reader (in both Chrome and Firefox) and choose one page layout, it formats it so all the text is in a narrow column with large spaces on either side. Have you run into this at all?
Interesting solution,thanks ! However, upload seem to only be available from the desktop and annotations are quite primitive (especially on phone/ipad). So it works perfectly for books, not so much for storing and annotating all documents
you can upload epubs from the android app. I just downloaded a file and uploaded it on my android device yesterday.
You can also upload from iOS by using the "Copy to Play Books" option in the Share menu.
This is exactly the kind of thing I was looking for. Thank you so much for introducing me to this. The only downside is the fact that my Kindle does not support this app but oh well.

I wish Amazon allowed syncing of highlights / bookmarks for uploaded books.

iBooks, no?
cross-platform, yes?
Cross platform in the sense of tablet/phone/computer integration IF you're already invested in the Apple ecosystem.

But yeah AFAIK it's apple only.

I use it for ePubs. Really don’t like reading PDFs with it. Might be a limitation of PDFs but no Night Mode, for example. Reading pdf’s doesn’t count towards reading goal either. And can’t highlight notes.

Wish some form of ePubs would replace pdf’s.

It's called "HTML". ;) (Pdfs are for printed documents, you really shouldn't use them on screens...)
I think you missed the point. I don’t want to read on the web. I want to replace books.

I want books published in a better format. Too many books are pdf only:

https://www.freetechbooks.com/

ePub is an HTML format. It’s just not sufficient

I'm always looking to better my flow for PDF reading so really appreciate this question.

I have settled with Notability due to its nice iPad app where I use my Apple Pencil to annotate - the annotated PDF syncs to iCloud so it's available on Apple products (don't think it supports Android/Linux so maybe not cross-platform but something I'd recommend checking out if you can live with that limitation). If it's a book I'm using to learn something (usually tech), I then transfer notes to Bear in outline format (using the Notability mac app to read notes) and sometimes Anki for flashcards. One downside is that Notability doesn't support ePub so I either convert those or read on Kindle.

I tried OneNote recently but the iPad app seems unable to handle larger PDFs like textbooks which is a major bummer and surprising to me.

I use a remarkable tablet[0] in order to mark/highlight/read stuff, and the send to remarkable extension[1] to print pages and pdfs to the tablet.

[0] https://remarkable.com/

[1] https://chrome.google.com/webstore/detail/send-to-remarkable...

I'm also using this. I have Mac + iPhone + remarkable, and recently discovered some neat tricks so I can "print to remarkable" from phone or laptop, using native print/AirPrint dialogs. It's pretty cool to treat the remarkable like real paper that you can print to.

I use this AppleScript trick + rmapi [0] so I can use the native Mac print dialog to print to remarkable. Basically, anywhere I can print a PDF, I can print to remarkable the same way.

I installed Printopia [1] on my mac to host an AirPrint server on my local network, which can share the print extension I created to print to remarkable. So when I'm on my wifi, on my phone, I can use the native "Print" functionality to "print to remarkable" via AirPrint on my laptop.

The only thing missing is the ability to get this setup working when my phone is not on WiFi. I've installed ZeroTier on phone/mac, and connected them to the network so they can ping each other, but I'm having trouble getting mDNS to work properly. The laptop is sending the packets to the ZeroTier interface, but the phone is not receiving them for some reason. Not sure if it's expected, since iPhone Network Extension can only setup the equivalent of TUN interfaces, not TAP (which is needed for L2 AFAIU).

[0] https://github.com/juruen/rmapi/blob/master/docs/tutorial-pr...

[1] https://www.decisivetactics.com/products/printopia/ -- It's $20 but it works really well. I played around with setting up my own CUPS + Avahi server, but getting it to work in docker was a pain, given the native OSX CUPS server was interfering and some other issues... Printopia just works.

I'm intrigued by the remarkable, and may well buy the color e-ink version when it arrives (I gather it's expected late this year).

One question, if I may: is there any way to import screenshots (ideally .png files) into otherwise handwritten remarkable notes? I use this functionality fairly often on my Chromebook (doing screengrabs with the stylus, then embedding them into otherwise handwritten Squid [0] notes, sometimes annotating them, then exporting the entire note as a PDF).

[0] https://www.squidnotes.com/

I dont see a widget for that on mine. Most of the needed functionality is there, tho- you can eg trace around a section of writing and move it around on a page, and the notebook pages have the notion of layers.
Interesting, thanks. Sounds like it's something that could eventually get done... (On ChromeOS I often split-pane Squid and Xodo, or a video player -- not that I would ever expect that to work on e-Ink! -- and just embed complicated diagrams, long code blocks, or video stills in my handwritten notes.)
What Chromebook do you use Squid on? I use it on a 12.2" Samsung tablet which is great, but getting pretty old now.
I'm using the Samsung Chromebook Pro, which is getting a bit old itself. While I like the stylus and the screen, I can't wholeheartedly recommend the device -- while it might come further down in price soon, with Samsung apparently prepping a new ChromeOS 2-in-1 [0], it still doesn't have Linux apps outside of Crouton. My understanding is that Crostini requires some code that's only available in the 4.x kernel, and -- unlike the ARM-based Chromebook Plus -- the Chromebook Pro uses the 3.x kernel. I'd heard rumors of backports last year, but they haven't materialized. And, in ChromeOS, I sometimes have random reboots, and UI bugginess when I switch aspect ratios or between laptop and tablet mode.

[0] https://arstechnica.com/gadgets/2020/01/samsungs-1000-galaxy...

Does anyone know of a cheaper alternative in this same genre of tablets? That is, E-ink with stylus, but more in the price range of say <= $250?

$500 is just a bit steep...

+1 to the remarkable for PDF/book reading.

Workflow- for kicks I wrote a little utility using the unofficial API so I can send PDFs to their cloud service from my laptop, and plan to deploy it with an AWS SES inbound thing so I can email PDFs and have them show up on the device, like the kindle service. I expect also to PDFify my kindle books so I can move them over as well.

This isn't a cross-device solution as the OP requested but I find using a single dedicated reading device works better for me. Very happy with the remarkable.

How's the remarkable with epubs? Also, can you detail how the export function works for handwritten notes? How would you see those handwritten notes on e.g a pdf reader on your pc?
I suffer from the same issue. I use KOReader, which does do sync, but uses its own zsync protocol, which basically nothing else supports.

I use Kybook 2 on my iPad. I think Calibre supports syncing with Kybook 3, so you could try that.

If you really want highlight syncing etc, it might be worth migrating to a Kindle-first workflow? But PDFs aren't there.

Why is this so hard :( Why can't everything use a standard progress sync protocol? (KOReader's is at https://github.com/koreader/koreader-sync-server)

> If you really want highlight syncing etc, it might be worth migrating to a Kindle-first workflow? But PDFs aren't there.

Kindle syncs PDFs. You have to email them to your kindle email address, but they work out of the "Documents" section. And they sync as well. As far as I can tell, anyway. I don't really do any highlighting, but the docs are available.

Real world PDFs are mostly unreadable on eInk kindles. The screen size doesn’t work for most 2 column PDFs. It is fairly painful.

KOreader fixes some of it, but you lose the highlight sync.

I guess I've just never tried to read a 2-column paper on there now that you mention it.

Single columns have worked great, though—if you don't rely on colour, of course.

Could you take BookFusion for a spin and let me know what you think?

BookFusion allows you to upload and manage your eBook collection across Android, iOS and Desktops. All your eBooks, bookmarks, highlights, notes and reading progress are always synced across all devices.

More at https://www.bookfusion.com/reading

Calibre Plugin - https://www.bookfusion.com/reading/calibre

Send to Kindle - https://blog.bookfusion.com/how-to-quickly-easily-transfer-e...

There are a few gaps but a brand new and refreshed platform is being launched in Q3 2020

Looks interesting, will try it out thanks.

Right now, I support sharing via my own Ubooquity/elibsrv servers which run OPDS as well. OPDS works well with Kybook, which is what I run currently on iOS.

Unless this supports an OPDS server, I don't see myself using this long term, though. OPDS on Kindle (with KOReader) makes my life so much simpler (I can browse my entire collection on the Kindle).

I use SumatraPDF on linux with wine. If you just want a good reader nothing comes close, sadly.
Wow. That's really a sweet reader. I usually use FoxIt Reader but I think I gonna stick with Sumatra at least for a few days to give it a proper test.
> I use SumatraPDF on linux with wine.

I just discovered Foliate[0,1], which is a very small reader (252kb, deb) for .epub, .mobi, .azw, and .azw3 files. It's based Epub.js[2]. I was looking for a standalone epub reader (wanted to avoid the document management stuff) and stumbled across this gem.

It's performed very well on the epubs I've tossed at it.

[0] https://github.com/johnfactotum/foliate

[1] https://johnfactotum.github.io/foliate/

[2] https://github.com/futurepress/epub.js/

It's no use for technical books but for all normal text I use (the real) Kindle for reading most of it, with Pocket for web pages synced over to it via p2k and non mobi books converted via either Amazon through email or Calibre or online equivalent for epubs.
Calibre on PC & clients on mobile devices that can sync against Calibre ?
Does anybody know of an application I can use as both a PDF/ePub reader and a manually sortable reading list? It seems so simple, but I haven't found any program that does both.
ReadEra for Android. I wish the had something for Windows too
MarginNote 3. It is more than reading. MarginNote combines reading, annotating, mindmapping etc. so it's a great tool to read and arrange your hard-to-reading books.
There is a Reading List plugin for Calibre
I use the Kindle App, Mobi files instead of EPUB and use Calibre. Apart from that, it's just PDFs all the way.
I used to run a pet-project that was basically pdf.js that would save your last scrolled position in the database so you could continue from where you left.

Also, you could upload your PDFs and you would have a simple online library.

I upload them to Google Play books.
After being all in the Apple ecosystem for the next 5-10 years but wanting to use a Kindle I decided to use Kindle + Kindle App in iOS (iPhone and iPad), after reading I export the highlights and add them to a Notion DB of my read/reading list where I can easily review the highlights when needed.

At one point I think i will give up on Kindle as a book reading and go all in for the iPad and I will switch to Apple Books but I think i will still export the highlights to somewhere.

I read all my pdf's using the Emac's library pdf-tools and epub's with the library Nov.el

Works pretty great

All my non-technical reads are done in Kindle, so it takes care of synchronizing bookmarks, highlights and notes. When work permits I can read non-technical stuff in my computer (Ubuntu), I use Kindle Read on the browser.

For everything else, I use Calibre and the standard PDF reader that comes out of the box with Ubuntu. I keep notes, highlights and bookmark indications in separate Google Keep notes, one note per title or, sometimes, one note per "subject", which would include various books and articles I'm reading. The method sounds like extra work, and it is, but it's rewarding because Keep is very flexible and easy, its tagging feature and "searchability" work fine.

Zotero with Zotfile to extract highlights, highlights get sent to Devonthink
I use zotero (https://www.zotero.org/) for all of these functions of reading, note taking and managing references.

Also bonus - support latex and bibtex. You can highlight in the pdf, and zotero will extract those highlights and add them to the entry as notes. Very handy.

Adding to this, it has webddav support, so you can use gdrive/onedrive or even next cloud. I use my self hosted next cloud instance as the storage and sync.

And for mobile, i use this seemingly now-abandoned app called papership [ios][0]. It lets you signin to zotero and your webdav provider, so you have a sync of books/papers, along with your highlights, notes and whatnot. Thankfully, it seems like zotero are hiring ios devs, so a first party app might be on the horizon.

[0]: https://www.papershipapp.com/

edit: seems like papership recently started getting updates again, so its not abandoned anymore.

me too! I also sync everything to google drive so I can access my pdf's from any device
I have a jury-rigged system, as I use my 2-in-1 stylus-equipped Chromebook for most of my reading and annotating. It's not very elegant, or FOSSy, but it works reasonably well.

I basically use Dropbox as a back-end, using Autosync for Dropbox (fka Dropsync) [0] on Android and ChromeOS (and the vanilla Dropbox Linux desktop client on Kubuntu) to keep the files synchronized (storing them on SD cards on my phone and Chromebook). I have it automatically sync frequently, and the app automatically uploads local changes to the cloud.

For PDFs, syncing the highlights is of course trivial; as a reader, I use Okular on Linux and Xodo [1] on Android/ChromeOS. Xodo has more features -- I like using my Chromebook's stylus to scribble notes in the margins -- and everything ports well to Okular, and vice versa.

For EPUBs, I use Calibre on Linux and Moon+ Reader Pro [2] on Android / ChromeOS. In practice, though, I use the latter almost exclusively; it has a built-in Dropbox sync functionality [3], though I'm not sure the highlights etc. are accessible by other apps.

[0] https://metactrl.com/

[1] https://www.xodo.com/

[2] https://moondownload.com/download.html

[3] https://raymondlamsk.blogspot.com/2018/03/moon-reader-how-to....

I'm working on having Polar work with iPad (iOS and Android) and I have an iPad and REALLY want it to support stylus input. It's so so so much easier!
That would be very appealing to me. (Not sure what you have in mind, but it could also serve as a backdoor into freehand note capability, as it does in Xodo -- you just make your stylus input on a blank PDF page...)
Your setup sounds ideal for BookFusion. Would love to get your feedback.

BookFusion currently allows you to easily upload,organize and sync your eBooks across Android, iOS and Desktop(via Web). All your highlights, bookmarks, notes and reading progress will always be synced.

More at: https://www.bookfusion.com/reading

Calibre plugin: https://www.bookfusion.com/reading/calibre

There are some gaps and features that are missing but they all will be filled with our new release in Q3 2020.

This looks interesting. Is stylus-support (iOS and Android) planned? Free-form marking and writing notes directly on an ebook (in whatever format) would be awesome.
I thought iBooks would be my answer to this, but for PDFs it just opens OSX Preview so you don't get the page syncing feature.
Wonderful thread with many interesting ideas. Along the same lines, does anyone know a shared solution to this? Ideally FOSS. I have huge numbers of PDFs that it'd be nice to be able to share and annotate in a small group.
I have to rename my epubs to png and then I can send them to kindle via the share button (send to kindle doesn't support epubs directly for some reason)

After that it's available everywhere including my mobile phone and kindle reader which makes it quite easy to remain in sync (bookmarks, highlights, last page, etc)

Do they format correctly that way? I use Calibre to convert EPUBs to MOBI and then email them to my Kindle account.
Yes I've never had issues doing that. Just an extra step to rename epub to png that's all.
I mostly have pdf docs and syncing my changes across platforms is very Well managed by syncthing's incremental syncing. Irrespective of the application i use to read, if syncthing is installed, i can access and sync any file.
iBooks. https://imgur.com/a/TzZjbwz

Works great. Has all the research papers I read. Dunno about synchronizing highlights, but airdrop makes it simple to get PDFs on and off my phone.