「PDFMathTranslate」分享开源 PDF 文献翻译工具,保留公式和图表,支持双语对照 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
Byaidu
V2EX    分享创造

「PDFMathTranslate」分享开源 PDF 文献翻译工具,保留公式和图表,支持双语对照

  •  
  •   Byaidu
    Byaidu 2024-10-10 16:19:46 +08:00 2887 次点击
    这是一个创建于 367 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于自己最近在做科研工作,多了很多文献阅读的任务。但是这些文献大多都是英文的,阅读起来相比母语还是会慢上不少。因此开发了一款 PDF 翻译工具来提升阅读速度,在翻译文档的同时,保留原文档的公式、图表以及目录结构

    虽然大多数 arxiv 上的论文都提供了 latex 源码,可以直接在 html 中翻译,或者使用 MathTranslate 这样的工具进行翻译。但是很多出版的图书出于版权考虑是不提供 latex 源码的,这样就只有翻译 pdf 文件这一个选择了。

    这些专业图书动辄就是上千页,目前收费的服务基本都是按页收费的,翻译整本图书的成本非常高,而免费的服务质量又一言难尽,反而还会拉低阅读效率。

    好在 latex 编译出来的 pdf 有比较明显的特征,我们可以使用简单的正则把公式部分提取出来,然后将这些公式填回到译文中就实现我们想要的效果了。

    项目地址

    https://github.com/Byaidu/PDFMathTranslate

    对比

    9 条回复    2025-03-19 16:37:21 +08:00
    mzsone
        1
    mzsone  
       2024-10-10 16:37:35 +08:00
    晚上回去试用一下,感谢大佬付出
    cat
        2
    cat  
       2024-10-10 16:37:39 +08:00
    如果能增加翻译语言的选项就 nice 了……
    Byaidu
        3
    Byaidu  
    OP
       2024-10-10 17:43:50 +08:00   1
    @cat 感谢反馈,现在加上了,可以用 -li 和 -lo 指定输入输出语言
    zepc007
        4
    zepc007  
       2024-10-10 17:52:05 +08:00
    已 star, 看着佬的代码风格不错, 正好学习学习
    dford
        5
    dford  
       2024-10-10 18:03:38 +08:00
    ```txt
    H:\Python39\Scripts>pip install pymupdf
    Requirement already satisfied: pymupdf in h:\python39\lib\site-packages (1.24.0)
    Requirement already satisfied: PyMuPDFb==1.24.0 in h:\python39\lib\site-packages (from pymupdf) (1.24.0)

    H:\Python39\Scripts>pdf2zh "C:\Users\missd\Documents\WeChat Files\wxid_7fuavyde1oyk12\FileStorage\File\2024-10\Category Theory for Scientists--MIT_18.S996.pdf"
    Traceback (most recent call last):
    File "H:\Python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
    File "H:\Python39\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
    File "H:\Python39\Scripts\pdf2zhexe\__main__.py", line 4, in <module>
    File "H:\Python39\lib\site-packages\pdf2zh\pdf2zh.py", line 11, in <module>
    import pymupdf
    ModuleNotFoundError: No module named 'pymupdf'
    ```
    Byaidu
        6
    Byaidu  
    OP
       2024-10-10 18:21:06 +08:00
    @dford 可能是第一次安装 pymupdf 的时候出错了,建议卸了重装或者开个新环境
    cat
        7
    cat  
       2024-10-10 23:32:26 +08:00
    @Byaidu 感谢大佬!这执行力太强了
    SayHelloHi
        8
    SayHelloHi  
       2024-10-12 19:40:54 +08:00
    可以支持 brew 安装么

    brew install pdf2zh
    caohongyuan
        9
    caohongyuan  
       207 天前
    有人实现了吗?貌似 DeepPDF 实现了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     858 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 19:27 PVG 03:27 LAX 12:27 JFK 15:27
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86