目前的本地的 PDF 阅读器不能满足自己阅读英文 PDF 时,“划词选中英文单词并添加该单词和单词所在的句子到 anki”并生成卡片的需求,所以准备自己开发一个 PDF 阅读器,顺便锻炼自己的开发能力。
楼主准研二,本科学机械的,只会一点 C++和 python ,Java 会非常小的一点,毕设的时候写了一点 Qt ,不懂前端,C#。
楼主码力很弱,基本只用 keil 写过嵌入式的项目和刷 leetcode 写单独的 cpp 文件,没有单独开发过这种项目,所以还请各位指点一下技术路线,或者有什么推荐的开源项目可以参考吗?
1
noe132 2022-07-06 21:02:53 +08:00 via Android 1
给个思路
用 pdfjs 做二次开发会相对比较简单 |
2
8bryo4p5qn758Dmv 2022-07-06 21:07:19 +08:00
macOS 右键菜单有个 services 列表,可以自己开发功能
|
3
zwyyy456 OP @noe132 好的,我去研究一下,因为之前用过 Firefox 自带的 pdf.js 看 PDF ,效果不好,所以自己开发时就没想到这个
|
4
singerll 2022-07-06 21:24:42 +08:00 via Android
exec “adobe pdf”
|
5
SorryChen 2022-07-06 21:28:14 +08:00
感觉如果码力欠缺还是研究研究绕一步,如果用 raycast utools 这种类似工具的话,写对应的插件比较好。PDF.js 体验属实不太好。PDF 阅读器市面上一票票公司写出来的,体验都不咋地,更不用说咱自己从头捣鼓了是不是。
|
6
darklights 2022-07-06 21:30:13 +08:00
PDFium
不过我觉得做个 chrome 扩展更为现实。 |
7
kkocdko 2022-07-06 21:57:53 +08:00
用 PDF.js 应该是最方便的了,稍微学点 JS 就行。
我用它弄了一个自用的小 Demo ,可以自动检测并隐藏 PDF 页面边距(宽边距很浪费屏幕空间)。思路是检测页面的 TextLayer 位置。 注意不要手动用 PDF.js 的 API 去渲染,只要拿它给的 PDF Viewer 修改下就行了,省事。 |
8
jorneyr 2022-07-06 23:32:15 +08:00
OCR 截图识别文本,然后在鼠标出弹出操作菜单,不需要去识别 PDF ,只与界面上的文本相关,这样难度会降低很多。
|
9
greatghoul 2022-07-07 09:41:20 +08:00
你是不是在找这个扩展?
Anki Quick Adder - Chrome Web Store - https://chrome.google.com/webstore/detail/anki-quick-adder/gpbcbbajoagdgnokieocaplbhkiidmmb/related?utm_source=chrome-ntp-icon |
10
zwyyy456 OP @greatghoul 如果只是 anki 扩展的话,online dictionary helper 更好用,只是用浏览器看本地 PDF 效果很糟糕
|
11
SeanTheSheep 2022-07-07 10:06:05 +08:00
“划词选中英文单词并添加该单词和单词所在的句子到 anki”并生成卡片的需求。听上去不是太难,你需要自动添加到 windows 端的 anki 吗?我竟然有点想试试(我有点 C#经验)
|
12
SeanTheSheep 2022-07-07 10:15:16 +08:00
OP 如果码力不太行我不建议上来就搞双平台,当然坚持双平台 Electron 一把梭好像也没毛病。如果单走一个 win, 你可以试试 winform 快速写一个 demo, 看看能不能正常跑通功能。还有就是如果你双平台都需要支持自动导入到 anki ,你需要确认 win 和 mac 两边不同版本的 anki 功能的实现方式是不是不一样,如果一样还好说,如果不一样那你的实现也大概率需要写两遍。
|
13
zwyyy456 OP @SeanTheSheep 目前是打算用 Qt+pdf.js 写来着,双平台倒不是算必须,严格来说 mac 优先级可能还高一点,功能的话其实就是参照 chrome 上的"online dictionary helper"这个扩展;不过你说的对,确实应该先弄好单独一个平台再考虑跨平台的事情。
|
14
SpecterShell 2022-07-07 22:39:28 +08:00
沙拉查词,既有 PDF 阅读器也有 Anki Connect 。
用 Qt 的话,可以看看 MuPDF 。 |
15
Daiwf 2022-07-08 17:38:24 +08:00
如果打算从头撸一个也太难了吧。。你看下 pdf 结构的描述文档。直接就劝退你了。还是用 pdf.js 二次开发比较靠谱
|
16
yqf0215 2022-07-08 23:27:34 +08:00
好奇楼主最后采用的技术
|
17
oreoiot 2022-08-04 08:45:03 +08:00 via iPhone
插眼。目前在用 marginnote
|
18
clemente 230 天前
还在开发吗~
|