본문 바로가기
AI, 논문, 데이터 분석

[PDFMathTranslate] 논문 번역

by doraemin_dev 2025. 1. 24.

PDFMathTranslate는 (수학) 논문 PDF를 번역하고, 원본 문서와 번역된 문서를 비교할 수 있는 기능을 제공합니다. 특히 수식, 차트, 목차, 주석 등 원본의 구조를 유지하면서 번역 결과를 제공하고 있어 수학 분야를 비롯한 자연 과학 분야의 논문들을 번역하기에 좋습니다. 다양한 언어 및 외부 번역 서비스 등을 지원하며, 명령줄 도구, GUI, Docker 환경 등 다양한 방식으로 활용할 수 있습니다.

 

https://github.com/Byaidu/PDFMathTranslate

 

GitHub - Byaidu/PDFMathTranslate: PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF

PDF scientific paper translation with preserved formats - 基于 AI 完整保留排版的 PDF 文档全文双语翻译,支持 Google/DeepL/Ollama/OpenAI 等服务,提供 CLI/GUI/Docker/Zotero - Byaidu/PDFMathTranslate

github.com

 

STEP 0 : Python 버전 확인

Python installed (3.8 <= version <= 3.12)

(base) C:\Users\032\SKT_AI\논문>python --version
Python 3.12.7

 

STEP 1 : Install package

( Power Shell 터미널 말고, Anaconda Prompt 에서 실행하자. )

(base) C:\Users\032\SKT_AI\논문>pip install pdf2zh

# 버젼 에러가 난다면, 가상환경 실행 후 install
# (base) C:\Users\032\SKT_AI\논문>conda create -n paper_env python=3.9 -y
# (base) C:\Users\032\SKT_AI\논문>conda activate paper_env
# (paper_env) C:\Users\032\SKT_AI\논문>pip install pdf2zh

 

혹시 install 시, 버젼/의존성 관련 충돌이 일어난다면, (주석 처리한 코드) 가상환경에서 install 하자.

 

ERROR: Cannot install pdf2zh==1.7.5, pdf2zh==1.7.6, pdf2zh==1.7.7, pdf2zh==1.7.8 and pdf2zh==1.7.9 because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts 

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
contourpy 1.2.0 requires numpy<2.0,>=1.20, but you have numpy 2.2.2 which is incompatible.
gensim 4.3.3 requires numpy<2.0,>=1.18.5, but you have numpy 2.2.2 which is incompatible.
numba 0.60.0 requires numpy<2.1,>=1.22, but you have numpy 2.2.2 which is incompatible.

더보기

pdf2zh를 설치하려고 할 때 torch 관련 의존성 충돌이 발생.

가상환경을 새로 만들고, install 하자.

(base) C:\Users\032\SKT_AI\논문>pip install pdf2zh
Collecting pdf2zh
  Downloading pdf2zh-1.9.0-py3-none-any.whl.metadata (14 kB)
Collecting argostranslate (from pdf2zh)
  Downloading argostranslate-1.9.6-py3-none-any.whl.metadata (10 kB)
Collecting azure-ai-translation-text<=1.0.1 (from pdf2zh)
  Using cached azure_ai_translation_text-1.0.1-py3-none-any.whl.metadata (18 kB)
Collecting deepl (from pdf2zh)
  Using cached deepl-1.21.0-py3-none-any.whl.metadata (30 kB)
Requirement already satisfied: fonttools in c:\users\032\anaconda3\lib\site-packages (from pdf2zh) (4.51.0)
Collecting gradio (from pdf2zh)
  Using cached gradio-5.13.0-py3-none-any.whl.metadata (16 kB)
Collecting gradio-pdf>=0.0.21 (from pdf2zh)
  Downloading gradio_pdf-0.0.21-py3-none-any.whl.metadata (6.8 kB)
Collecting huggingface-hub (from pdf2zh)
  Using cached huggingface_hub-0.27.1-py3-none-any.whl.metadata (13 kB)
Requirement already satisfied: numpy in c:\users\032\anaconda3\lib\site-packages (from pdf2zh) (1.26.4)
Collecting ollama (from pdf2zh)
  Using cached ollama-0.4.7-py3-none-any.whl.metadata (4.7 kB)
Collecting onnx (from pdf2zh)
  Downloading onnx-1.17.0-cp312-cp312-win_amd64.whl.metadata (16 kB)
Collecting onnxruntime (from pdf2zh)
  Downloading onnxruntime-1.20.1-cp312-cp312-win_amd64.whl.metadata (4.7 kB)
Collecting openai (from pdf2zh)
  Using cached openai-1.60.0-py3-none-any.whl.metadata (27 kB)
Collecting opencv-python-headless (from pdf2zh)
  Downloading opencv_python_headless-4.11.0.86-cp37-abi3-win_amd64.whl.metadata (20 kB)
Collecting pdfminer-six>=20240706 (from pdf2zh)
  Downloading pdfminer.six-20240706-py3-none-any.whl.metadata (4.1 kB)
