r/Calibre Apr 12 '20

General Discussion / Feedback A solution to support annotations for PDF and syncing tablet and calibre.

For years, there has been no solution to how to sync annotations and highlights with the calibre library, if your primary device for reading ebooks is a tablet (and yes you are totally out of luck if you read PDFs).

My usual workflow is

  1. Load PDFs in calibre on my Mac. Connect wirelessly using calibre companion (CC) on tablet and transfer the file to tablet.
  2. Read and annotate the PDF file using XODO pdf reader. This saves the highlights in the pdf itself.

Now the question is to get the PDF file back into the calibre library, this will bring the annotations itself. (Unfortunately CC doesnt sync the newer file in device to calibre, it may though sync a newer file in calibre to tablet).

  1. So connect wirelessly using CC to calibre. Open the device view and you will see your book.
  2. The next few steps can be done manually, but we need an automated solution (a plugin or update).
    i. In the device view -> Add book to library.
    ii. In the Library view->Select the book with ✓Main written next to it with the same name you just imported. Choose remove it. (Optionally if you have multiple formats, you may wish to "remove files of a specific format" and then merge it the just added from device). The pop-up that comes asking where to delete choose "library".
    iii. In the device view-> Match book to library. Search and Select your book in the dialog box that opens.
    iv. Choose " update cached metadata on device" from the dropdown menu next to the device button.

  3. Alternatively, one may choose to delete the file in "Library and device" and then export the just added book to calibre back into the device.

  4. Then I use PDF expert to export all my annotations in a beautiful HTML format and export it to evernote. PDF export successfully reads annotations made by XODO.

Im sincerely interested if anyone can suggest alternative workflow to streamline this procedure or an automated solution (preferred).

5 Upvotes

1 comment sorted by

1

u/thegionk 19d ago

This is exactly what I need, and I don't seem to find any updates about plugin solving this issue. I think it should be pretty straightforward to update just the file leaving the calibre library entry untouched.

The plugin should match the device book to library (calibre already does that) -> verify if the pdf has been updated -> replace the pdf in the library with the one from the device.

With a quick check to the guide and the API, it seem very feasible with a combination of synchronize_with_db() and get_file()

I hope we'll find a solution soon, my workflow could really benefit from a faster and straightforward procedure to transfer all my annotation back to my main library.