Zotero PDF2ZH 插件一键配置与启动脚本使用指南
插件主页
GitHub - guaguastandup/zotero-pdf2zh: PDF2zh for Zotero | Zotero PDF中文翻译插件
windows 直接运行一键脚本
如果没有wget,提前下载wget放在脚本所在目录
GNU Wget 1.21.4 for Windows
最终的目录会像这样:

配置步骤
创建文本文件
保存脚本,新建文本文件,粘贴下面的代码,或者直接保存stream-l.github.io/pdf2zh一键运行脚本.txt
因为直接下脚本文件可能会被报病毒,所以咱先用文本格式保存
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
| @echo off
title Zotero PDF2ZH 一键启动工具
color 0a
:: 适配Windows CMD默认编码,解决中文乱码
chcp 936 > nul 2>&1
setlocal enabledelayedexpansion
:: 定义核心配置(新增 Gitee 下载源)
set "PROJ_NAME=zotero-pdf2zh"
set "GITHUB_ZIP_URL=https://github.com/guaguastandup/zotero-pdf2zh/archive/refs/heads/main.zip"
set "GITEE_ZIP_URL=https://gitee.com/guaguastandup/zotero-pdf2zh/raw/main/server.zip"
set "GITHUB_ZIP_FILE=%PROJ_NAME%-main.zip"
set "GITEE_ZIP_FILE=server.zip"
set "CONDA_ENV_NAME=zotero_pdf2zh_env"
set "UV_VENV_NAME=.venv"
set "LAUNCH_FILE=server.py"
set "WGET_EXE=wget.exe"
set "UNZIP_TOOL=tar.exe"
:: 定义项目核心目录(兼容双下载源的目录结构)
set "PROJDIR=%~dp0%PROJ_NAME%"
set "SERVERDIR=%PROJDIR%\server"
echo =====================================================
echo Zotero PDF2ZH 插件 —— 自动配置与启动脚本
echo =====================================================
echo.
echo 本脚本将自动完成以下操作:
echo 1) 检查当前目录的 Wget 工具(需手动提前放置)
echo 2) 检查 Conda 或 uv 工具(二选一即可)
echo 3) 优先从 GitHub 下载,失败自动切换 Gitee(更快)
echo 4) 对应工具创建/激活环境,安装依赖
echo 5) 按工具类型调用对应命令启动服务
echo.
pause
:: ——— 步骤 1:检查当前目录的 Wget 工具(仅使用本地已放置的) ———
echo [1/7] 检查当前目录的 Wget 工具...
set "WGET_AVAILABLE=0"
set "WGET_PATH=%~dp0%WGET_EXE%"
:: 优先检查当前目录,再检查系统环境
if exist "%WGET_PATH%" (
echo 检测到当前目录存在 Wget 工具
set "WGET_AVAILABLE=1"
) else (
where %WGET_EXE% >nul 2>&1
if %errorlevel% equ 0 (
echo 检测到系统已安装 Wget 工具
set "WGET_AVAILABLE=1"
set "WGET_PATH=%WGET_EXE%"
) else (
echo 错误:未在当前目录找到 %WGET_EXE%,也未检测到系统安装的 Wget!
echo 请将 %WGET_EXE% 手动下载后放置在本脚本同一目录下,再重新运行。
pause
exit /b
)
)
echo Wget 工具验证通过,可正常使用
echo.
:: ——— 步骤 2:检查 Conda 和 uv,确定可用工具(二选一) ———
echo [2/7] 正在检查可用工具(Conda/uv 二选一)...
set "USE_CONDA=0"
set "USE_UV=0"
set "AVAILABLE_TOOL="
:: 检查 Conda(优先使用)
where conda >nul 2>&1
if %errorlevel% equ 0 (
echo 检测到 Conda 工具
set "USE_CONDA=1"
set "AVAILABLE_TOOL=conda"
)
:: 检查 uv(无 Conda 则自动安装)
where uv >nul 2>&1
if %errorlevel% equ 0 (
echo 检测到 uv 工具
set "USE_UV=1"
if not defined AVAILABLE_TOOL (
set "AVAILABLE_TOOL=uv"
)
) else (
if %USE_CONDA% equ 0 (
echo 未检测到任何工具,正在自动安装 uv...
echo 安装来源:https://astral.sh/uv
powershell -Command "irm https://astral.sh/uv/install.ps1 | pwsh" >nul 2>&1
if %errorlevel% neq 0 (
echo 错误:uv 安装失败!请手动安装后重试(文档:https://github.com/astral-sh/uv)
pause
exit /b
)
echo uv 安装成功,刷新环境变量中...
refreshenv >nul 2>&1
set "USE_UV=1"
set "AVAILABLE_TOOL=uv"
)
)
echo 确定可用工具:%AVAILABLE_TOOL%
echo.
:: ——— 步骤 3:双下载源下载项目(GitHub 优先,失败切换 Gitee) ———
echo [3/7] 下载项目文件(优先 GitHub,失败切换 Gitee)...
set "DOWNLOAD_SUCCESS=0"
:: 先清理旧文件/目录,避免冲突
if exist "%GITHUB_ZIP_FILE%" del /f /q "%GITHUB_ZIP_FILE%" >nul 2>&1
if exist "%GITEE_ZIP_FILE%" del /f /q "%GITEE_ZIP_FILE%" >nul 2>&1
if exist "%PROJDIR%" rd /s /q "%PROJDIR%" >nul 2>&1
if exist "%~dp0server" rd /s /q "%~dp0server" >nul 2>&1
:: 第一步:尝试从 GitHub 下载(5 秒超时,无响应直接切换)
echo 正在从 GitHub 下载项目压缩包(5 秒超时)...
:: --timeout=5:设置连接超时 5 秒,--tries=1:仅尝试 1 次,不重试
"%WGET_PATH%" "%GITHUB_ZIP_URL%" -O "%GITHUB_ZIP_FILE%" -q --no-check-certificate --timeout=5 --tries=1
if %errorlevel% equ 0 and exist "%GITHUB_ZIP_FILE%" (
echo GitHub 下载成功,正在解压...
:: 解压 GitHub 压缩包
%UNZIP_TOOL% -xf "%GITHUB_ZIP_FILE%" -C "%~dp0" >nul 2>&1
if %errorlevel% equ 0 (
:: 重命名解压目录,统一项目结构
ren "%~dp0%PROJ_NAME%-main" "%PROJ_NAME%" >nul 2>&1
if %errorlevel% equ 0 (
set "DOWNLOAD_SUCCESS=1"
)
)
:: 清理 GitHub 临时压缩包
del /f /q "%GITHUB_ZIP_FILE%" >nul 2>&1
)
:: 第二步:GitHub 超时/失败,切换到 Gitee 下载(直接获取 server.zip)
if %DOWNLOAD_SUCCESS% equ 0 (
echo GitHub 下载超时/失败,切换到 Gitee 下载...
"%WGET_PATH%" "%GITEE_ZIP_URL%" -O "%GITEE_ZIP_FILE%" -q --no-check-certificate
if %errorlevel% equ 0 and exist "%GITEE_ZIP_FILE%" (
echo Gitee 下载成功,正在解压...
:: 解压 server.zip 到项目目录(保持统一结构)
md "%PROJDIR%" >nul 2>&1
%UNZIP_TOOL% -xf "%GITEE_ZIP_FILE%" -C "%PROJDIR%" >nul 2>&1
if %errorlevel% equ 0 (
set "DOWNLOAD_SUCCESS=1"
)
:: 清理 Gitee 临时压缩包
del /f /q "%GITEE_ZIP_FILE%" >nul 2>&1
)
)
:: 验证下载解压结果
if %DOWNLOAD_SUCCESS% equ 0 (
echo 错误:GitHub 和 Gitee 均下载失败!请检查网络或手动下载 server.zip 放置在脚本目录。
echo Gitee 手动下载地址:%GITEE_ZIP_URL%
pause
exit /b
)
echo 项目下载并解压完成,目录结构验证通过
echo.
:: ——— 步骤 4:进入 server 子目录 ———
echo [4/7] 切换至 server 工作目录...
cd /d "%SERVERDIR%" || (
echo 错误:无法切换至 server 目录
pause
exit /b
)
echo 已切换至:%CD%
echo.
:: ——— 步骤 5:对应工具创建/激活环境 + 安装依赖 ———
echo [5/7] 配置环境并安装依赖(使用 %AVAILABLE_TOOL%)...
:: 分支 1:使用 Conda 环境
if %USE_CONDA% equ 1 (
:: 检查 Conda 环境是否存在
call conda info --envs | findstr /R /C:"^%CONDA_ENV_NAME%$" >nul 2>&1
if %errorlevel% neq 0 (
echo 未检测到 Conda 环境 %CONDA_ENV_NAME%,正在创建(Python 3.10)...
call conda create -y -n %CONDA_ENV_NAME% python=3.10 >nul 2>&1
if %errorlevel% neq 0 (
echo 错误:Conda 环境创建失败
pause
exit /b
)
echo Conda 环境创建成功
) else (
echo Conda 环境 %CONDA_ENV_NAME% 已存在
)
:: 激活 Conda 环境
echo 激活 Conda 环境...
call conda activate %CONDA_ENV_NAME%
if %errorlevel% neq 0 (
echo 错误:Conda 环境激活失败,请关闭窗口重新运行
pause
exit /b
)
:: 安装依赖(清华镜像)
if exist "requirements.txt" (
echo 安装项目依赖(清华镜像加速)...
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip >nul 2>&1
echo Conda 环境依赖安装完成
) else (
echo 警告:未找到 requirements.txt,跳过依赖安装
)
)
:: 分支 2:使用 uv 环境(无 Conda 时)
if %USE_UV% equ 1 (
:: 检查 uv 虚拟环境是否存在
if not exist "%UV_VENV_NAME%" (
echo 未检测到 uv 虚拟环境,正在创建...
uv venv >nul 2>&1
if %errorlevel% neq 0 (
echo 错误:uv 虚拟环境创建失败
pause
exit /b
)
echo uv 虚拟环境创建成功
) else (
echo uv 虚拟环境已存在
)
:: 激活 uv 环境
echo 激活 uv 虚拟环境...
call "%UV_VENV_NAME%\Scripts\activate.bat"
if %errorlevel% neq 0 (
echo 错误:uv 环境激活失败
pause
exit /b
)
:: 安装依赖(清华镜像)
if exist "requirements.txt" (
echo 安装项目依赖(uv 高速安装)...
uv pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple >nul 2>&1
echo uv 环境依赖安装完成
) else (
echo 警告:未找到 requirements.txt,跳过依赖安装
)
)
echo.
:: ——— 步骤 6:按工具类型启动服务 ———
echo [6/7] 启动 Zotero PDF2ZH 服务...
timeout /t 2 >nul
if %USE_CONDA% equ 1 (
python %LAUNCH_FILE% --env_tool=conda
) else (
python %LAUNCH_FILE% --env_tool=uv
)
:: 启动异常判断
if %errorlevel% neq 0 (
echo 错误:服务启动失败!
echo 手动启动命令参考:
if %USE_CONDA% equ 1 (
echo 1. 激活环境:conda activate %CONDA_ENV_NAME%
echo 2. 运行服务:python %LAUNCH_FILE% --env_tool=conda
) else (
echo 1. 激活环境:call %UV_VENV_NAME%\Scripts\activate.bat
echo 2. 运行服务:python %LAUNCH_FILE% --env_tool=uv
)
pause
exit /b
)
:: ——— 步骤 7:运行成功提示 ———
echo.
echo =====================================================
echo 服务已成功启动!(使用工具:%AVAILABLE_TOOL%,下载源:%DOWNLOAD_SOURCE%)
echo 注意:请保持此窗口打开,供 Zotero 插件连接使用
echo 停止服务:按 Ctrl+C 或直接关闭此窗口
echo =====================================================
pause >nul
endlocal
|
文本改脚本
效果如下图,粘贴好后另存为,修改后缀,编码为ANSI


链接到Zotero
如果你想把文件和zotero的东西放一块,可以直接拖到zotero中,如果你的zotero有附件管理工具,就会把脚本移动到zotero的目录里
如果你不想放在zotero的目录中,可以只在zotero中添加一个快捷方式 添加文件链接 选择刚才创建的bat文件

多设备的话甚至可以创建一个条目然后把不同设备的运行脚本都创建链接


运行脚本
这时右键条目>打开文件目录 可以打开所在位置

然后双击运行(如果移动了脚本位置记得wget也要移过去,没有的话下载:GNU Wget 1.21.4 for Windows)
脚本成功运行:
虚拟环境和服务器启动成功:

在zotero中对英文条目右键使用pdf2zh翻译之后:

最终效果
