1.mp4
2.mp4
BookReader is a SwiftUI based iOS/Mac application for reading PDF books. It is designed using MVVM pattern and uses Combine and UIKit to wrap PDFKit and some other GUI elements. The application supports seamless zoom preserving scrolling, invert colors accessibility support, and programming languages syntax highlighting in the PDF books.
BookReader provides a seamless reading experience with zoom preserving scrolling. You can zoom in and out of the PDF book, and the application preserves the position of the page, so you can continue reading where you left off without having to scroll back to the page you were reading.
BookReader provides accessibility support by allowing users to invert colors. Invert Colors is an accessibility feature that makes it easier for users with visual impairments to read the content on the screen. BookReader makes use of the accessibility API in iOS/MacOS to implement this feature.
BookReader supports syntax highlighting for programming languages in PDF books. If you are reading a programming book, BookReader will automatically highlight the syntax to make it easier to read and understand.
BookReader supports plugins, which allow you to extend the functionality of the application. The following plugins are available:
The Gutenberg Library Catalogue plugin allows you to search and download books from the Gutenberg library. The Gutenberg library contains over 60,000 free eBooks, which can be downloaded in various formats, including PDF. With the Gutenberg Library Catalogue plugin, you can easily find and download books from the Gutenberg library and read them in BookReader.
The Fetching Books from Telegram Books plugin allows you to download books from Telegram channels that share books. You can configure the plugin to search for books in specific channels and download them automatically. Once downloaded, the books can be read in BookReader.
The Quran Reading Synchronized with Recitation plugin allows you to read and listen to the Quran at the same time. The plugin synchronizes the recitation with the text, highlighting the current verse being recited. This plugin is especially useful for those who want to learn the Quran and memorize it.
To get started with BookReader, follow the steps below:
- Clone the repository using
git clone https://github.com/darvin/BookReader.git
- Open the project in Xcode
- Build and run the project
Once you have launched BookReader, you can open a PDF book by tapping on the "Open Book" button on the home screen. Once you have selected a book, it will be opened in the PDF reader.
You can use the seamless zoom preserving scrolling feature by pinching the screen to zoom in or out of the book. You can also use the invert colors accessibility support feature by going to Settings > Accessibility > Display & Text Size > Invert Colors.
If you are reading a programming book, BookReader will automatically highlight the syntax to make it easier to read and understand.
To use the plugins, you need to first install them from the Plugin Store. Once installed, you can configure them in the Settings screen.
Contributions to BookReader are welcome! If you find a bug or have a feature request, please open an issue. If you want to contribute code, please open a pull request.
BookReader is released under the MIT License. See LICENSE for details.