pdf2zh(非zotero)使用DeepLX文档翻译指南 BabelDOC报错修复

471820 2026-07-16 18:25 1

在站内看到不少pdf2zh的zotero插件+DeepLX的使用教程,但对于pdf2zh的却少有提及。本人更习惯用非插件版,因此讲解一下初次使用配置和如何解决选用BabelDOC时出现的报错。




  1. 在DeepLX - LINUX DO Connect获取请求地址




  2. 通过docker安装pdf2zh。安装好后,Service选择DeepLX,将之前获取的请求地址填入DEEPLX_ENDPOINT,DEEPLX_ACCESS_TOKEN可以不填




  3. 点击Open for More Experimental Options,可选用Use BabelDOC,使翻译后的文件有更好的排版。




但是会出现报错,原因是容器里安装了 NumPy 2.3 或更高版本,而旧版 BabelDOC 仍在用 np.fromstring() 读取二进制图片。NumPy 2.3 已正式移除这种用法,要求改成 np.frombuffer()。截至目前pdf2zh Version: 1.9.11 BabelDOC Version: 0.2.33,作者尚未修复。




修复方法

先查看容器名称:


docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}"

假设容器名称是 pdf2zh,执行:


docker exec -i -u 0 pdf2zh python - <<'PY'
from pathlib import Path

path = Path(
"/usr/local/lib/python3.12/site-packages/"
"babeldoc/docvision/doclayout.py"
)

text = path.read_text(encoding="utf-8")

old = "np.fromstring(pix.samples, np.uint8)"
new = "np.frombuffer(pix.samples, np.uint8)"

if old in text:
path.write_text(text.replace(old, new), encoding="utf-8")
print("修复成功:np.fromstring 已替换为 np.frombuffer")
elif new in text:
print("代码已经修复,无需重复修改")
else:
print("未找到目标代码,请检查 BabelDOC 安装路径或版本")
PY

然后重启:


docker restart pdf2zh

最新回复 (3)
  • gy_rs 07-28 11:57
    1

    佬,在zotero里可以用吗?有研究过吗?

  • 471820 楼主 07-28 12:55
    2

    没,但你可以试试。你可以让AI找出插件路径,让它读日志来修复。如果是同一个问题,让它把我的命令改一改拿来用也可以

  • 一般路过 07-29 01:31
    3

    好贴dd。刚好觉得免费的硅基流动翻译太雷霆了,想怎么接入站子里的翻译

* 帖子来源Linux.do
返回