找到
3
篇与
Python
相关的结果
-
【Zotero-pdf2zh】快速搞定 PDF 翻译,完美保留原文格式 引言 在学术研究中,阅读外文文献是常态,而一款能在翻译时保留原文格式的工具则至关重要。PDFMathTranslate Next 借助 BabelDOC 翻译引擎,能轻松实现“结构保持 + 双语对照”的精准翻译,是处理科研文献的理想选择。 目前,Zotero + PDF2zh/PDF2zh_next 的组合已成为一条活跃且广受好评的实现路径。Zotero-pdf2zh 插件现已更新到更为简洁易用的 3.x 版本。接下来,本教程将引导你完成配置,并详细演示如何通过 Python和 Docker 这两种方式来部署翻译服务。 若您只想使用 pdf2zh_next 不使用zotero插件,可参考这篇教程:【PDF2zh 2.0】三种部署指南与 Zotero 插件配置 - 她笑中藏泪花 若觉得 Python 部署有难度,可直接看下方 Docker 方案; 若仍嫌麻烦,建议试用 沉浸式翻译 BabelDOC 登陆账号 拖入文件 开始翻译 项目资源链接: Zotero - PDF2zh 插件:guaguastandup/zotero-pdf2zh PDF2zh_next:PDFMathTranslate/PDFMathTranslate-next 强烈建议该博文配视频一起看【Zotero-pdf2zh】快速搞定 PDF 翻译,完美保留原文格式_哔哩哔哩_bilibili 环境依赖 Python下载链接 建议安装 Python 3.12。 个人安装教程(仅需安装Python即可,不用安装pycharm):python和pycharm的下载和安装以及新建项目 插件目前支持 Zotero 7 桌面端,Zotero 8 待适配。Zotero官网下载链接 Docker(可选):您可以从 Docker 官网 下载。 个人安装教程:【Docker】告别环境配置噩梦:从零到一的安装指南 模型服务(OpenAI 兼容):您需要一个大语言模型的 API Key 和 Base URL。 Zotero 插件下载: zotero-pdf2zh:前往GitHub Releases 下载 .xpi(v3.x.x)在 Zotero 中 “工具 → 插件” 将 .xpi 拖入安装,必要时重启 Zotero;若未生效请重启 Zotero。 Part 1:Python部署 第一步: 安装uv # 方法一(可选):用 pip 安装 uv pip install uv # 方法二(推荐):使用官方独立安装脚本 # macOS / Linux(任选其一) curl -LsSf https://astral.sh/uv/install.sh | sh # 或 wget -qO- https://astral.sh/uv/install.sh | sh # Windows(PowerShell) powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"检查uv安装是否成功(必做): uv --version若检查失败,多半是 PATH 未生效。将 uv 的安装目录加入 PATH 后重启终端: # Windows PowerShell $env:Path = "$env:USERPROFILE\.local\bin;$env:Path" # macOS / Linux export PATH="$HOME/.local/bin:$PATH"第二步: 下载并解压项目文件 Windows(CMD) # 1. 创建并进入zotero-pdf2zh文件夹 mkdir zotero-pdf2zh && cd zotero-pdf2zh # 2. 下载并解压server文件夹 # 如果server.zip下载失败, 可以直接访问: https://raw.githubusercontent.com/guaguastandup/zotero-pdf2zh/main/server.zip 手动下载 curl -L -o server.zip https://raw.githubusercontent.com/guaguastandup/zotero-pdf2zh/main/server.zip REM 解压(任选一种;如命令行解压失败,可在资源管理器中右键解压到当前目录) powershell -Command "Expand-Archive -Path '.\server.zip' -DestinationPath '.' -Force" REM 或者(如果 tar 可用) REM tar -xf server.zip # 3. 进入server文件夹 cd serverMac/Linux # 1. 创建并进入zotero-pdf2zh文件夹 mkdir zotero-pdf2zh && cd zotero-pdf2zh # 2. 下载并解压server文件夹 # 如果server.zip下载失败, 可以直接访问: https://raw.githubusercontent.com/guaguastandup/zotero-pdf2zh/main/server.zip 手动下载 curl -L -o server.zip https://raw.githubusercontent.com/guaguastandup/zotero-pdf2zh/main/server.zip # 解压(任选其一) unzip -o docker.zip -d . # 或(若系统支持 bsdtar 解压 zip) # tar -xf docker.zip # 3. 进入server文件夹 cd server解压后的server目录包括: server.py requirements.txt config/ translated/ doc/ utils/第三步: 安装依赖并启动服务 先做这两件事(降低失败率) 1)确认命令行能访问 Python/uv/conda 之一(python -V / uv --version / conda -V)。 2)若在国内网络,先测试镜像可达性(应返回 pip 的版本清单): pip index versions pip -i https://mirrors.ustc.edu.cn/pypi/simple1进入 server 目录后安装依赖: pip install -r requirements.txt # 若网络受限,可临时使用镜像(示例为中科大源): # pip install -r requirements.txt -i https://mirrors.ustc.edu.cn/pypi/simple如果此命令成功返回 flask 的版本列表,则说明镜像可用。 方法一:直接启动 如果您确定本机 uv 或 conda 工作正常,且网络可直接安装依赖(无明显网络问题),可用此法。 启动服务(默认启用虚拟环境与端口 8890,可按需调整): python server.py常用参数(按需): # 关闭虚拟环境管理 python server.py --enable_venv=False # 切换虚拟环境管理工具为 conda python server.py --env_tool=conda # 切换端口 python server.py --port={Your Port Num} # 关闭自动检查更新 python server.py --check_update=False # 切换自动更新源为 gitee python server.py --update_source="gitee" # 关闭包安装时启用镜像(默认为中科大镜像源) python server.py --enable_mirror=False # 自定义镜像源(示例为清华源) python server.py --mirror_source="https://pypi.tuna.tsinghua.edu.cn/simple/" # 开启 Windows exe 安装模式;将 pdf2zh_next 可执行文件路径传入 #(例如 .\pdf2zh-v2.6.3-BabelDOC-v0.5.7-win64\pdf2zh\pdf2zh.exe) python server.py --enable_winexe=True --winexe_path="xxxxxxx"注:首次/更新 需要输入两次python server.py来启动,第一次是安装必要依赖;第二次是启动服务。 启动成功的预期:终端会打印服务启动与监听端口信息(默认 8890)。若端口被占用,请改用 --port 指定新端口。方法二 如果自动安装过程中,由于网络波动或资源文件下载缓慢导致虚拟环境创建失败,可以尝试此方法。“预热”指提前下载并安装依赖。预热仅首次需要,之后只执行 python server.py。 使用预热uv版本 # 1. 利用uv预热(首次安装) # Windows用户: .\install-with-uv.bat --warmup # MacOS/Linux用户: ./install-with-uv.sh --warmup # 预热后,您需要检查命令行中是否提示安装成功,如果安装失败,请不要进行下一步 # 2. 首次执行脚本 python server.py --skip_install=True # install-with-uv.sh有三个选项: # --warmup 对babeldoc的资源文件进行预热(需要一些时间) # --upgrade 对当前包进行升级 # --no-mirror 不使用国内镜像源 # 3.以后执行版本 python server.py 使用conda预热版本 # 1. 利用conda预热(首次安装) # Windows用户: .\install-with-conda.bat --warmup # MacOS/Linux用户: ./install-with-conda.sh --warmup # 预热后,您需要检查命令行中是否提示安装成功,如果安装失败,请不要进行下一步 # 2. 首次执行脚本 python server.py --env_tool=conda --skip_install=True # install-with-conda.sh有三个选项: # --warmup 对babeldoc的资源文件进行预热(需要一些时间) # --upgrade 对当前包进行升级 # --no-mirror 不使用国内镜像源 # 3.以后执行脚本 # 指定虚拟环境工具为conda python server.py --env_tool=conda方法三:手动安装依赖 若上述两个自动安装失败,可手动创建虚拟环境后逐一安装依赖(成功则跳过此节)。A. 为 pdf2zh_next (2.x) 手动安装 方案 A1:用 uv(推荐) 环境名:zotero-pdf2zh-next-venv Windows/CMD :: 进入 server 目录 cd server :: 1) 创建虚拟环境 uv venv zotero-pdf2zh-next-venv --python 3.12 :: 2) 安装依赖(使用镜像) uv pip install --python .\zotero-pdf2zh-next-venv\Scripts\python.exe --index-url https://mirrors.ustc.edu.cn/pypi/simple pdf2zh_next pypdf PyMuPDF flask toml若有打开虚拟环境的需求: # cmd zotero-pdf2zh-next-venv\Scripts\activate # powershell .\zotero-pdf2zh-next-venv\Scripts\Activate.ps1 macOS / Linux # 进入 server 目录 cd server # 1) 创建虚拟环境 uv venv zotero-pdf2zh-next-venv --python 3.12 # 2) 安装依赖(使用镜像) uv pip install --python ./zotero-pdf2zh-next-venv/bin/python --index-url https://mirrors.ustc.edu.cn/pypi/simple pdf2zh_next pypdf PyMuPDF flask toml若有打开虚拟环境的需求: source ./zotero-pdf2zh-next-venv/bin/activate方案 A2:用 conda # 进入 server 目录 cd server # 1) 创建环境 conda create -n zotero-pdf2zh-next-venv python=3.12 -y # 2) 安装依赖(使用镜像) conda run -n zotero-pdf2zh-next-venv pip install --index-url https://mirrors.ustc.edu.cn/pypi/simple pdf2zh_next pypdf PyMuPDF flask toml若有打开虚拟环境的需求: conda activate zotero-pdf2zh-next-venvB. 为 pdf2zh (1.x) 手动安装 方案 A1:用 uv(推荐) 环境名:zotero-pdf2zh-venv(与脚本一致) Windows/CMD :: 进入 server 目录 cd server :: 1) 创建虚拟环境(Python 3.12) uv venv zotero-pdf2zh-venv --python 3.12 :: 2) 安装依赖(使用科大镜像) uv pip install --python .\zotero-pdf2zh-venv\Scripts\python.exe --index-url https://mirrors.ustc.edu.cn/pypi/simple pdf2zh==1.9.11 pypdf PyMuPDF flask numpy==2.2.0 toml pdfminer.six==20250416若有打开虚拟环境的需求: # cmd zotero-pdf2zh-venv\Scripts\activate # powershell .\zotero-pdf2zh-venv\Scripts\Activate.ps1 macOS / Linux # 进入 server 目录 # 进入 server 目录 cd server # 1) 创建虚拟环境(Python 3.12) uv venv zotero-pdf2zh-venv --python 3.12 # 2) 安装依赖(使用科大镜像) uv pip install --python ./zotero-pdf2zh-venv/bin/python --index-url https://mirrors.ustc.edu.cn/pypi/simple pdf2zh==1.9.11 pypdf PyMuPDF flask numpy==2.2.0 toml pdfminer.six==20250416若有打开虚拟环境的需求: source ./zotero-pdf2zh-venv/bin/activate方案 A2:用 conda 依然使用环境名:zotero-pdf2zh-venv# 进入 server 目录 # 进入 server 目录 cd server # 1) 创建环境 conda create -n zotero-pdf2zh-venv python=3.12 -y # 2) 安装依赖(使用科大镜像) conda run -n zotero-pdf2zh-venv pip install --index-url https://mirrors.ustc.edu.cn/pypi/simple pdf2zh==1.9.11 pypdf PyMuPDF flask numpy==2.2.0 toml pdfminer.six==20250416若有打开虚拟环境的需求: conda activate zotero-pdf2zh-venv注:若还不行,可以把您使用的代码发给ai,让ai帮您更换一个适合您的镜像源。使用pdf2zh_next的exe启动服务 python server.py --enable_winexe=True --winexe_path="Your\path\to\pdf2zh\pdf2zh.exe"第四步:开始翻译 插件设置路径:编辑 → 首选项 → PDF2zh。在此可切换翻译引擎、配置 API 服务(Base URL、API Key、模型名等)与并发/QPS 参数。随后在 Zotero 主界面选中文献,右键选择相关操作即可。 翻译PDF (Translate PDF):对选中的原文 PDF 生成译文版本(单语/双语取决于插件设置)。 裁剪PDF (Crop PDF):适用于双语或单语附件。自动裁剪两侧空白,并按页面宽度一分为二后上下拼接,便于小屏阅读。若过裁剪,可在 server/utils/config.py 调整 config.pdf_w_offset。 双语对照 (Compare PDF):生成“左原右译”的双语 PDF。可在设置中选“Dual 文件翻译页在前”调整顺序。 双语对照(裁剪)(Crop-Compare PDF):专为双栏论文设计;先沿中缝垂直裁成单栏,再进行左右拼接。 运行提示:若插件调用到服务器失败,请首先确认 server.py 是否在运行、监听端口是否与插件设置一致,防火墙/安全软件是否放行本地端口。一键启动脚本 第一步:获取 server.py 的目录路径 先把终端/命令行打开到 server.py 所在的文件夹 Windows:打开放有 server.py 的文件夹,在空白处按住 Shift 右键 → 在终端中打开(或地址栏输入 powershell/cmd 回车)。 macOS:在 Finder 里打开该文件夹,右键空白处 → 服务 → 在文件夹位置打开新终端(没有的话,可先打开“终端”后用 cd 进入这个文件夹)。 Linux:打开“终端”,用 cd 进入放有 server.py 的文件夹。 复制下面这一行回车执行(这行用的是 Python 自带的 pathlib 库,不需要 pip 安装): python -c "import pathlib; print(pathlib.Path('server.py').resolve().parent)" 如果你的电脑只有 python3 命令,把上面的 python 换成 python3。 Windows 如果 python 不行,试试: py -3 -c "import pathlib; print(pathlib.Path('server.py').resolve().parent)" 终端会输出一行目录路径,复制这行: Windows 例子:D:\work\myapp\server macOS/Linux 例子:/Users/you/work/myapp/server 请复制并保存好这行路径,我们马上就要用它! 第二步:选你的模板并复制 根据你的电脑系统,选择一个对应的模板。 如果你是 Windows 用户,请复制这个: @echo off chcp 65001 >nul set PYTHONUTF8=1 rem ← 只需要修改下面这一行 set "PROJECT_PATH=这里替换成你的路径" python "%PROJECT_PATH%\server.py" pause如果你是 macOS 或 Linux 用户,请复制这个: #!/usr/bin/env bash set -euo pipefail export PYTHONUTF8=1 # ← 只需要修改下面这一行 PROJECT_PATH="这里替换成你的路径" cd "$PROJECT_PATH" python3 server.py read -rp $'完成。按 Enter 退出…' _若您能看懂该脚本,知道修改哪里,那么请直接到第四步。第三步:让 AI 帮你生成脚本 现在,我们要请一位的 AI 助手DeepSeek来帮我们生成脚本。 先复制下面这段话: 你好,请你根据我提供的路径和这个模板,生成一个可以直接供我使用的自动化脚本,并告诉我怎么用。 紧接着,粘贴你在第一步获取的路径。 最后,粘贴你在第二步选择的对应模板。 把这三段内容组合在一起,像下面这个样子,然后一次性发给 AI: 发送给AI的完整示例: 你好,请你根据我提供的路径和这个模板,生成一个可以直接供我使用的自动化脚本,并告诉我怎么用。 我的路径是:D:\project\server 我的模板是: @echo off chcp 65001 >nul set PYTHONUTF8=1 rem ← 只需要修改下面这一行 set "PROJECT_PATH=这里替换成你的路径" python "%PROJECT_PATH%\server.py" pauseAI 会非常聪明地帮你把路径填好,并生成最终的完美脚本代码。 第四步:运行脚本 AI 已经把最终的脚本代码给你了,现在我们只需要把它保存成一个可执行的文件。 对于 Windows 用户 (.bat 文件): 在电脑任意位置(比如桌面)右键,选择“新建” -> “文本文档”。 打开这个新建的文本文档,把你从 AI 那里复制来的最终代码粘贴进去。 点击左上角的“文件”,选择“另存为”。 在弹出的窗口中,最关键的一步: “保存类型”:一定要选择“所有文件 (*.*)”。 “文件名”:给它取个名字,但后缀必须是 .bat。例如:一键启动.bat。 点击“保存”。现在,桌面上就出现了一个带齿轮图标的文件。 对于 macOS / Linux 用户 (.sh 文件): 打开“文本编辑” (TextEdit) 或任何文本编辑器。 把 AI 生成的最终代码粘贴进去。 Mac 用户请注意:如果用的是“文本编辑”,请在菜单栏选择“格式” -> “制作纯文本”,确保是纯文本模式。 保存文件。给它取个名字,后缀必须是 .sh。例如:startup.sh,并将它保存在你喜欢的位置(比如桌面)。 最后一步,赋予它运行的权限。打开“终端”,输入 chmod +x (注意 +x 后面有个空格),然后把刚才保存的 .sh 文件从桌面拖到终端窗口里,最后按回车。 Part 2:Docker 部署(Compose) 如果你想使用 pdf2zh(1.x)作为翻译引擎,请直接跳到文末章节:“(可选)切换为 pdf2zh”。第一步:确认 Docker 环境就绪 docker version docker compose version如果显示不了 docker compose,你可能安装的是老版 docker-compose,后续命令把 docker compose 换成 docker-compose 即可。第二步:下载并准备 Docker 配置文件 Windows(CMD) mkdir zotero-pdf2zh_docker cd zotero-pdf2zh_docker REM 下载 curl -L -o docker.zip https://raw.githubusercontent.com/guaguastandup/zotero-pdf2zh/main/docker.zip REM 解压(任选一种;如命令行解压失败,可在资源管理器中右键解压到当前目录) powershell -Command "Expand-Archive -Path '.\docker.zip' -DestinationPath '.' -Force" REM 或者(如果 tar 可用) REM tar -xf docker.zip REM 进入 docker 子目录(里面有 Dockerfile 和 docker-compose.yaml) cd dockermacOS / Linux(终端) mkdir -p zotero-pdf2zh_docker cd zotero-pdf2zh_docker # 下载 curl -L -o docker.zip https://raw.githubusercontent.com/guaguastandup/zotero-pdf2zh/main/docker.zip # 解压(任选其一) unzip -o docker.zip -d . # 或 # tar -xf docker.zip # 进入 docker 子目录(里面有官方 Dockerfile 和 docker-compose.yaml) cd docker解压后的 docker/ 目录包含: Dockerfile docker-compose.yaml config/ (空文件夹,用于挂载配置) translated/ (空文件夹,用于挂载输出)第三步:预拉取核心镜像 (推荐) 为避免首次启动时因网络问题导致超时,建议先手动拉取 pdf2zh_next 的 Docker 镜像。 docker pull awwaawwa/pdfmathtranslate-next:latestDocker镜像加速 如果你(或你的组织)有可靠的镜像加速端点,可以在 Docker 里配置“registry-mirrors”,让所有 docker pull 走加速: Docker Desktop(Win/macOS):Settings → Docker Engine,在 JSON 中加入: { "registry-mirrors": ["https://<your-mirror-endpoint>"] } 第四步:启动服务 在 zotero-pdf2zh_docker/docker 目录下,执行以下命令: docker compose up -d --build当您看到类似下面的日志输出时,代表服务已成功启动: * Running on http://127.0.0.1:8890 * Running on http://172.18.0.2:8890常用 Docker 管理命令: docker start zotero-pdf2zh # 启动已存在的容器 docker stop zotero-pdf2zh # 停止容器 docker logs -f zotero-pdf2zh # 查看实时日志,用于排查问题 docker compose down # 停止并移除容器(可选)切换为 pdf2zh (1.x) 默认镜像是 pdf2zh_next。如果你只想用 1.x pdf2zh(byaidu/pdf2zh:1.9.6),按下述最小改动即可。0)预拉取经典镜像 docker pull byaidu/pdf2zh:1.9.61) 修改 Dockerfile A. 更换镜像变量,改为1.x 找到: ZOTERO_PDF2ZH_FROM_IMAGE=awwaawwa/pdfmathtranslate-next:latest改为: ZOTERO_PDF2ZH_FROM_IMAGE=byaidu/pdf2zh:1.9.6B. 删除“next 包装器”整段 找到 RUN printf '%s\n' \ '#!/usr/bin/env bash' \ 'set -euo pipefail' \ 'img="${ZOTERO_PDF2ZH_FROM_IMAGE:-awwaawwa/pdfmathtranslate-next:latest}"' \ 'cid="$(cat /etc/hostname)"' \ 'exec docker run --rm --volumes-from "${cid}" -e TZ -e http_proxy -e https_proxy -e HF_ENDPOINT "$img" pdf2zh_next "$@"' \ > /usr/local/bin/pdf2zh_next && chmod +x /usr/local/bin/pdf2zh_next整块修改为: RUN printf '%s\n' \ '#!/usr/bin/env bash' \ 'set -euo pipefail' \ 'img="${ZOTERO_PDF2ZH_FROM_IMAGE:-byaidu/pdf2zh:1.9.6}"' \ 'cid="$(cat /etc/hostname)"' \ 'exec docker run --rm --volumes-from "${cid}" -e TZ -e http_proxy -e https_proxy -e HF_ENDPOINT "$img" pdf2zh "$@"' \ > /usr/local/bin/pdf2zh && chmod +x /usr/local/bin/pdf2zh其它内容(server.zip 下载、requirements 安装、entrypoint)保持不变。2) 修改 docker-compose.yaml 找到 ZOTERO_PDF2ZH_FROM_IMAGE: awwaawwa/pdfmathtranslate-next:latest改为: ZOTERO_PDF2ZH_FROM_IMAGE: byaidu/pdf2zh:1.9.6如需挂字体(可选,字体文件与 docker-compose.yaml 同级): volumes: - ./translated:/app/server/translated - ./config:/app/server/config - ./LXGWWenKai-Regular.ttf:/app/LXGWWenKai-Regular.ttf:ro # 可选 - /var/run/docker.sock:/var/run/docker.sock3) 重构启动(在 docker 目录) docker compose down docker compose up -d --build常用命令: docker start zotero-pdf2zh # 启动已存在的容器 docker stop zotero-pdf2zh # 停止容器 docker logs -f zotero-pdf2zh # 查看实时日志,用于排查问题 docker compose down # 停止并移除容器插件里把 翻译引擎 选成 pdf2zh。祝您使用愉快!Docker配置镜像下载的使用教程 本项目在构建镜像时需要从 GitHub 下载 server.zip。默认使用官方源,如果你的网络访问 GitHub 生效较慢或失败,可按需启用以下两种镜像方式(二选一): 方法 1:给原始链接加“代理前缀”(如 ghproxy.net) 方法 2:直接把下载地址换成 jsDelivr CDN 每次修改构建源后,都请重新构建: docker compose build --no-cache && docker compose up -d0. 默认不改(官方源 + pip 自动回退) 默认使用:https://raw.githubusercontent.com/guaguastandup/zotero-pdf2zh/main/server.zip pip 安装依赖时:先官方 PyPI,失败自动回退 USTC。 (无需任何改动即可工作,适合网络正常时使用。) 1)方法一:开启“代理前缀”镜像 适用:希望保留原始 raw.githubusercontent.com 链接,只在前面加个国内可达的反代前缀(例如 https://ghproxy.net/)。 操作步骤 打开 docker-compose.yml,在 build.args 下取消注释并设置: services: pdf2zh-server: build: args: GITHUB_PROXY_PREFIX: "https://ghproxy.net/"你也可以换成你常用的其他前缀域名。 重新构建并启动: docker compose build --no-cache docker compose up -d 备注:代理前缀服务通常为第三方社区反代,稳定性与可用性请自评估。无法访问时可更换域名或改用方法二。2)方法二:改用 jsDelivr(CDN) 适用:公开仓库中的单个文件下载,CDN 稳定缓存,速度通常更好。 操作步骤 打开 docker-compose.yml,在 build.args 下改写 SERVER_ZIP_URL(并且确保 GITHUB_PROXY_PREFIX 留空或注释): services: pdf2zh-server: build: args: SERVER_ZIP_URL: "https://cdn.jsdelivr.net/gh/guaguastandup/zotero-pdf2zh@main/server.zip" # GITHUB_PROXY_PREFIX: # 留空或注释 重新构建并启动: docker compose build --no-cache docker compose up -d Part 3:连接 Zotero 并开始翻译 无论您选择哪种部署方式,最后一步都是在 Zotero 插件中配置并使用它。 插件设置:在 Zotero 中,导航至 “编辑” -> “首选项” -> “PDF2zh” 选项卡。 服务地址:确保服务地址与您的后端服务一致。默认是 http://127.0.0.1:8890 或 http://localhost:8890。如果您在启动时修改了端口,请在此处同步更新。 模型配置:在此处配置您的翻译引擎(如 pdf2zh_next)、API 服务商的 Base URL 和 API Key。 开始翻译:回到 Zotero 主界面,选中一篇或多篇文献条目,右键单击,在菜单中选择 “开始翻译”。 Part 4:常见问题解答(FAQ) Q1:第一次翻译进度条卡在 translate 10/100 很久? A: 建议开启代理/镜像加速首次资源下载; 或直接在 PDFMathTranslate-next Releases 下载 带 assets 的 Windows 压缩包(内置常用字体/资源),解压后双击 pdf2zh.exe,访问 WebUI http://127.0.0.1:7860/ 翻译任意 1 页触发资源释放。 Q2:Windows 报 “DLL 初始化失败/缺少运行库”? A:安装 Microsoft Visual C++ 2015–2022(x64) 。 Q3:Zotero 无进度条、任务未启动? A:优先检查 Zotero ↔ 本地服务 连通性(端口/回环地址/代理),并核对插件中的服务地址 http://localhost:8890 是否与后端一致(默认即为 8890)。 Q4:服务端返回 401/403/404/429 或端点不可达? A:逐项核实 Base URL / API Key / 模型名 / 速率;根据服务商限制临时降低 QPS/并发,观察是否恢复。 Q5:线程/速率如何估算? A:以服务商 RPM/TPM 为上限,从保守的 QPS 值启动并逐步压测: QPS = ⌊ RPM / 60 ⌋。 Q6:比较推荐哪个服务/大模型? A: siliconflowfree(免配置):硅基流动提供的免费通道(当前为 THUDM/GLM-4-9B-0414),适合入门与临时使用; 火山引擎(开发者/协作计划):每个模型每日50w额度,具体可见协作奖励计划规则、-火山引擎; “非思考”模型优先:多数论文/学术 PDF 翻译更看重稳定与速度,尽量使用非思考版;(think模型会带来巨大的token开销,且不稳定) 高性价比口碑:deepseek-v3、qwen-plus-latest 等反馈较好(需自配 API Key)。 不建议使用机翻:BabelDOC是专门为大模型做的服务,bing、google等机翻服务不建议使用。 提示:免费服务策略可能变化,请以各平台控制台实际配额与速率为准。Q7:我实在是搞不定部署应该怎么办 A:打开网页: 沉浸式翻译 BabelDOC 登陆账号 拖入文件 开始翻译 获取更多帮助 如果以上内容未能解决您的问题,可以通过以下渠道寻求支持: 阅读更详尽的 常见问题文档 在项目的 GitHub Issues 区提交您的问题。 加入用户 QQ 群: 971960014 (入群验证: github)。提问时,请附上: 1)终端的完整报错日志(复制为文本.txt) 2)Zotero 插件的配置截图 3)报错弹窗截图 4)问题 PDF 文件。 若您觉得本博文做的还不错,欢迎支持她笑中藏泪花 | 爱发电 感谢您的支持,祝您使用愉快!!
-
Python绘制热力图代码 Python绘制热力图代码 import matplotlib.pyplot as plt import seaborn as sns import numpy as np import pandas as pd import matplotlib.font_manager as fm # 创建数据 data = { "绩效期望": [1, 0.712, 0.687, 0.651, 0.451, 0.743, 0.646, 0.696, 0.684], "努力期望": [0.712, 1, 0.745, 0.731, 0.499, 0.701, 0.618, 0.745, 0.665], "促进因素": [0.687, 0.745, 1, 0.817, 0.544, 0.781, 0.766, 0.713, 0.801], "社会影响": [0.651, 0.731, 0.817, 1, 0.602, 0.757, 0.691, 0.744, 0.759], "感知风险": [0.451, 0.499, 0.544, 0.602, 1, 0.57, 0.593, 0.589, 0.576], "享乐动机": [0.743, 0.701, 0.781, 0.757, 0.57, 1, 0.752, 0.806, 0.782], "价格价值": [0.646, 0.618, 0.766, 0.691, 0.593, 0.752, 1, 0.716, 0.834], "个体创新": [0.696, 0.745, 0.713, 0.744, 0.589, 0.806, 0.716, 1, 0.779], "使用意愿": [0.684, 0.665, 0.801, 0.759, 0.576, 0.782, 0.834, 0.779, 1] } # 将数据转换为DataFrame df = pd.DataFrame(data, index=["绩效期望", "努力期望", "促进因素", "社会影响", "感知风险", "享乐动机", "价格价值", "个体创新", "使用意愿"]) # 设置字体 plt.rcParams['font.family'] = 'Microsoft YaHei' # 设置绘图的大小 plt.figure(figsize=(10, 8)) # 绘制热力图 sns.heatmap(df, annot=True, cmap='coolwarm', center=0, linewidths=0.5, fmt=".3f", cbar_kws={'label': '相关性'}) # 设置标题 plt.title("相关性分析热力图") # 显示热力图 plt.show()
-
清洗数据---空值变成0 缘由 因为发现从腾讯问卷导出的数据,多选题格式不正确,不适合导入到SPSS里面做分析。问题主要有: 未选中应该是0,这里为空值。 其他列如果有应该为1,这里直接是填写后的内容。 问题展示: image.png|500图片 因此,我通过 Python 代码进行了数据清洗。 使用前准备 重新命名变量:首先需要对变量进行重新命名,例如:Q1、Q2 等,针对多选题,命名为 Q3_1、Q3_2 等。变量名应为变量的英文缩写,例如:感知易用性可以命名为 PEOU1、PEOU2。 将 Excel 文件保存为 CSV 格式。操作步骤如下: 启动 Excel 并打开目标文件。 点击左上角的“文件”菜单。 在菜单中选择“另存为”(有些版本可能会直接显示“保存为”)。 在弹出的对话框中选择保存文件的位置。 在“保存类型”下拉框中选择 CSV(逗号分隔)(*.csv)。 这是已经准备完毕的数据格式示例: image.png图片 确保 Python 已安装 numpy 和 pandas 库。如果没有,请在命令行终端输入以下命令: pip install numpy pip install pandas 复制文件路径 选中目标文件或文件夹。 按下 Ctrl + Shift + C,将文件或文件夹的完整路径复制到剪贴板。 注意:复制的路径会包含引号,后续需要去除引号。 代码 import pandas as pd # 读取 CSV 文件,将 'input.csv' 替换为你的文件路径,注意去除路径中的引号。 # 例如,若复制路径为 "C:\Users\xcyy5\Desktop\test.csv",则应去掉引号,改为 C:\Users\xcyy5\Desktop\test.csv。 # 注意:代码中的单引号不要更改或删除 df = pd.read_csv(r'input.csv') # 定义需要处理的列范围(从 A 到 B),A 替换为多选题的第一题列名,B 替换为最后一题列名。 # 例如,若我的多选题从第六题到第八题,第八题有 4 个选项,A 替换为 Q6_1,B 替换为 Q8_4。 columns_to_process = df.loc[:, 'A':'B'].columns # 对指定列进行处理:非 1 的值(包括空值)替换为 0 df[columns_to_process] = df[columns_to_process].apply(lambda col: col.apply(lambda x: 1 if x == 1 else 0)) # 保存处理后的结果到新文件,确保汉字正确输出。将 'output.csv' 替换为导出文件的路径。 # 例如,如果想导出到 D 盘的 works 文件夹,并命名为“清洗后-空值为0.csv”,则路径为 D:\works\清洗后-空值为0.csv。 # 注意:代码中的单引号不要更改或删除 df.to_csv(r'output.csv', index=False, encoding='utf_8_sig') print("处理完成,文件已保存!")