|
|
9 months ago | |
|---|---|---|
| .github | 10 months ago | |
| docs | 10 months ago | |
| pdf2zh | 9 months ago | |
| script | 10 months ago | |
| test | 11 months ago | |
| .dockerignore | 11 months ago | |
| .gitignore | 9 months ago | |
| .pre-commit-config.yaml | 1 year ago | |
| Dockerfile | 10 months ago | |
| LICENSE | 1 year ago | |
| README.md | 9 months ago | |
| app.json | 1 year ago | |
| config.json | 9 months ago | |
| poetry.lock | 9 months ago | |
| pyproject.toml | 9 months ago | |
| run_gui.bat | 9 months ago | |
| run_gui.py | 9 months ago | |
| setup.cfg | 1 year ago |
PDF scientific paper translation and bilingual comparison.
Feel free to provide feedback in GitHub Issues or Telegram Group.
For details on how to contribute, please consult the Contribution Guide.
-cp (by @reycn)
You can try our application out using either of the following demos:
Note that the computing resources of the demo are limited, so please avoid abusing them.
For different use cases, we provide distinct methods to use our program:
6745ed36-9acc-800e-8a90-59204bd134):
```bash
pdf2zh document.pdf
```
See [documentation for GUI](./docs/README_GUI.md) for more details.
The present program needs an AI model(wybxc/DocLayout-YOLO-DocStructBench-onnx) before working and some users are not able to download due to network issues. If you have a problem with downloading this model, we provide a workaround using the following environment variable:
set HF_ENDPOINT=https://hf-mirror.com
For PowerShell user:
$env:HF_ENDPOINT = https://hf-mirror.com
If the solution does not work to you / you encountered other issues, please refer to frequently asked questions.
Execute the translation command in the command line to generate the translated document example-mono.pdf and the bilingual document example-dual.pdf in the current working directory. Use Google as the default translation service. More support translation services can find HERE.

In the following table, we list all advanced options for reference:
| Option | Function | Example |
|---|---|---|
| files | Local files | pdf2zh ~/local.pdf |
| links | Online files | pdf2zh http://arxiv.org/paper.pdf |
-i |
Enter GUI | pdf2zh -i |
-p |
Partial document translation | pdf2zh example.pdf -p 1 |
-li |
Source language | pdf2zh example.pdf -li en |
-lo |
Target language | pdf2zh example.pdf -lo zh |
-s |
Translation service | pdf2zh example.pdf -s deepl |
-t |
Multi-threads | pdf2zh example.pdf -t 1 |
-o |
Output dir | pdf2zh example.pdf -o output |
-f, -c |
Exceptions | pdf2zh example.pdf -f "(MS.*)" |
-cp |
Compatibility Mode | pdf2zh example.pdf --compatible |
--share |
Public link | pdf2zh -i --share |
--authorized |
Authorization | pdf2zh -i --authorized users.txt [auth.html] |
--prompt |
Custom Prompt | pdf2zh --prompt [prompt.txt] |
--onnx |
[Use Custom DocLayout-YOLO ONNX model] | pdf2zh --onnx [onnx/model/path] |
--serverport |
[Use Custom WebUI port] | pdf2zh --serverport 7860 |
--dir |
[batch translate] | pdf2zh --dir /path/to/translate/ |
--config |
configuration file | pdf2zh --config /path/to/config/config.json |
--serverport |
[custom gradio server port] | pdf2zh --serverport 7860 |
For detailed explanations, please refer to our document about Advanced Usage for a full list of each option.
For downstream applications, please refer to our document about API Details for futher information about:
[ ] Parse layout with DocLayNet based models, PaddleX, PaperMage, SAM2
[ ] Fix page rotation, table of contents, format of lists
[ ] Fix pixel formula in old papers
[ ] Async retry except KeyboardInterrupt
[ ] Knuth–Plass algorithm for western languages
[ ] Support non-PDF/A files
Document merging: PyMuPDF
Document parsing: Pdfminer.six
Document extraction: MinerU
Document Preview: Gradio PDF
Multi-threaded translation: MathTranslate
Layout parsing: DocLayout-YOLO
Document standard: PDF Explained, PDF Cheat Sheets
Multilingual Font: Go Noto Universal
根据 pyproject.toml 字段 [build-system] 得知,作者是用 hatch 开发本项目, https://github.com/pypa/hatch
不过为了使用习惯,我使用 poetry 开发本项目。
# 安装 python 环境
pyenv install 3.12.0
# 或者使用 mamba 安装
mamba create -n pdf python=3.12 -y
mamba activate pdf
# 如果系统没有 poetry ,请先安装 poetry 。推荐全局安装 https://python-poetry.org/docs/#installing-with-the-official-installer
# 或者使用 pip 安装,仅在当前环境生效
pip install poetry
# 根据 pyproject.toml 安装依赖
poetry install
# 启动
poetry run pdf2zh
# 根据配置文件启动 GUI
poetry run pdf2zh -i --config .\config.json