Collecting peewee>=3.17.8 (from pdf2zh)
  Downloading peewee-3.17.8.tar.gz (948 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 948.2/948.2 kB 14.6 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting pikepdf (from pdf2zh)
  Downloading pikepdf-9.5.1-cp312-cp312-win_amd64.whl.metadata (8.3 kB)
Collecting pymupdf (from pdf2zh)
  Using cached pymupdf-1.25.2-cp39-abi3-win_amd64.whl.metadata (3.4 kB)
Requirement already satisfied: requests in c:\users\032\anaconda3\lib\site-packages (from pdf2zh) (2.32.3)
Requirement already satisfied: tenacity in c:\users\032\anaconda3\lib\site-packages (from pdf2zh) (8.2.3)
Collecting tencentcloud-sdk-python (from pdf2zh)
  Downloading tencentcloud_sdk_python-3.0.1310-py2.py3-none-any.whl.metadata (1.5 kB)
Requirement already satisfied: tqdm in c:\users\032\anaconda3\lib\site-packages (from pdf2zh) (4.66.5)
Collecting xinference-client (from pdf2zh)
  Downloading xinference_client-1.2.0-py3-none-any.whl.metadata (2.9 kB)
Collecting yadt<0.0.2,>=0.0.1a20 (from pdf2zh)
  Downloading yadt-0.0.1a28-py3-none-any.whl.metadata (5.9 kB)
Collecting isodate>=0.6.1 (from azure-ai-translation-text<=1.0.1->pdf2zh)
  Using cached isodate-0.7.2-py3-none-any.whl.metadata (11 kB)
Collecting azure-core>=1.30.0 (from azure-ai-translation-text<=1.0.1->pdf2zh)
  Using cached azure_core-1.32.0-py3-none-any.whl.metadata (39 kB)
Requirement already satisfied: typing-extensions>=4.6.0 in c:\users\032\anaconda3\lib\site-packages (from azure-ai-translation-text<=1.0.1->pdf2zh) (4.11.0)
Collecting aiofiles<24.0,>=22.0 (from gradio->pdf2zh)
  Downloading aiofiles-23.2.1-py3-none-any.whl.metadata (9.7 kB)
Requirement already satisfied: anyio<5.0,>=3.0 in c:\users\032\anaconda3\lib\site-packages (from gradio->pdf2zh) (4.2.0)
Collecting fastapi<1.0,>=0.115.2 (from gradio->pdf2zh)
  Downloading fastapi-0.115.7-py3-none-any.whl.metadata (27 kB)
Collecting ffmpy (from gradio->pdf2zh)
  Downloading ffmpy-0.5.0-py3-none-any.whl.metadata (3.0 kB)
Collecting gradio-client==1.6.0 (from gradio->pdf2zh)
  Downloading gradio_client-1.6.0-py3-none-any.whl.metadata (7.1 kB)
Requirement already satisfied: httpx>=0.24.1 in c:\users\032\anaconda3\lib\site-packages (from gradio->pdf2zh) (0.27.0)
Requirement already satisfied: jinja2<4.0 in c:\users\032\anaconda3\lib\site-packages (from gradio->pdf2zh) (3.1.4)
Requirement already satisfied: markupsafe~=2.0 in c:\users\032\anaconda3\lib\site-packages (from gradio->pdf2zh) (2.1.3)
Collecting orjson~=3.0 (from gradio->pdf2zh)
  Downloading orjson-3.10.15-cp312-cp312-win_amd64.whl.metadata (42 kB)
Requirement already satisfied: packaging in c:\users\032\anaconda3\lib\site-packages (from gradio->pdf2zh) (24.1)
Requirement already satisfied: pandas<3.0,>=1.0 in c:\users\032\anaconda3\lib\site-packages (from gradio->pdf2zh) (2.2.2)
Requirement already satisfied: pillow<12.0,>=8.0 in c:\users\032\anaconda3\lib\site-packages (from gradio->pdf2zh) (10.4.0)
Requirement already satisfied: pydantic>=2.0 in c:\users\032\anaconda3\lib\site-packages (from gradio->pdf2zh) (2.8.2)
Collecting pydub (from gradio->pdf2zh)
  Downloading pydub-0.25.1-py2.py3-none-any.whl.metadata (1.4 kB)
Collecting python-multipart>=0.0.18 (from gradio->pdf2zh)
  Downloading python_multipart-0.0.20-py3-none-any.whl.metadata (1.8 kB)
Requirement already satisfied: pyyaml<7.0,>=5.0 in c:\users\032\anaconda3\lib\site-packages (from gradio->pdf2zh) (6.0.1)
Collecting ruff>=0.2.2 (from gradio->pdf2zh)
  Downloading ruff-0.9.3-py3-none-win_amd64.whl.metadata (26 kB)
Collecting safehttpx<0.2.0,>=0.1.6 (from gradio->pdf2zh)
  Downloading safehttpx-0.1.6-py3-none-any.whl.metadata (4.2 kB)
Collecting semantic-version~=2.0 (from gradio->pdf2zh)
  Downloading semantic_version-2.10.0-py2.py3-none-any.whl.metadata (9.7 kB)
Collecting starlette<1.0,>=0.40.0 (from gradio->pdf2zh)
  Downloading starlette-0.45.2-py3-none-any.whl.metadata (6.3 kB)
Collecting tomlkit<0.14.0,>=0.12.0 (from gradio->pdf2zh)
  Downloading tomlkit-0.13.2-py3-none-any.whl.metadata (2.7 kB)
Collecting typer<1.0,>=0.12 (from gradio->pdf2zh)
  Downloading typer-0.15.1-py3-none-any.whl.metadata (15 kB)
Collecting uvicorn>=0.14.0 (from gradio->pdf2zh)
  Downloading uvicorn-0.34.0-py3-none-any.whl.metadata (6.5 kB)
Requirement already satisfied: fsspec in c:\users\032\anaconda3\lib\site-packages (from gradio-client==1.6.0->gradio->pdf2zh) (2024.6.1)
Collecting websockets<15.0,>=10.0 (from gradio-client==1.6.0->gradio->pdf2zh)
  Downloading websockets-14.2-cp312-cp312-win_amd64.whl.metadata (7.0 kB)
Requirement already satisfied: filelock in c:\users\032\anaconda3\lib\site-packages (from huggingface-hub->pdf2zh) (3.13.1)
Requirement already satisfied: charset-normalizer>=2.0.0 in c:\users\032\anaconda3\lib\site-packages (from pdfminer-six>=20240706->pdf2zh) (3.3.2)
Requirement already satisfied: cryptography>=36.0.0 in c:\users\032\anaconda3\lib\site-packages (from pdfminer-six>=20240706->pdf2zh) (43.0.0)
Requirement already satisfied: colorama in c:\users\032\anaconda3\lib\site-packages (from tqdm->pdf2zh) (0.4.6)
Collecting bitstring>=4.3.0 (from yadt<0.0.2,>=0.0.1a20->pdf2zh)
  Downloading bitstring-4.3.0-py3-none-any.whl.metadata (5.3 kB)
Collecting configargparse>=1.7 (from yadt<0.0.2,>=0.0.1a20->pdf2zh)
  Downloading ConfigArgParse-1.7-py3-none-any.whl.metadata (23 kB)
Collecting numpy (from pdf2zh)
  Downloading numpy-2.2.2-cp312-cp312-win_amd64.whl.metadata (60 kB)
Collecting opencv-python>=4.10.0.84 (from yadt<0.0.2,>=0.0.1a20->pdf2zh)
  Using cached opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl.metadata (20 kB)
Collecting rich>=13.9.4 (from yadt<0.0.2,>=0.0.1a20->pdf2zh)
  Using cached rich-13.9.4-py3-none-any.whl.metadata (18 kB)
Requirement already satisfied: toml>=0.10.2 in c:\users\032\anaconda3\lib\site-packages (from yadt<0.0.2,>=0.0.1a20->pdf2zh) (0.10.2)
Collecting tqdm (from pdf2zh)
  Using cached tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)
