8.3K Star,这才是我们苦苦寻找的PDF阅读器。。。

news2025/1/16 1:02:21

程序员宝藏库:https://gitee.com/sharetech_lee/CS-Books-Store

无论是在大学期间,还是工作之后都很难绕开PDF软件。

比如看个论文、课件、演示文档…经常会用到PDF。

大学期间我是一个特别爱折腾各种各样电子产品、数码、软件、操作系统,曾经就因为选择PDF软件的问题折腾了好久,Adobe Reader、福昕PDF阅读器、熊猫PDF等等,要么是软件太臃肿,要么是功能不够全面,要么是软件内置弹窗广告,因为诸多原因,一直都没有遇到一款十分称心如意的PDF软件。

毕业之后PDF使用的频率相对少了一些,而且没有太多功夫折腾了,也就没再纠结这些。

但是,我还是养成了一个习惯,每天会花费一定的时间浏览GitHub或者工具网站,挖掘一些好用优质的开源项目和软件。

最近我在浏览GitHub时就发现了 一款非常不错的PDF阅读器,今天就来分享给大家!

这款开源软件的名字叫「Koodo Reader」,目前在GitHub上已经8.3K+ Star。

img

这款软件是用JavaScript和TypeScript实现,开源、免费,从这两方面来说就已经打败很多体验一般却还要收费的PDF软件了。

除此之外,它还有很多值得一提的优点。

概括一下主要有几点:

  • 支持格式丰富
  • PDF管理
  • 支持自定义
  • 文档备份
  • 跨平台

首先说一下支持格式丰富,Koodo Reader支持下列文档格式:

  • EPUB (.epub)
  • 扫描文档 (.pdf, .djvu)
  • Kindle (.azw3, .mobi)
  • 纯文本 (.txt)
  • 漫画 (.cbr, .cbz, .cbt)
  • 富文本 (.md, .docx, .rtf)
  • FB2 (.fb2)
  • 超文本 (.html, .xml, .xhtml, .htm)

可以看的出来,它不仅支持PDF、txt这些常见的文档格式,还支持Word(docx)、markdown,epub、Kindle、超文本。

所以 ,它不仅可以用于阅读PDF文档,还可以阅读富文本、漫画、电子书等类型。

换句话说,它不单出是一款PDF阅读器,而是一款综合阅读器。

在PDF管理方面,它支持目录、书签、笔记、高亮、书架、标签、批量导入图书等围绕文档管理的实用功能,在阅读过程中能够提供丰富的支撑。

在自定义和个性化方面,首先,它支持自定义字体,字体大小,行间距,段落间距,阅读背景色,文字颜色,屏幕亮度,文字下划线、斜体、文字阴影、字体粗细。其次,在主题方面,支持黑夜模式和主题色设置。更重要的是,支持自定义源文件夹,利用 OneDrive、百度网盘、iCloud、Dropbox 等进行多设备同步。

在文档备份方面,原生的支持备份数据到 Dropbox 和 Webdav,除此之外,还有前面提到的支持自定义源文件夹,可以用OneDrive、百度网盘、iCloud、Dropbox 等进行多设备同步。

最后就是跨平台,这应该是很多同学比较关注的,这么好用的阅读器,我电脑上能用吗?

Koodo Reader支持Windows、macOS、Linux和网页版,前面3种主流操作系统不用多说,重点是它支持网页版,这样它就不受操作系统限制,也就是说,哪怕在Android、iOS这些手机设备上也可以用。

除了这些,它还有双叶模式、滚动模式、单页模式、听书功能、翻译功能等比较新颖的功能,也能满足一部分用户的个性化需求。

传送门:

https://github.com/troyeguo/koodo-reader

https://koodo.960960.xyz/zh

建议大家有空可以多浏览Github,有很多好用的开源免费工具。但是,目前Github上项目多如牛毛,而且刷榜现在也非常严重,想要找到优质的项目变得越来越难。这里,给大家推荐Github上一个非常不错的项目《DevWeekly》,这个项目每周都会精挑细选一些优质的开源项目,涵盖C++、JAVA、JavaScript、Python、Go等不同编程语言。此外,还有一些开源工具、优秀的技术文章,建议大家看一下:

