flutter_epub_viewer_kit 0.1.3 copy "flutter_epub_viewer_kit: ^0.1.3" to clipboard
flutter_epub_viewer_kit: ^0.1.3 copied to clipboard

A customizable EPUB reader widget for Flutter. Supports iOS, Android, and Web platforms with features like pagination, scrolling, bookmarks, and customizable themes.

0.1.3 #

Bug Fixes #

  • Fix content failing to load for EPUBs with a sparse or incomplete toc.ncx (common with Calibre-generated files) — reader now falls back to the spine, which is the authoritative reading order per the EPUB spec, so books where NCX only references the title page now render all content

New Features #

  • Skip the cover/title page from the reading flow — detects cover via <guide type="cover">, EPUB 3 properties="cover-image", and EPUB 2 <meta name="cover"> so the reader opens on actual content instead of the cover image

0.1.2 #

New Features #

  • Add progressBarColor parameter to customize the reading progress bar color

0.1.1 #

Bug Fixes #

  • Fix page content changing when toggling top/bottom bars — reader now uses stable viewport constraints regardless of bar visibility, preventing unnecessary repagination

New Features #

  • Add reading progress bar at the top of the screen when bars are hidden (2px thin indicator)
  • Top/bottom bars now render as overlays instead of resizing the reader content area (iBooks/Kindle-style UX)

0.1.0 #

Bug Fixes #

  • Fix pagination freeze — _isPaginating flag now resets on cancelled pagination runs, preventing permanent loading screen
  • Fix paragraph index gaps in EPUBs with multi-row tables, which caused scroll-mode page tracking errors
  • Fix settings panel overflow on small screens — Color Theme, Font Family, View Mode selectors now use Wrap/Column layout
  • Fix _buildControlRow label overflow with long localized strings — label now uses Flexible with ellipsis
  • Fix onSettingsChanged callback firing on every scroll/page turn — now only fires on actual settings changes
  • Fix content area wasting 56px when bottom bar is hidden — layout now adapts dynamically to bar visibility
  • Fix Bookmark.copyWith unable to clear nullable title/excerpt fields — uses sentinel pattern

New Features #

  • Support swapping EPUB source without recreating the widget (didUpdateWidget)
  • Add ==/hashCode to ReaderSettings, EpubSource subclasses, and Bookmark.copyWith sentinel support

Performance #

  • Parallelize settings storage load and EPUB parsing on startup (previously sequential)
  • Eliminate redundant setSettings calls on every scroll tick

Internal #

  • Extract _buildSection helper in settings panel to reduce layout duplication
  • Unify duplicated table-splitting logic into single loop in _loadBookContent

0.0.9 #

  • Add multi-language localization support with EpubReaderLocalization
  • Built-in translations for 11 languages: Korean (default), English, Chinese (Simplified), Hindi, Spanish, Arabic, French, Portuguese, Russian, Japanese, German
  • All UI strings (settings panel labels, error messages) are fully localizable
  • Custom translations supported via constructor with Korean defaults for backwards compatibility
  • Fix fontSansSerif English value from 'Gothic' to 'Sans-serif'
  • Fix non-EpubLoadException errors displaying raw e.toString() instead of localized unknown error message
  • Localize Noto Sans font button label via fontNotoSans field for consistency
  • Change ColorTheme.name values from Korean to English

0.0.8 #

  • Fix images not rendering in EPUB files — image-only elements (e.g. <img> directly in <body>) were misclassified as spacing and silently dropped
  • Fix getElementsByTagName not matching when the element itself is the <img> tag — now also checks element.localName
  • Fix image paragraphs being filtered out due to empty plainTextrichContent type now bypasses text-based filtering
  • Fix pagination for image-heavy EPUBs — each image paragraph is allocated a full page instead of near-zero height
  • Add blockTags support for img, image, svg in _splitIntoBlockElements
  • Wrap standalone <img> elements in <div> for correct flutter_html TagExtension handling
  • Improve EPUB image path resolution with filename-based and case-insensitive fallback matching

0.0.7 #

  • Fix pagination density: pages no longer show only 1-2 lines or half-empty content
  • Add _ParagraphType classification (plainText, dialogue, richContent, spacing) for accurate per-type measurement and rendering
  • Fix dialogue table rendering: measure and render with matching two-column layout (name + text)
  • Fix requiresRichContent always being true — plain text paragraphs now use Text widget instead of Html
  • Preserve spacing paragraphs (&#160;) for proper section gaps
  • Split multi-row dialogue tables into individual paragraph items
  • Reduce safe margin from 2x to 1x line height for better page utilization
  • Remove unsupported platform files (linux, macos, windows) from example app

0.0.6 #

  • Add comprehensive example app with feature configuration screen
  • Add page/scroll mode toggle to settings panel
  • Example app demonstrates all widget features: source types, watermark, max pages, persistence, resume position, custom bars, initial bookmarks

0.0.5 #

  • Remove flutter_riverpod dependency to prevent version conflicts with user apps
  • Replace Riverpod with Flutter's built-in ChangeNotifier for internal state management
  • Remove unused bookmarks_provider.dart

0.0.3 #

  • Remove unused platform runners (linux, macos, windows)
  • Update README for pub.dev installation

0.0.2 #

  • Initial release
  • EPUB reader widget with pagination and scroll modes
  • Customizable themes and fonts
  • Bookmark management
  • Settings persistence
  • Support for iOS, Android, and Web platforms
5
likes
150
points
62
downloads

Documentation

API reference

Publisher

verified publisherpbbz.co.kr

Weekly Downloads

A customizable EPUB reader widget for Flutter. Supports iOS, Android, and Web platforms with features like pagination, scrolling, bookmarks, and customizable themes.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

epub_view, epubx, flutter, flutter_html, google_fonts, html, http, scrollable_positioned_list, shared_preferences

More

Packages that depend on flutter_epub_viewer_kit