Collecting xsdata>=24.12 (from xsdata[cli,lxml,soap]>=24.12->yadt<0.0.2,>=0.0.1a20->pdf2zh)
  Downloading xsdata-24.12-py3-none-any.whl.metadata (6.0 kB)
Requirement already satisfied: protobuf>=3.20.2 in c:\users\032\anaconda3\lib\site-packages (from onnx->pdf2zh) (4.25.3)
Collecting coloredlogs (from onnxruntime->pdf2zh)
  Downloading coloredlogs-15.0.1-py2.py3-none-any.whl.metadata (12 kB)
Collecting flatbuffers (from onnxruntime->pdf2zh)
  Using cached flatbuffers-25.1.21-py2.py3-none-any.whl.metadata (875 bytes)
Requirement already satisfied: sympy in c:\users\032\anaconda3\lib\site-packages (from onnxruntime->pdf2zh) (1.13.2)
Requirement already satisfied: distro<2,>=1.7.0 in c:\users\032\anaconda3\lib\site-packages (from openai->pdf2zh) (1.9.0)
Collecting jiter<1,>=0.4.0 (from openai->pdf2zh)
  Downloading jiter-0.8.2-cp312-cp312-win_amd64.whl.metadata (5.3 kB)
Requirement already satisfied: sniffio in c:\users\032\anaconda3\lib\site-packages (from openai->pdf2zh) (1.3.0)
Collecting ctranslate2<5,>=4.0 (from argostranslate->pdf2zh)
  Downloading ctranslate2-4.5.0-cp312-cp312-win_amd64.whl.metadata (10 kB)
