打造 web 版阅读器

Web 版阅读器设计

项目

端午给自己的礼物,Web 版 pdf 阅读器

实现功能

  1. 书架展示
  2. 书架的管理
    • 添加
    • 删除
  3. 管理员权限
  4. 书籍的阅读
    • 前后翻页
    • 笔记功能

技术选型

大体设计

1、所有的展示功能不做权限控制,所有的用户都可以看见
2、书籍管理功能做权限控制,具备登录登录能力,登录后每次,将 用户名和密码 md5 写入 cookie,每一次请求都将 cookie 带上
3、后端解析 pdf 得到页面和 当前内容(文字 表格 图片),下发给前端做页面展示
4、笔记只支持页面级别的记录,减小开发难度

表结构和相关接口

数据表

# 用户表
create table user {
id int ,
name ,
passwd,
avater, 
ctime,
mtime,    
}
#笔记表
create table note {
id 
userid
book
content
image
ctime,
mtime, 
 
}
#  
create table book {
name
up_user_name
filepath
pathtype 
ctime
mtime
}

接口

书籍上传接口

Method : POST
path : /book/update
body:
    user_name  : {string}
    book   :  file
resp:
   {
       "errno":0,
       "msg":""
   }

书籍列表接口

Method :GET
path : /book/list?start={int}&sum={int}
resp :
   {
      "errno":0,
      "errmg":""
       "data":[
                {
                   "name":"",
                   "image":"",
                   "id":"",

                  },
                ]
  
}

阅读接口

Method : GET
 /book/get?book_id={int}&page={int}
resp :
     {
       "errno":0,
       "msg":"",
        "data":{
          "content":"",
          "hasnote": true/false,
          "note":""
       }
   }

笔记上传接口

/note/update?

quest

{
    "bookid":{int},
     "content":"",
}
  {
       "errno":0,
       "msg":""
   }

风险点

1、 个人项目,权限这块破解程度比较容易
2、请求实时解析 pdf,性能有较大有影响,如果接入流量过大,可以预处理好 pdf

  • Web
    104 引用 • 412 回帖 • 8 关注

赞助商 我要投放

1 回帖
请输入回帖内容 ...
  • Vanessa

    这个应该是个在线 PDF 转 HTML。一开始理解为把 HTML 转为 PDF,然后在线阅读。总觉得哪里怪怪的(PDF 可以直接调用浏览器功能生成,为什么还要做呢?)

    PDF 转成 HTML 的话,如果 PDF 中的文字都是图片形式存在的话,是可以识别为文字,还是很暴力的将其直接输出为图片?我记得很早以前用过一个转换软件就是把带文字的图片转换成一张图片。