8

I've got an ePub file that I'm quite certain has no DRM on it. It's a DRM-free book bought from O'Reilly. However, my Kobo Aura HD is refusing to use it, saying that it's Adobe DRM'ed and I have to log in.

So, first thing I tried to confirm is that it is DRM-free. Unzipping the ePub, it has no rights.xml file, no encryption.xml file, and all the content is available through plain html files. epubcheck does't say anything about it having DRM. Is this sufficient to confirm that an ePub is DRM-free?

Second, if it is indeed DRM-free as it should, then the Kobo Aura HD is incorrectly indicating that it has DRM. It is refusing the display the file even though it displays fine in every other reader I've tried, including iBooks and Calibre, neither of which I've logged into any accounts.

Any remedies that I can use to fix this? Perhaps somehow repackage the ePub?

1
  • FWIW, I have the same device (with an outdated firmware, possibly) and have never encountered this issue (I only use DRM-free books). But then, I've never bought an ebook from O'Reilly. Have you tried other books of theirs? What does their support say? I'd guess it's more a problem of the file and less of the device.
    – Raphael
    Commented Jan 25, 2016 at 11:39

3 Answers 3

2

I have a different type of Kobo (Glo HD), and no knowledge of DRM implementation for ePub, though I would expect that a variety of distinct DRM techniques can be used on ePub files.

I would however expect that an eBook from O'Reilly does not carry DRM. So your problem should have another cause. Which you apparently confirmed by testing on different devices or application software.

What I noticed by experimenting with my Kobo is that, when an eBook has been loaded and made visible to the Kobo, it may interpret reading problems as caused by the presence of DRM, though that may not be the case. And you get an error message that pretends that the book is DRM protected.

Typically that can happen if some mishap destroys the file or moves it to another directory in the Kobo memory. That is easily done by accessing the memory directly, as done by tools such as Calibre, though this should in no way be construed as suggesting that Calibre makes such mistakes.

From what I understood experimentally (so I may be wrong) The Kobo believes it has a DRM problem with that eBook until it does a scan of its memory, and refreshes its tables, which will then no longer point to a missing ePub file. I am not sure what is the best way to force that scan. The way I did it was by using the Kobo browser to download in the Kobo a DRM-free book (I usually go to http://gutenberg.org for that).

So it could be that your Kobo has some problem reading the file, for whatever reason, and interprets it as a DRM problem, exactly as it did for my missing/displaced files.

My idea is not to give you a definite answer on what is wrong, as only you can do that. It is more to suggest that the Kobo may interpret as a DRM problem a problem unrelated to DRM.

1
  • In that case, a) checking that the file downloaded from the server correctly, b) validating that it's valid EPUB(3), and c) deleting and readding it to the Kobo should help.
    – Raphael
    Commented Jan 25, 2016 at 11:41
1

I ran into the same issue as outlined in @user2433922's answer. My Kobo Libra 2 showed an error when viewing an EPUB claiming to be about DRM when it was really due to a missing content.opf file in an Open eBook Publication Structure (OEBPS). Here's additional instructions on how to fix it.

Before getting started, run the EPUB against W3C's epubcheck tool to see if there are any errors.

epubcheck spring-boot-reference.epub 
FATAL(OPF-002): ./spring-boot-reference.epub/META-INF/container.xml(-1,-1): The OPF file "https://d544286e-3ac0-4871-81d3-1f9198b71f82.epubcheck.w3c.org/content.opf" was not found in the EPUB.

Check finished with errors
Messages: 1 fatal / 0 errors / 0 warnings / 0 infos

In the case of the ebook mentioned in the linked answer, epubcheck outlines a clear error regarding the content.opf file. Another problematic EPUB I used had no errors, despite it not loading on Kobo and a similar issue with that file.

For those unfamiliar with the EPUB format, EPUBs are zip archives with a standardized file structure and metadata. The contents can be viewed by unzipping them:

unzip book.epub -d ./book

Check to see if there is a file located under OEBPS/content.opf. In the case of the above example, although there is one, the file META-INF/container.xml doesn't include the OEBPS directory in the path:

<?xml version="1.0" encoding="UTF-8"?><container xmlns="urn:oasis:names:tc:opendocument:xmlns:container" xmlns:svg="http://www.w3.org/2000/svg" version="1.0">
<rootfiles>
<rootfile full-path="content.opf" media-type="application/oebps-package+xml"/>
</rootfiles>
</container>

Which should be changed to:

<?xml version="1.0" encoding="UTF-8"?><container xmlns="urn:oasis:names:tc:opendocument:xmlns:container" xmlns:svg="http://www.w3.org/2000/svg" version="1.0">
<rootfiles>
<rootfile full-path="OEBPS/content.opf" media-type="application/oebps-package+xml"/>
</rootfiles>
</container>

In the case of another EPUB I had an issue with, META-INF/container.xml pointed to another file and content.opf did not exist. Renaming that file to content.opf and updating META-INF/container.xml as above fixed it.

To create a new archive, run the following (taken from this answer):

cd /path/to/epub-export
zip -0 -X ../newbook.epub mimetype
zip -9 -X -r -u ../newbook.epub *

Then run epubcheck newbook.epub to confirm it can parse the EPUB. Note that sometimes there are errors that won't prevent it from opening on the Kobo.

0

I had the same problem with my kobo glo HD with that epub https://docs.spring.io/spring-boot/docs/2.0.0.M5/reference/epub/spring-boot-reference.epub It's drm free.

but not with that one and many other epubs :

https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/epub/7.4_release_notes/Red_Hat_Enterprise_Linux-7-7.4_Release_Notes-en-US.epub

I have tried to download from kobo web browser, upload from my computer many times and it was not working so I did a check on

http://validator.idpf.org/

and it tells me content.opf were missing. I checked it by my self and the path was incomplete in the META-INF/container.xml file. So I wrote the full path to content.opf did a new check then upload the file on my kobo again and it works.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.