Collecting sacremoses==0.0.53 (from argostranslate->pdf2zh)
  Downloading sacremoses-0.0.53.tar.gz (880 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 880.6/880.6 kB 13.2 MB/s eta 0:00:00
  Preparing metadata (setup.py) ... done
Collecting sentencepiece==0.2.0 (from argostranslate->pdf2zh)
  Downloading sentencepiece-0.2.0-cp312-cp312-win_amd64.whl.metadata (8.3 kB)
Collecting stanza==1.1.1 (from argostranslate->pdf2zh)
  Downloading stanza-1.1.1-py3-none-any.whl.metadata (10 kB)
Requirement already satisfied: regex in c:\users\032\anaconda3\lib\site-packages (from sacremoses==0.0.53->argostranslate->pdf2zh) (2024.9.11)
Requirement already satisfied: six in c:\users\032\anaconda3\lib\site-packages (from sacremoses==0.0.53->argostranslate->pdf2zh) (1.16.0)
Requirement already satisfied: click in c:\users\032\anaconda3\lib\site-packages (from sacremoses==0.0.53->argostranslate->pdf2zh) (8.1.7)
Requirement already satisfied: joblib in c:\users\032\anaconda3\lib\site-packages (from sacremoses==0.0.53->argostranslate->pdf2zh) (1.4.2)
Collecting torch>=1.3.0 (from stanza==1.1.1->argostranslate->pdf2zh)
  Downloading torch-2.5.1-cp312-cp312-win_amd64.whl.metadata (28 kB)
Requirement already satisfied: idna<4,>=2.5 in c:\users\032\anaconda3\lib\site-packages (from requests->pdf2zh) (3.7)
Requirement already satisfied: urllib3<3,>=1.21.1 in c:\users\032\anaconda3\lib\site-packages (from requests->pdf2zh) (2.2.3)
Requirement already satisfied: certifi>=2017.4.17 in c:\users\032\anaconda3\lib\site-packages (from requests->pdf2zh) (2024.12.14)
Collecting pydantic>=2.0 (from gradio->pdf2zh)
  Downloading pydantic-2.10.5-py3-none-any.whl.metadata (30 kB)
Collecting Deprecated (from pikepdf->pdf2zh)
  Downloading Deprecated-1.2.15-py2.py3-none-any.whl.metadata (5.5 kB)
Requirement already satisfied: lxml>=4.8 in c:\users\032\anaconda3\lib\site-packages (from pikepdf->pdf2zh) (5.2.1)
Collecting bitarray<3.1,>=3.0.0 (from bitstring>=4.3.0->yadt<0.0.2,>=0.0.1a20->pdf2zh)
  Downloading bitarray-3.0.0-cp312-cp312-win_amd64.whl.metadata (33 kB)
Requirement already satisfied: cffi>=1.12 in c:\users\032\anaconda3\lib\site-packages (from cryptography>=36.0.0->pdfminer-six>=20240706->pdf2zh) (1.17.1)
Requirement already satisfied: setuptools in c:\users\032\anaconda3\lib\site-packages (from ctranslate2<5,>=4.0->argostranslate->pdf2zh) (75.1.0)
Requirement already satisfied: httpcore==1.* in c:\users\032\anaconda3\lib\site-packages (from httpx>=0.24.1->gradio->pdf2zh) (1.0.2)
Requirement already satisfied: h11<0.15,>=0.13 in c:\users\032\anaconda3\lib\site-packages (from httpcore==1.*->httpx>=0.24.1->gradio->pdf2zh) (0.14.0)
Requirement already satisfied: python-dateutil>=2.8.2 in c:\users\032\anaconda3\lib\site-packages (from pandas<3.0,>=1.0->gradio->pdf2zh) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in c:\users\032\anaconda3\lib\site-packages (from pandas<3.0,>=1.0->gradio->pdf2zh) (2024.1)
Requirement already satisfied: tzdata>=2022.7 in c:\users\032\anaconda3\lib\site-packages (from pandas<3.0,>=1.0->gradio->pdf2zh) (2023.3)
Requirement already satisfied: annotated-types>=0.6.0 in c:\users\032\anaconda3\lib\site-packages (from pydantic>=2.0->gradio->pdf2zh) (0.6.0)
Collecting pydantic-core==2.27.2 (from pydantic>=2.0->gradio->pdf2zh)
  Downloading pydantic_core-2.27.2-cp312-cp312-win_amd64.whl.metadata (6.7 kB)
Collecting typing-extensions>=4.6.0 (from azure-ai-translation-text<=1.0.1->pdf2zh)
  Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
Requirement already satisfied: markdown-it-py>=2.2.0 in c:\users\032\anaconda3\lib\site-packages (from rich>=13.9.4->yadt<0.0.2,>=0.0.1a20->pdf2zh) (2.2.0)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in c:\users\032\anaconda3\lib\site-packages (from rich>=13.9.4->yadt<0.0.2,>=0.0.1a20->pdf2zh) (2.15.1)
Requirement already satisfied: shellingham>=1.3.0 in c:\users\032\anaconda3\lib\site-packages (from typer<1.0,>=0.12->gradio->pdf2zh) (1.5.0)
Collecting click-default-group>=1.2 (from xsdata[cli,lxml,soap]>=24.12->yadt<0.0.2,>=0.0.1a20->pdf2zh)
  Downloading click_default_group-1.2.4-py2.py3-none-any.whl.metadata (2.8 kB)
Collecting docformatter>=1.7.2 (from xsdata[cli,lxml,soap]>=24.12->yadt<0.0.2,>=0.0.1a20->pdf2zh)
  Downloading docformatter-1.7.5-py3-none-any.whl.metadata (8.3 kB)
Collecting toposort>=1.5 (from xsdata[cli,lxml,soap]>=24.12->yadt<0.0.2,>=0.0.1a20->pdf2zh)
  Downloading toposort-1.10-py3-none-any.whl.metadata (4.1 kB)
Collecting humanfriendly>=9.1 (from coloredlogs->onnxruntime->pdf2zh)
  Downloading humanfriendly-10.0-py2.py3-none-any.whl.metadata (9.2 kB)
Requirement already satisfied: wrapt<2,>=1.10 in c:\users\032\anaconda3\lib\site-packages (from Deprecated->pikepdf->pdf2zh) (1.14.1)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in c:\users\032\anaconda3\lib\site-packages (from sympy->onnxruntime->pdf2zh) (1.3.0)
Requirement already satisfied: pycparser in c:\users\032\anaconda3\lib\site-packages (from cffi>=1.12->cryptography>=36.0.0->pdfminer-six>=20240706->pdf2zh) (2.21)
Collecting untokenize<0.2.0,>=0.1.1 (from docformatter>=1.7.2->xsdata[cli,lxml,soap]>=24.12->yadt<0.0.2,>=0.0.1a20->pdf2zh)
  Downloading untokenize-0.1.1.tar.gz (3.1 kB)
  Preparing metadata (setup.py) ... done
Collecting pyreadline3 (from humanfriendly>=9.1->coloredlogs->onnxruntime->pdf2zh)
  Downloading pyreadline3-3.5.4-py3-none-any.whl.metadata (4.7 kB)
Requirement already satisfied: mdurl~=0.1 in c:\users\032\anaconda3\lib\site-packages (from markdown-it-py>=2.2.0->rich>=13.9.4->yadt<0.0.2,>=0.0.1a20->pdf2zh) (0.1.0)
Requirement already satisfied: networkx in c:\users\032\anaconda3\lib\site-packages (from torch>=1.3.0->stanza==1.1.1->argostranslate->pdf2zh) (3.3)
Collecting sympy (from onnxruntime->pdf2zh)
  Downloading sympy-1.13.1-py3-none-any.whl.metadata (12 kB)
Downloading pdf2zh-1.9.0-py3-none-any.whl (55 kB)
Downloading azure_ai_translation_text-1.0.1-py3-none-any.whl (87 kB)
Downloading gradio_pdf-0.0.21-py3-none-any.whl (1.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 17.4 MB/s eta 0:00:00
Downloading gradio-5.13.0-py3-none-any.whl (57.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 57.6/57.6 MB 22.9 MB/s eta 0:00:00
Downloading gradio_client-1.6.0-py3-none-any.whl (321 kB)
Downloading huggingface_hub-0.27.1-py3-none-any.whl (450 kB)
Downloading pdfminer.six-20240706-py3-none-any.whl (5.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.6/5.6 MB 19.1 MB/s eta 0:00:00
Downloading yadt-0.0.1a28-py3-none-any.whl (81 kB)
Downloading numpy-2.2.2-cp312-cp312-win_amd64.whl (12.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.6/12.6 MB 20.8 MB/s eta 0:00:00
Downloading onnx-1.17.0-cp312-cp312-win_amd64.whl (14.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 14.5/14.5 MB 16.3 MB/s eta 0:00:00
Downloading onnxruntime-1.20.1-cp312-cp312-win_amd64.whl (11.3 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.3/11.3 MB 16.8 MB/s eta 0:00:00
Downloading openai-1.60.0-py3-none-any.whl (456 kB)
Downloading pymupdf-1.25.2-cp39-abi3-win_amd64.whl (16.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.5/16.5 MB 17.1 MB/s eta 0:00:00
Using cached tqdm-4.67.1-py3-none-any.whl (78 kB)
Downloading argostranslate-1.9.6-py3-none-any.whl (34 kB)
Downloading sentencepiece-0.2.0-cp312-cp312-win_amd64.whl (991 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 992.0/992.0 kB 15.9 MB/s eta 0:00:00
Downloading stanza-1.1.1-py3-none-any.whl (227 kB)
Downloading deepl-1.21.0-py3-none-any.whl (38 kB)
Downloading ollama-0.4.7-py3-none-any.whl (13 kB)
Downloading opencv_python_headless-4.11.0.86-cp37-abi3-win_amd64.whl (39.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 39.4/39.4 MB 17.8 MB/s eta 0:00:00
Downloading pikepdf-9.5.1-cp312-cp312-win_amd64.whl (3.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.5/3.5 MB 20.6 MB/s eta 0:00:00
Downloading tencentcloud_sdk_python-3.0.1310-py2.py3-none-any.whl (12.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.1/12.1 MB 21.6 MB/s eta 0:00:00
Downloading xinference_client-1.2.0-py3-none-any.whl (25 kB)
Downloading aiofiles-23.2.1-py3-none-any.whl (15 kB)
Downloading azure_core-1.32.0-py3-none-any.whl (198 kB)
Downloading bitstring-4.3.0-py3-none-any.whl (71 kB)
Downloading ConfigArgParse-1.7-py3-none-any.whl (25 kB)
Downloading ctranslate2-4.5.0-cp312-cp312-win_amd64.whl (19.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.5/19.5 MB 21.9 MB/s eta 0:00:00
Downloading fastapi-0.115.7-py3-none-any.whl (94 kB)
Downloading isodate-0.7.2-py3-none-any.whl (22 kB)
Downloading jiter-0.8.2-cp312-cp312-win_amd64.whl (204 kB)
Using cached opencv_python-4.11.0.86-cp37-abi3-win_amd64.whl (39.5 MB)
Downloading orjson-3.10.15-cp312-cp312-win_amd64.whl (133 kB)
Downloading pydantic-2.10.5-py3-none-any.whl (431 kB)
Downloading pydantic_core-2.27.2-cp312-cp312-win_amd64.whl (2.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 18.4 MB/s eta 0:00:00
Downloading python_multipart-0.0.20-py3-none-any.whl (24 kB)
Using cached rich-13.9.4-py3-none-any.whl (242 kB)
Downloading ruff-0.9.3-py3-none-win_amd64.whl (10.8 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.8/10.8 MB 16.5 MB/s eta 0:00:00
Downloading safehttpx-0.1.6-py3-none-any.whl (8.7 kB)
Downloading semantic_version-2.10.0-py2.py3-none-any.whl (15 kB)
Downloading starlette-0.45.2-py3-none-any.whl (71 kB)
Downloading tomlkit-0.13.2-py3-none-any.whl (37 kB)
Downloading typer-0.15.1-py3-none-any.whl (44 kB)
Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
Downloading uvicorn-0.34.0-py3-none-any.whl (62 kB)
Downloading xsdata-24.12-py3-none-any.whl (232 kB)
Downloading coloredlogs-15.0.1-py2.py3-none-any.whl (46 kB)
Downloading Deprecated-1.2.15-py2.py3-none-any.whl (9.9 kB)
Downloading ffmpy-0.5.0-py3-none-any.whl (6.0 kB)
Using cached flatbuffers-25.1.21-py2.py3-none-any.whl (30 kB)
Downloading pydub-0.25.1-py2.py3-none-any.whl (32 kB)
Downloading bitarray-3.0.0-cp312-cp312-win_amd64.whl (121 kB)
Downloading click_default_group-1.2.4-py2.py3-none-any.whl (4.1 kB)
Downloading docformatter-1.7.5-py3-none-any.whl (32 kB)
Downloading humanfriendly-10.0-py2.py3-none-any.whl (86 kB)
Downloading toposort-1.10-py3-none-any.whl (8.5 kB)
Downloading torch-2.5.1-cp312-cp312-win_amd64.whl (203.0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 203.0/203.0 MB 22.2 MB/s eta 0:00:00
Downloading sympy-1.13.1-py3-none-any.whl (6.2 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.2/6.2 MB 20.0 MB/s eta 0:00:00
Downloading websockets-14.2-cp312-cp312-win_amd64.whl (164 kB)
Downloading pyreadline3-3.5.4-py3-none-any.whl (83 kB)
Building wheels for collected packages: peewee, sacremoses, untokenize
  Building wheel for peewee (pyproject.toml) ... done
  Created wheel for peewee: filename=peewee-3.17.8-py3-none-any.whl size=139064 sha256=43303408f3c01da738466c583916432fec35c0e25b8c51d6549bb4cddb780119
  Stored in directory: c:\users\032\appdata\local\pip\cache\wheels\8f\65\34\456800445efeafb05164fe95285c70e81ba1d96bae30f43917
  Building wheel for sacremoses (setup.py) ... done
  Created wheel for sacremoses: filename=sacremoses-0.0.53-py3-none-any.whl size=895249 sha256=da6e19195ae64134a3dc85566a9ca42414f50cf1b2e89d2b90374f9a6d025b8b
  Stored in directory: c:\users\032\appdata\local\pip\cache\wheels\23\9c\68\179ccbdb91b8111e62b7518d3cf19e1f6af16440f1c146f93e
  Building wheel for untokenize (setup.py) ... done
  Created wheel for untokenize: filename=untokenize-0.1.1-py3-none-any.whl size=2889 sha256=fec6497ae8da8a954b570b319b3c4a33d37f9f5d2e90e7a340870e3e51ec892d
  Stored in directory: c:\users\032\appdata\local\pip\cache\wheels\40\13\2e\5693f89ef0e698dd3e45499581571c8c390f43d03fa2097fef
Successfully built peewee sacremoses untokenize
Installing collected packages: untokenize, toposort, sentencepiece, pydub, peewee, flatbuffers, bitarray, websockets, typing-extensions, tqdm, tomlkit, sympy, semantic-version, ruff, python-multipart, pyreadline3, pymupdf, orjson, numpy, jiter, isodate, ffmpy, docformatter, Deprecated, configargparse, bitstring, aiofiles, xsdata, uvicorn, torch, tencentcloud-sdk-python, starlette, sacremoses, rich, pydantic-core, pikepdf, opencv-python-headless, opencv-python, onnx, humanfriendly, huggingface-hub, deepl, ctranslate2, click-default-group, azure-core, typer, stanza, safehttpx, pydantic, pdfminer-six, gradio-client, coloredlogs, azure-ai-translation-text, xinference-client, openai, onnxruntime, ollama, fastapi, argostranslate, yadt, gradio, gradio-pdf, pdf2zh
  Attempting uninstall: typing-extensions
    Found existing installation: typing_extensions 4.11.0
    Uninstalling typing_extensions-4.11.0:
      Successfully uninstalled typing_extensions-4.11.0
  Attempting uninstall: tqdm
    Found existing installation: tqdm 4.66.5
    Uninstalling tqdm-4.66.5:
      Successfully uninstalled tqdm-4.66.5
  Attempting uninstall: tomlkit
    Found existing installation: tomlkit 0.11.1
    Uninstalling tomlkit-0.11.1:
      Successfully uninstalled tomlkit-0.11.1
  Attempting uninstall: sympy
    Found existing installation: sympy 1.13.2
    Uninstalling sympy-1.13.2:
      Successfully uninstalled sympy-1.13.2
  Attempting uninstall: numpy
    Found existing installation: numpy 1.26.4
    Uninstalling numpy-1.26.4:
      Successfully uninstalled numpy-1.26.4
  Attempting uninstall: rich
    Found existing installation: rich 13.7.1
    Uninstalling rich-13.7.1:
      Successfully uninstalled rich-13.7.1
  Attempting uninstall: pydantic-core
    Found existing installation: pydantic_core 2.20.1
    Uninstalling pydantic_core-2.20.1:
      Successfully uninstalled pydantic_core-2.20.1
  Attempting uninstall: typer
    Found existing installation: typer 0.9.0
    Uninstalling typer-0.9.0:
      Successfully uninstalled typer-0.9.0
  Attempting uninstall: pydantic
    Found existing installation: pydantic 2.8.2
    Uninstalling pydantic-2.8.2:
      Successfully uninstalled pydantic-2.8.2
ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.
contourpy 1.2.0 requires numpy<2.0,>=1.20, but you have numpy 2.2.2 which is incompatible.
gensim 4.3.3 requires numpy<2.0,>=1.18.5, but you have numpy 2.2.2 which is incompatible.
numba 0.60.0 requires numpy<2.1,>=1.22, but you have numpy 2.2.2 which is incompatible.
Successfully installed Deprecated-1.2.15 aiofiles-23.2.1 argostranslate-1.9.6 azure-ai-translation-text-1.0.1 azure-core-1.32.0 bitarray-3.0.0 bitstring-4.3.0 click-default-group-1.2.4 coloredlogs-15.0.1 configargparse-1.7 ctranslate2-4.5.0 deepl-1.21.0 docformatter-1.7.5 fastapi-0.115.7 ffmpy-0.5.0 flatbuffers-25.1.21 gradio-5.13.0 gradio-client-1.6.0 gradio-pdf-0.0.21 huggingface-hub-0.27.1 humanfriendly-10.0 isodate-0.7.2 jiter-0.8.2 numpy-2.2.2 ollama-0.4.7 onnx-1.17.0 onnxruntime-1.20.1 openai-1.60.0 opencv-python-4.11.0.86 opencv-python-headless-4.11.0.86 orjson-3.10.15 pdf2zh-1.9.0 pdfminer-six-20240706 peewee-3.17.8 pikepdf-9.5.1 pydantic-2.10.5 pydantic-core-2.27.2 pydub-0.25.1 pymupdf-1.25.2 pyreadline3-3.5.4 python-multipart-0.0.20 rich-13.9.4 ruff-0.9.3 sacremoses-0.0.53 safehttpx-0.1.6 semantic-version-2.10.0 sentencepiece-0.2.0 stanza-1.1.1 starlette-0.45.2 sympy-1.13.1 tencentcloud-sdk-python-3.0.1310 tomlkit-0.13.2 toposort-1.10 torch-2.5.1 tqdm-4.67.1 typer-0.15.1 typing-extensions-4.12.2 untokenize-0.1.1 uvicorn-0.34.0 websockets-14.2 xinference-client-1.2.0 xsdata-24.12 yadt-0.0.1a28
PS C:\Users\032\SKT_AI\논문> pip install pdf2zh 
Defaulting to user installation because normal site-packages is not writeable
Collecting pdf2zh
  Using cached pdf2zh-1.7.9-py3-none-any.whl.metadata (10 kB)
Collecting charset-normalizer (from pdf2zh)
  Using cached charset_normalizer-3.4.1-cp313-cp313-win_amd64.whl.metadata (36 kB)
Collecting cryptography (from pdf2zh)
  Using cached cryptography-44.0.0-cp39-abi3-win_amd64.whl.metadata (5.7 kB)
Collecting requests (from pdf2zh)
  Using cached requests-2.32.3-py3-none-any.whl.metadata (4.6 kB)
Collecting pymupdf (from pdf2zh)
  Using cached pymupdf-1.25.2-cp39-abi3-win_amd64.whl.metadata (3.4 kB)
Collecting tqdm (from pdf2zh)
  Using cached tqdm-4.67.1-py3-none-any.whl.metadata (57 kB)
Collecting tenacity (from pdf2zh)
  Using cached tenacity-9.0.0-py3-none-any.whl.metadata (1.2 kB)
Collecting doclayout-yolo (from pdf2zh)
  Using cached doclayout_yolo-0.0.2-py3-none-any.whl.metadata (8.9 kB)
Requirement already satisfied: numpy in c:\users\032\appdata\local\packages\pythonsoftwarefoundation.python.3.13_qbz5n2kfra8p0\localcache\local-packages\python313\site-packages (from pdf2zh) (2.2.2)
Collecting ollama (from pdf2zh)
  Using cached ollama-0.4.7-py3-none-any.whl.metadata (4.7 kB)
Collecting deepl<1.19.1 (from pdf2zh)
  Using cached deepl-1.18.0-py3-none-any.whl.metadata (27 kB)
Collecting openai (from pdf2zh)
  Using cached openai-1.60.0-py3-none-any.whl.metadata (27 kB)
Collecting azure-ai-translation-text<=1.0.1 (from pdf2zh)
  Using cached azure_ai_translation_text-1.0.1-py3-none-any.whl.metadata (18 kB)
Collecting gradio (from pdf2zh)
  Using cached gradio-5.13.0-py3-none-any.whl.metadata (16 kB)
Collecting huggingface_hub (from pdf2zh)
  Using cached huggingface_hub-0.27.1-py3-none-any.whl.metadata (13 kB)
INFO: pip is looking at multiple versions of pdf2zh to determine which version is compatible with other requirements. This could take a while.
Collecting pdf2zh
  Using cached pdf2zh-1.7.8-py3-none-any.whl.metadata (10 kB)
  Using cached pdf2zh-1.7.7-py3-none-any.whl.metadata (9.6 kB)
  Using cached pdf2zh-1.7.6-py3-none-any.whl.metadata (6.7 kB)
  Using cached pdf2zh-1.7.5-py3-none-any.whl.metadata (6.7 kB)
  Using cached pdf2zh-1.7.4-py3-none-any.whl.metadata (6.5 kB)
Collecting isodate>=0.6.1 (from azure-ai-translation-text<=1.0.1->pdf2zh)
  Using cached isodate-0.7.2-py3-none-any.whl.metadata (11 kB)
Collecting azure-core>=1.30.0 (from azure-ai-translation-text<=1.0.1->pdf2zh)
  Using cached azure_core-1.32.0-py3-none-any.whl.metadata (39 kB)
Collecting typing-extensions>=4.6.0 (from azure-ai-translation-text<=1.0.1->pdf2zh)
  Using cached typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
Collecting idna<4,>=2.5 (from requests->pdf2zh)
  Using cached idna-3.10-py3-none-any.whl.metadata (10 kB)
Collecting urllib3<3,>=1.21.1 (from requests->pdf2zh)
  Using cached urllib3-2.3.0-py3-none-any.whl.metadata (6.5 kB)
Collecting certifi>=2017.4.17 (from requests->pdf2zh)
  Using cached certifi-2024.12.14-py3-none-any.whl.metadata (2.3 kB)
Collecting cffi>=1.12 (from cryptography->pdf2zh)
  Using cached cffi-1.17.1-cp313-cp313-win_amd64.whl.metadata (1.6 kB)
Collecting matplotlib>=3.3.0 (from doclayout-yolo->pdf2zh)
  Using cached matplotlib-3.10.0-cp313-cp313-win_amd64.whl.metadata (11 kB)
Requirement already satisfied: opencv-python>=4.6.0 in c:\users\032\appdata\local\packages\pythonsoftwarefoundation.python.3.13_qbz5n2kfra8p0\localcache\local-packages\python313\site-packages (from doclayout-yolo->pdf2zh) (4.11.0.86)
Collecting pillow>=7.1.2 (from doclayout-yolo->pdf2zh)
  Using cached pillow-11.1.0-cp313-cp313-win_amd64.whl.metadata (9.3 kB)
Collecting pyyaml>=5.3.1 (from doclayout-yolo->pdf2zh)
  Using cached PyYAML-6.0.2-cp313-cp313-win_amd64.whl.metadata (2.1 kB)
Collecting scipy>=1.4.1 (from doclayout-yolo->pdf2zh)
  Using cached scipy-1.15.1-cp313-cp313-win_amd64.whl.metadata (60 kB)
INFO: pip is looking at multiple versions of doclayout-yolo to determine which version is compatible with other requirements. This could take a while.
INFO: pip is still looking at multiple versions of pdf2zh to determine which version is compatible with other requirements. This could take a while.
Collecting pdf2zh
  Using cached pdf2zh-1.7.3-py3-none-any.whl.metadata (6.5 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Using cached pdf2zh-1.7.2-py3-none-any.whl.metadata (5.4 kB)
  Using cached pdf2zh-1.7.1-py3-none-any.whl.metadata (5.3 kB)
Collecting deepl (from pdf2zh)
  Using cached deepl-1.21.0-py3-none-any.whl.metadata (30 kB)
Collecting pdf2zh
  Using cached pdf2zh-1.7.0-py3-none-any.whl.metadata (5.0 kB)
  Using cached pdf2zh-1.6.9-py3-none-any.whl.metadata (4.7 kB)
  Using cached pdf2zh-1.6.8-py3-none-any.whl.metadata (4.6 kB)
  Using cached pdf2zh-1.6.7-py3-none-any.whl.metadata (3.7 kB)
INFO: pip is still looking at multiple versions of doclayout-yolo to determine which version is compatible with other requirements. This could take a while.
  Using cached pdf2zh-1.6.6-py3-none-any.whl.metadata (3.6 kB)
  Using cached pdf2zh-1.6.5-py3-none-any.whl.metadata (3.2 kB)
  Using cached pdf2zh-1.6.4-py3-none-any.whl.metadata (3.1 kB)
  Using cached pdf2zh-1.6.3-py3-none-any.whl.metadata (3.1 kB)
  Using cached pdf2zh-1.6.2-py3-none-any.whl.metadata (3.0 kB)
INFO: This is taking longer than usual. You might need to provide the dependency resolver with stricter constraints to reduce runtime. See https://pip.pypa.io/warnings/backtracking for guidance. If you want to abort this run, press Ctrl + C.
  Using cached pdf2zh-1.6.1-py3-none-any.whl.metadata (3.0 kB)
  Using cached pdf2zh-1.6.0-py3-none-any.whl.metadata (3.0 kB)
  Using cached pdf2zh-1.5.9-py3-none-any.whl.metadata (2.9 kB)
  Using cached pdf2zh-1.5.8-py3-none-any.whl.metadata (2.9 kB)
  Using cached pdf2zh-1.5.7-py3-none-any.whl.metadata (2.9 kB)
  Using cached pdf2zh-1.5.6-py3-none-any.whl.metadata (2.9 kB)
  Using cached pdf2zh-1.5.5-py3-none-any.whl.metadata (2.9 kB)
  Using cached pdf2zh-1.5.4-py3-none-any.whl.metadata (2.9 kB)
  Using cached pdf2zh-1.5.3-py3-none-any.whl.metadata (2.9 kB)
ERROR: Cannot install pdf2zh==1.7.5, pdf2zh==1.7.6, pdf2zh==1.7.7, pdf2zh==1.7.8 and pdf2zh==1.7.9 because these package versions have conflicting dependencies.

The conflict is caused by:
    pdf2zh 1.7.9 depends on torch
    pdf2zh 1.7.8 depends on torch
    pdf2zh 1.7.7 depends on torch
    pdf2zh 1.7.6 depends on torch
    pdf2zh 1.7.5 depends on torch

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip to attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

 

 

STEP 2 : Execute translation, files generated in current working directory

(paper_env) C:\Users\032\SKT_AI\논문>pdf2zh 패기3팀.pdf -li en -lo ko
# pdf2zh 논문이름.pdf -li 원본언어 -lo 번역할언어

 

 

언어 코드 리스트 :

https://developers.google.com/admin-sdk/directory/v1/languages?hl=ko

 

언어 코드  |  Admin console  |  Google for Developers

이 페이지는 Cloud Translation API를 통해 번역되었습니다. 의견 보내기 언어 코드 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 아래 표의 언어 코드는 Customer.l

developers.google.com

 

번역이 완료 되었다!