作为文献大户专业,心理学需要阅读的文献量巨大。但众所周知,CAJViwer 这玩意的响应速度实在不行,而且处理文献十分不便。虽然其内置了导出 PDF 的功能,但是其导出的为没有大纲的纯图片 PDF。

又不是不能用.jpg

好在 Github 上有这样一个项目:caj2pdf

 title=

然而这并不是一个标准的 Python 包,我不能一个 pip install caj2pdf直接开跑,然后我又不会别的了。

行吧,感谢 Eter 雪中送炭(

所以,这是一篇傻瓜式指南,旨在给像我一样没有任何编程基础(其实还是有那么一点点)但是又需要用这玩意的同志提供帮助。


0. 安装 Python

这里就不讲了,参考:Python 3 环境搭建 | 菜鸟教程

1. 下载 caj2pdf

在其 Github 项目页上下载其完整源码。该项目处于持续更新状态,所以其实可以考虑时不时回来更新一下。

在这里下载

下载后解压,记住存放路径备用。

2. 安装 mutool

根据其指引文件,该程序需要 mutool 才能运行,因此前往下载:https://www.mupdf.com/downloads/index.html

 title=

解压之后,记住存放路径备用。

3. 安装 PyPDF2

打开命令行,输入:

pip3 install PyPDF2

如果你 Python 装得没问题的话,这一步应该会成功。

4. 设置环境变量

根据指南,需要把 mutool 设置为 Python 运行的环境变量,以便程序调用。

右键“此电脑”——属性——高级系统设置——环境变量,编辑如下键值:

系统变量里叫Path的这个

点击编辑,出现如下界面,点击新建,将 mutool 的路径填进去。

填写好大概是这样

5. 程序理论上能跑了

打开命令行(CMD),cd 到你解压 caj2pdf的目录,然后运行:

# 转换文件
python caj2pdf convert [CAJ文件的完整目录(包含输入文件名)] -o [你准备输出文件的目录(包含输出文件名)]
# 从 CAJ 文件中提取大纲信息并添加至 PDF 文件
## 遇到不支持的文件类型或 Bug 时,可用 CAJViewer 打印 PDF 文件,并用这条命令为其添加大纲
python caj2pdf outlines [CAJ文件的完整目录(包含输入文件名)] -o [你准备输出文件的目录(包含输出文件名)]

拿我自己的举个例子:

python caj2pdf convert D:\Documents\BNU\文献\中英字幕对中国英语专业大学生附带词汇习得影响的实证研究_马超.caj -o D:\Documents\BNU\文献\中英字幕对中国英语专业大学生附带词汇习得影响的实证研究_马超.pdf
python caj2pdf outlines D:\Documents\BNU\文献\中英字幕对中国英语专业大学生附带词汇习得影响的实证研究_马超.caj -o D:\Documents\BNU\文献\中英字幕对中国英语专业大学生附带词汇习得影响的实证研究_马超.pdf

一切正常的话,你的文件已经输出了。

 title=

6. 善后

这个运行方式说实话非常不优雅,显然不是为外行设计的(

原计划自己写个批处理,但是我 CMD 语法早八百年忘干净了,正在我重新捡起来的过程中 Eter 给我发来了一段代码:

这段代码有 bug,我不会修,不是很好用,大家还是自己手动算了(
@echo off

for /f tokens^=* %%i in ('where .:*.caj') do python [替换成caj2pdf路径] convert ^%%~dpi^%%~nxi -o %%~dpi^converted^\^%%~ni^.pdf
for /f tokens^=* %%i in ('where .:*.caj') do python [替换成caj2pdf路径] outlines ^%%~dpi^%%~nxi -o %%~dpi^converted^\^%%~ni^.pdf

把路径填进去,保存成一个 .bat文件,然后把这个脚本放进你有 CAJ 文件的目录里运行,高效快捷全自动。就是其实也不是很优雅(

但是我水平就到这了(

后记

原作者本人表示,该软件仍然无法处理全部的 CAJ 文件,但是应付日常应该是够用了。

总之就是这样,也没什么技术含量也没什么别的,纯属帮帮像我这种小白(

DDL 越多越想摸鱼,十篇文献摘要还没写,然后我花了半个小时写了个这个,溜了(

最后修改:2022 年 04 月 13 日
虽然点赞什么的确实没什么意义但是也可以点一个再走呗?(