iOS基于CoreText實現的電子書閱讀器

之前寫小說類相關的應用,需要電子書閱讀器,在網上找了很久,覺得還是https://github.com/GGGHub/Reader 同學的最好用,所以就拿這個用了。
不過后來發現里面的書簽,筆記的定位功能,以及字體變化等功能有點問題,造成閱讀者的不愉快,所以特意Fork了一個版本做了相應的修改,大家如果有類似的問題,可以試試我修改后的版本,在這里
https://github.com/Inspirelife96/Reader

如果大家有更好的閱讀器,請推薦給我,萬份感謝:)

Reader


基于Core Text實現的iOS客戶端的電子書閱讀器。</br>
支持ePub與text格式


2016.10.02 更新 (我做的修改)

針對text小說的bug fix。

  1. 當字體變化時,小說有時候不會自動調整界面。
  2. 當字體變化時,還有小說的書簽,筆記定位不準確,甚至程序崩潰。3.

大概思路:

  1. 當字體變化時,所有小說的章節都會基于新的字體重新調整,分頁等。
  2. 記錄筆記/書簽文字開始位置的在整個章節中的下標位置,筆記/書簽定位時,基于當前的字體分頁,看當前的下標位置是否坐落在哪一頁中,然后跳轉到那一頁。

2016.06.16 更新 (以下都是LiSiYuan寫的,非常好的庫,我自認為沒有他的水平,大家可以好好學習)

添加對ePub格式的支持


部分功能實現效果

Paste_Image.png

關于Reader</br>

  1. 可以自動提取章節并生成目錄
  2. 選取一段文字可進行復制,做筆記等功能
  3. 保存閱讀進度,即使退出應用也可以繼續之前的閱讀
  4. 更改字體大小,進度跳轉,主題更換等功能
  5. 支持txtePub格式的電子書文件

安裝與使用

安裝

  1. Reader目錄下的所有文件都添加到工程中</br>
  2. 由于解壓ePub文件,需要用到開源的.c文件用于解壓縮。所以使用時如果項目中有.pch文件參考本項目中.pch文件寫法</br>
#ifdef __OBJC__
//在.pch中這里寫引用的.h文件與宏
#endif

3.需要導入libz.tbd

使用

text文件</br>

   LSYReadPageViewController *pageView = [[LSYReadPageViewController alloc] init];
    NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@"mdjyml"withExtension:@"txt"];
    pageView.resourceURL = fileURL;    //文件位置
    pageView.model = [LSYReadModel getLocalModelWithURL:fileURL];  //閱讀模型
    [self presentViewController:pageView animated:YES completion:nil];

ePub文件</br>

   LSYReadPageViewController *pageView = [[LSYReadPageViewController alloc] init];
    NSURL *fileURL = [[NSBundle mainBundle] URLForResource:@"細說明朝"withExtension:@"epub"];
    pageView.resourceURL = fileURL;    //文件位置
    pageView.model = [LSYReadModel getLocalModelWithURL:fileURL];  //閱讀模型
    [self presentViewController:pageView animated:YES completion:nil];

提示

之前安裝過的下載最新版,應把之前安裝的卸載后再安裝

說明

對于有圖片和定制樣式的epub文件只顯示純文本信息,因為對epub每個章節的html文件直接轉成字符串來處理,css樣式與epub自帶的本地圖片沒有做處理。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容