https://gitee.com/sharetech_lee/DevWeekly

hello,大家好,我是Jackpop,重点大学本科毕业后保送到哈工大计算数学专业读研,有多年国内头部互联网、IT公司工作经验,先后从事过计算机视觉、推荐系统、后端、数据等相关工作。如果同学们在升学考研、职业规划、高考志愿、简历优化、技术学习等方面有困惑,欢迎大家前来咨询!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/145340.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

囿于数据少?泛化性差?PaddleDetection少样本迁移学习助你一键突围!

目标检测是非常基础和重要的计算机视觉任务,在各行业有非常广泛的应用。然而,在很多领域的实际落地过程中,由于样本稀缺、标注成本高或业务冷启动等困难,难以训练出可靠的模型。 在目标检测这类较为复杂的学习任务上,样…

2023年跨境电商依然是风口,如何做好跨境电商

2023年1月1日,《区域全面经济伙伴关系协定》(RCEP)正式签署生效一周年,(rcep)于2023年1月2日起,RCEP对印度尼西亚正式生效,至此,我国已与其他14个rcep成员中的13个相互实施协定。这预示着,东南亚市场必将成…

下拉控件无法选中

本文迁移自本人网易博客,写于2012年1月9日,二维多段线绘制 - lysygyy的日志 - 网易博客 (163.com)做符号化过程中,一开始发现控件下拉后导致死机,原来是资源切换的问题,使用CAcModuleResourceOverride resOverride;即可…

Cadence PCB仿真使用Allegro PCB SI配置电压地网络电压的方法图文教程

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 目录 1,概述2,配置方法3,总结1,概述 本文简单介绍使用Allegro PCB SI软件配置电压地网络电压的方法。 2,配置方法 第1步:打开待仿真的PCB文件,并确认软件为Allegro PCB SI 如果,打开软件不是Allegro PCB SI则可这样…

C++连接mysql数据库并读取数据

1、需要包含mysql API的头文件 如果需要连接都本地的mysql数据库&#xff0c;前提是本地要已经安装了mysql数据库。这里要用到一些mysql的API&#xff0c;比如连接数据库、执行查询语句等操作&#xff0c;这些接口都包含在下面的头文件中&#xff1a; #include <mysql/mys…

kubernetes部署nacos集群(防坑)

kubernetes部署nacos集群&#xff08;防坑&#xff09; 官方nacos集群yaml文档参考&#xff1a; https://github.com/nacos-group/nacos-k8s.git 一、nacos 概览 Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集&#xff0c;帮助您快速实现动态…

VUE3中,使用Axios

axios是前后端数据交互的重要桥梁&#xff0c;理论和概念这里不再叙述了。可以看看官网。 axios中文文档|axios中文网 | axios 本例子&#xff0c;从简单到难。 目录 一、简单的使用 二、查询数据时出现等待窗体 一、简单的使用 1.废话少说&#xff0c;先使用HBuilder X建…

【测试】软件测试基本概念

努力经营当下&#xff0c;直至未来明朗&#xff01; 文章目录1. 什么是需求2.什么是测试用例&#xff1f;3. 软件错误Bug的概念:sparkles:小结普通小孩也要热爱生活&#xff01; 1. 什么是需求 【注】一旦提及“区别”&#xff0c;一定要回答 相同点不同点。 在企业中&#x…

算法刷题打卡第57天:合并两个有序链表

合并两个有序链表 难度&#xff1a;简单 将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1&#xff1a; 输入&#xff1a;l1 [1,2,4], l2 [1,3,4] 输出&#xff1a;[1,1,2,3,4,4]示例 2&#xff1a; 输入&#x…

liunx中搭建python3.7环境和安装pycharm并搭建Django

