org-noter更新注释导致pdf损坏

现在习惯使用org-noter阅读pdf书籍,但是在用:w(evil 命令)更新保存注释时偶尔会导致pdf损坏。 具体规律还没找到,仅有一次是:w后emacs提示pdf已经有更新,是否需要覆盖后选择了覆盖,导致pdf损坏。

问题有三个:

  1. :w命令是否必须,有就是加完标注后emacs会不会自动保存更新pdf

  2. 有没有更好的习惯使用org-noter,避免潜在问题?

  3. 假设pdf损坏,但是之前已导出了一些注释(org-noter-pdftools-create-skeleton),能否把导出的注释重新标注到原pdf里?

  1. 会不会自动保存更新pdf取决于你的设置(例如把real-auto-save-mode加入到相关的hook),默认应该是没有的。
  2. 我一般是在emacs pdf中浏览,编辑较少,更多是删除批注,目前还没有发现问题
  3. 不能,org-noter-pdftools-create-skeleton的目标是导出human-readable的注释,创建pdf annot的一些关键信息丢失了。而且pdf annot的类型很多,不同类型的annot创建时需要提供不同的信息,参见Page - PyMuPDF 1.23.20 documentation。兼顾human-readable和machine-readable对于标注来说有些困难,大纲还有可能。我写过一个简单的脚本,yuchen-lea/pdfhelper: Some useful functions to process pdf file,其中 export-annot 是导出human-readable的标注,export-xfdf-annot import-xfdf-annot用于导出导入xfdf格式、machine-readable的标注。xfdf格式的标注也可以用pdf x-change导入

听你这么一说,决定不折腾了,平时多注意pdf备份吧 :grinning: