티스토리 뷰

PDFMathTranslate는 과학 논문 PDF를 번역하면서 차트, 수식, 레이아웃을 그대로 유지할 수 있는 파이썬 라이브러리다.

 

Github: 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 - Byaidu/PDFMathTranslate

github.com

가장 자세한 건 해당 깃헙의 readme를 보는 걸 추천한다. 

 

PDF 번역 시 수식이 깨지거나 고유명사가 깨지는 경우가 많은데 이 라이브러리는 특정 폰트를 제외하여 번역하는 구조라 수식이 보존된 형태로 번역이 된다.

 

https://github.com/Byaidu/PDFMathTranslate/raw/main/docs/images/preview.gif


설치

요구 사항

  1. Python(버전 3.8–3.12)

tip: conda를 사용하면 버전별 가상환경을 만들기 쉬움

설치 단계

  1. pip 명령어를 통해 pdf2zh를 설치함
    pip install pdf2zh
  2. 설치 확인
    pdf2zh --version

사용법

명령어 기반 번역

특정 PDF 파일을 번역하려면 아래 명령어를 사용한다. 주의사항은 해당 PDF가 있는 경로의 터미널에서 입력해야한다.

pdf2zh "파일명.pdf" -lo ko

 

  • PDF 파일을 한국어(-lo ko)로 번역함
  • 현재 디렉토리에 번역된 결과물을 저장하며, mono(단일)과 dual(원문-번역문)이 모두 저장됨

 

간단하게 설명하면 해당 PDF가 있는 폴더에서 '우클릭 > 터미널에서 열기(powershell)'를 클릭한 뒤,

 

아래 처럼 명령어를 입력하면 번역이 진행된다.

추가 옵션

  • 번역 언어 지정: -lo ko (예: 영어 원본).
  • 출력 디렉토리 지정: -o output_dir (번역 파일을 특정 폴더에 저장).
  • 더 많은 옵션은 readme의 여기를 참고 
    • 기본적으로 구글 번역이 사용되고 원하는 경우 deepl이나 openAI를 붙일 수 있음. 단, API 사용료는 본인이 키를 가지고 있어야하므로 유료임
  • 폰트 예외 지정: -f, -c
    • 만약 특정 폰트를 번역에서 제외하거나 포함하려면 여기를 참고
    • defalut 명령어는 아래와 같이 지정되어있음
pdf2zh example.pdf -f "(CM[^R]|MS.M|XY|MT|BL|RM|EU|LA|RS|LINE|LCIRCLE|TeX-|rsfs|txsy|wasy|stmary|.*Mono|.*Code|.*Ital|.*Sym|.*Math)"

 

폴더 내 모든 PDF 파일 자동 번역

PowerShell 또는 Mac Terminal을 사용해 폴더 안의 모든 PDF 파일을 한국어로 번역하려면 다음 스크립트를 사용할 수 있다.

PowerShell 스크립트 (Windows)

Get-ChildItem -Path "C:\PDF_Folder" -Filter *.pdf | ForEach-Object { pdf2zh $_.FullName -lo ko }

Bash 스크립트 (Mac/Linux)

for file in /path/to/folder/*.pdf; do
    pdf2zh "$file" -lo ko
done

bash는 제가 테스트해보지 못해서 오류가 있을 수 있습니다.

 

 

GUI (웹 화면) 기반 번역

웹 화면으로 번역할 수도 있다. 

pdf2zh -i

 

경로 상관없이 위 명령어를 입력하면 아래와 같이 로컬 화면이 입력되고, 웹 화면이 자동으로 열린다.

단, 시간이 5-10초 소요될 수 있기 때문에 기다림이 필요함

 

웹이 열려도 터미널은 닫지 말고 계속 열어두세요.

원하는 옵션에 맞게 사용할 수 있다.

 

번역 결과

 

mono 버전 : 이탤릭체는 제외하고 번역됨

dual 버전: 1페이지씩 원본과 번역본이 생김. 즉, 페이지 수가 2배인 PDF가 만들어짐

 

개인적인 바람으론 mono나 dual을 고를 수 있는 옵션이 생겼으면 좋겠고..

Zotero의 플러그인이 생기길 기다리는 중 (readme를 보면 To-do라고 적혀있긴 함)

 

오픈소스다보니 이런 프로젝트에 기여할 수 있을 것 같다는 생각도 있다.

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함