I don't know what is better: fetching HTML from webview or injecting JavaScript and processing HTML from a local webserver. From the code of epub_renderer, JavaScript from webview has to do a lot of work. If it fails at some point, the renderer will stop rendering. For example, if we highlight the first word of an inner page, the renderer will stop rendering.