首先第一步我们先安装python3.7的环境在liunx中&#xff0c;先去下面这个网站然后找到Gzipped source tarball https://www.python.org/downloads/release/python-377/ 下拉到最底下选择它然后下载 如果python中已经安装就跳过这一步 用python --version 检查后如果已经装好pyt…

【2022年终总结】期待下一个365天

2022结束啦&#xff01;&#xff01;&#xff01;日出万物生&#xff0c;日落满天星&#xff0c;期待下一个365天&#xff01;&#xff01;&#xff01; 不知不觉在CSDN断断续续写文章已经四个月了&#xff0c;回想这段日子&#xff0c;还是很有必要纪念一下的&#xff0c;本期…

ArcGIS基础实验操作100例--实验61数据框投影变换

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书 实验平台&#xff1a;ArcGIS 10.6 实验数据&#xff1a;请访问实验1&#xff08;传送门&#xff09; 高级编辑篇--实验61 数据框投影变换 目录 一、实验背景 二、实验数据 三、实验步骤 &#xff08;1&am…

JavaScript 模块化 —— 从概念到原理

走过路过发现 bug 请指出&#xff0c;拯救一个辣鸡&#xff08;但很帅&#xff09;的少年就靠您啦&#xff01;&#xff01;&#xff01; 1. 为什么需要 Javascipt 模块化&#xff1f; 1.解决命名冲突。将所有变量都挂载在到全局 global 会引用命名冲突的问题。模块化可以把变…

人工智能与python

人工智能的话题在近几年可谓是相当火热&#xff0c;前几天看快本时其中有一个环节就是关于人工智能的&#xff0c;智能家电、智能机器人、智能工具等等&#xff0c;在我的印象里&#xff0c;提到人工智能就会出现 Python&#xff0c;然后我便在网上查找了相关信息&#xff0c;并…

(第三章)OpenGL超级宝典学习:认识渲染管线

OpGL超级宝典学习&#xff1a;认识渲染管线 前言 本章作为OpenGL学习的第三章节 在本章节我们将认识OpenGL的渲染管线 对管线内各个过程有一个初步的认识 ★提高阅读体验★ &#x1f449; ♠一级标题 &#x1f448; &#x1f449; ♥二级标题 &#x1f448; &#x1…

【KG】TransE 及其实现

原文&#xff1a;https://yubincloud.github.io/notebook/pages/paper/kg/TransE/ TransE 及其实现 1. What is TransE? TransE (Translating Embedding), an energy-based model for learning low-dimensional embeddings of entities. 核心思想&#xff1a;将 relationship …

基于R的Bilibili视频数据建模及分析——建模-因子分析篇

基于R的Bilibili视频数据建模及分析——建模-因子分析篇 文章目录基于R的Bilibili视频数据建模及分析——建模-因子分析篇0、写在前面1、数据分析1.1 建模-因子分析1.2 对数线性模型1.3 主成分分析1.4 因子分析1.5 多维标度法2、参考资料0、写在前面 实验环境 Python版本&#…

防火墙命令

启动&#xff1a; systemctl start firewalld 查看状态&#xff1a; systemctl status firewalld 停止&#xff1a;systemctl stop firewalld 禁用&#xff1a;systemctl disable firewalld 怎么开启一个端口呢 添加 firewall-cmd --zonepublic --add-port80/tcp --permanent …

easyx保姆级教程---->从游戏玩家到游戏制作者

请点击这里&#xff1a;安装教程 1.头文件 #include<easyx.h> //这个是只包含最新的API(函数接口) #include<graphics.h> //这个头文件包含了上面的&#xff0c;还包含了已经不推荐使用的函数2.窗口 1.初始化绘制窗口 initgraph(width,height,flag); //窗…

Domino Web应用中的搜索功能和结果选择问题

大家好&#xff0c;才是真的好。 还有不到十天Domino多瑙河版本就将发布&#xff0c;在此之前&#xff0c;我们还是讲述一下Web中的搜索技术。 废话不多说&#xff0c;我们直接上干货。 Notes应用的视图在Web浏览器中可以直接展现&#xff0c;并且可选择。 如果这样展现的话…