[新插件] org-noter-plus 提取PDF或EPUB文档的大纲及笔记

背景

作为一个知识工具,MarginNote有很多我欣赏的特点:阅读、笔记、记忆流程的融合,从笔记到文档的回链,等等。但是用了一段时间,还是决定放弃使用。主要是由于它违背了「一切皆文件」和「让多个应用互相协调」的软件哲学,PDF笔记甚至都无法内嵌在PDF文件而只能以其独有的格式保存。

我想,如果能将内嵌的PDF笔记导出,不就可以在PDF Expert中阅读,在org-mode中编辑整理笔记,再结合 OCR with Emacs mathpix.el进行文本和公式识别,利用anki-editor导入到anki,进行巩固复习,简直是完美的知识积淀流程。

这个小工具的目的就是打通阅读和笔记。

介绍

主要功能就一个:在org-noter的文档视窗中执行 org-noter-create-skeleton-list,会在对应的笔记视窗的末尾插入当前文档的大纲列表。

下图展示了完整的PDF工作流(注意,最后的OCR功能不是本插件的功能,而是Org-OCR的功能) pdf-workflow

  • 如果是PDF文档:插入PDF大纲,并在对应大纲位置下插入笔记。
    • 高亮、下划线、波浪线、删除线、文本笔记会导出为文本
    • 矩形笔记会导出为图片
  • 如果是epub文档:插入epub大纲,要求安装nov
    • epub笔记没有内嵌在文件中,因此目前只导出大纲列表

安装与配置

详见 org-noter-plus/README_CN.org at master · yuchen-lea/org-noter-plus

后记

我的第一个package及github项目,欢迎各种建议,包括但不限于:elisp代码、开发规范、帮助文档、项目名称(现在这个名字感觉不太合适,但是取名废想不到好名字😂)

特此感谢 @xuchunyang代码上给予的帮助

18 个赞

很棒的,我得去试试看,我有很多 epub 和 pdf 格式的书,如果可以整合,方便做笔记的话,那就太方便了

欢迎试用,另外,epub无法导出笔记的,因为据我了解,epub笔记并不内嵌在文件,不同阅读器有自己的实现方案

挺好的东西啊,问下需要安装pdf-tools吧

是的,依赖有:

  1. org-noter: 用于定位插入大纲和笔记的位置
  2. pdf-tools: 用于提取pdf大纲和笔记
  3. org-pdftools:打开pdf链接
  4. nov: 用于提取epub大纲,打开nov链接
1 个赞

太感谢了,是我一直想要的东西,但是我有个问题生成的pdf链接我回车为什么显示not match,是还需要特殊的配置吗?

pdf翻页的时候,如果一页不能在一屏显示完,则剩下半页显示时,经常要费力去找剩下的开头在哪(可能因为剩下的不是1/2,所以开头在显示器中间,不是在顶部)。能不能实现在剩下半屏开头划根线提示眼睛?

如果能帮到你,我就非常开心啦。

需要检查是不是已经设置好PDF链接的打开方式:

  1. 确认生成的链接类型,默认是pdf

  2. 查看变量 org-link-parameters,检查pdf是否有对应的打开方式。例如我的配置为 ("pdf" :follow org-pdftools-open :complete org-pdftools-complete-link :store org-pdftools-store-link :export org-pdftools-export :activate-func org-link-beautify)

    这里的:follow org-pdftools-open 就是说pdf链接是用 org-pdftools-open 函数打开。如果您安装了 org-pdftools 应该默认是可以打开的

因为是doom-emacs打包安装的pdf相关工具,我没分清pdf链接功能是哪个package提供的 :joy: 我修改一下文档,依赖除了pdf-tool,还有org-pdftools。感谢您的反馈!

抱歉,我没有完全理解您的意思。

但是根据描述,这个功能如果有,也应该是由pdf-tool实现。pdf-tool是负责在emacs中浏览pdf的工具。而org-noter-plus 的功能很单一,只是提取pdf中的目录和笔记。

@yuchen-lea 我初步尝试了一下,M-x org-noter-plus-create-skeleton-list,没有内容输出 提示"End of file during parsing: …/.emacs.d/…/org-noter-plus.el" 请问可能是什么原因呢?

这个问题也困扰着我,确实有些影响思路

抱歉,最近没上论坛。您更新一下试试?

Hi Yuchen: 更新后简单测试可以用,后续 有时间了再全面学习一下。

BTW,这个功能和org-noter-create-skeleton功能有点像,可否比对一下具体差异优势呢?还有画方框是怎么画的呢?我想要的功能是一些figure或table,圈起来,然后可以一起导出到org里。

谢谢!

我一般是在ipad上阅读pdf,emacs是提取并整理笔记的地方。我不太清楚emacs中是否支持矩形标注(也就是说一些figure或table,圈起来)。这个小工具的目的只是把已经保存在pdf中的笔记提取出来。

与org-noter-create-skeleton功能相比,优势在于:

  1. 可以将矩形标注保存为图片,插入笔记。org-noter只支持高亮、下划线等文本标注类型。
  2. 如果配置好从 pdfhelper 提取,而不是用pdf-tool的接口,还可以实现:
    • 自定义笔记模板
    • 设置PaddleOCR的API地址,自动对图片做OCR处理
    • async,不阻断emacs操作

好好。虽然你介绍的还不太懂,但是我还是蛮兴趣的。需要一段时间去熟悉一下,后面有问题再请教你。谢谢