I ran into the same issue as outlined in [@user2433922's answer](https://ebooks.stackexchange.com/a/7499/20268). Kobo 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](https://www.w3.org/publishing/epubcheck/) 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 file mentioned in the linked answer](https://docs.spring.io/spring-boot/docs/2.0.0.M5/reference/epub/spring-boot-reference.epub), `epubcheck` outlines a clear error regarding the `content.opf` file. Another problematic EPUB I used had no errors, despite the file 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:

```sh
unzip book.epub -d ./book
```

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

```lang-xml
<?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:
```lang-xml
<?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](https://stackoverflow.com/a/68121421/12638282)):

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

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