mertakdut / EpubParser

Parses .epub files, provides seperation page by page.
Apache License 2.0
118 stars 27 forks source link

com.github.mertakdut.exception.ReadingException: toc.ncx not found. #20

Open epubreader opened 7 years ago

epubreader commented 7 years ago

http://dl.iteye.com/topics/download/ab094932-668a-3f27-99c8-a5a1d698038d

please download this epub file and parse it, it will throw com.github.mertakdut.exception.ReadingException: toc.ncx not found. please check and fix it, thanks.

com.github.mertakdut.exception.ReadingException: toc.ncx not found. at com.github.mertakdut.Reader.fillContent(Reader.java:382) at com.github.mertakdut.Reader.setFullContent(Reader.java:60)

epubreader commented 7 years ago

The EPUB Table of Contents (TOC) is a component in the EPUB file with the technical name of Navigation Control file for XML or NCX.

please support both xml and ncx file, thanks.

mertakdut commented 7 years ago

Hello,

Thanks for your participation.

epubreader commented 7 years ago

https://vk.com/doc314004719_437782668

please check this file. it contains toc.xhml

mertakdut commented 7 years ago

toc.ncx files have a pattern so we can parse them but can't say the same for xml files.

We'll have to use heuristic methods in order to parse them. Not really sure if we can find a specific pattern for xml files but we can always guess. I'll think of a solution.

vishnusp commented 6 years ago

I'm also facing the same issue.

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
                                                                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
                                                                        Caused by: java.lang.reflect.InvocationTargetException
                                                                           at java.lang.reflect.Method.invoke(Native Method)
                                                                           at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                                                                           at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
                                                                        Caused by: com.github.mertakdut.exception.ReadingException: toc.ncx not found.
                                                                           at com.github.mertakdut.Reader.fillContent(Reader.java:387)
                                                                           at com.github.mertakdut.Reader.setFullContent(Reader.java:54)

But other epub reader apps like lithium are able to render the same epub file.