Reading formats
- discovery: extension
.pdf; - backend:
/conteudowith HEAD/get and range for local file; - frontend: PDF.js legacy and worker packaged by Vite as
.js; - pages: canvas sized to viewport; current/neighboring cache;
- cover: internal/provider or first page via Poppler/pipeline;
- progress: page, total and percentage;
- cleanup: cancels render tasks, clears canvas/cache and destroys document; -limitation: Corrupted/protected PDFs may fail; external sources depend on the source.
ePUB
- discovery:
.epub; - backend: delivers the file, including Range when local file;
- frontend:
epubParser.jsuses JSZip for container, OPF, spine and resources; does not useepubjslibrary; - CAPA: metadata/manifest or fallback generated;
- progress: paginated unit/position of normalized content;
- cleanup: removes temporary URLs/DOM;
- limitation: EPUBs with non-standard features/DRM may not renderfully.
MOBI
- discovery:
.mobi; - backend: reader service/parser provides content, pages and
/recursos/mobi/:recindex; - frontend:
mobiParser.jsnormalizes payload and references; - CAPA: internal record when extractable, then fallbacks;
- progress: page/total;
- limitation: proprietary variants/DRM and malformed MOBI.
Cbz
- discovery:
.cbz; - backend: JSZip creates ordered index and serves
/paginas/:page; - frontend:
comicClient.jsfetches images on demand and keeps Object URLs nearby; - cover: first image;
- progress: image index;
- cleanup: revokes Object URLs.
cbr
- discovery:
.cbr; - backend: UnRAR and 7-Zip fallback for index/page;
- frontend: same comics reader;
- cover: first image;
- limitation: requires compatible tools/file; protected files or unsupported RAR variants fail.
