BookTranslator
BookTranslator

다단 PDF를 읽기 순서를 망가뜨리지 않고 번역하는 방법

2단 PDF를 번역하기 전에 읽기 순서를 확인하고, 그 결과에 따라 레이아웃 유지, OCR 또는 재구성 워크플로를 선택한 뒤 번역된 단, 캡션, 넘침을 검토하세요.

BookTranslator

BookTranslator Team

24 min read

빠른 답변: 번역 전에 읽기 순서를 확인하세요

2단 PDF는 겉보기에는 깔끔해 보여도 번역 도구에 문단을 잘못된 순서로 전달할 수 있습니다. 그렇게 되면 번역은 문장별로는 유창하지만 페이지 전체로서는 의미가 통하지 않게 됩니다. 어떤 도구도 잘못 읽은 원문을 번역으로 해결할 수는 없습니다.

따라서 작업 순서는 다음과 같습니다:

  1. 페이지 읽기 방식을 확인하세요. 대표적인 페이지 하나를 복사하여 모든 문단이 사람이 읽는 순서대로 나오는지 확인하세요.
  2. 그 확인 결과에 따라 워크플로를 선택하세요. 순서가 올바르면 레이아웃을 유지하는 PDF 번역을, 텍스트를 사용할 수 없으면 OCR 모드를, 편집 가능한 파일이 필요하면 변환 후 복구 경로를 사용하세요.
  3. 번역된 단을 확인하세요. 단 나눔, 그림 캡션, 전체 폭 주석, 각주, 너무 길게 넘어가는 줄을 살펴보세요.

이 가이드의 나머지 부분에서는 직접 다운로드하여 실행할 수 있는 작은 테스트를 통해 1단계를 건너뛸 수 없는 이유를 보여줍니다. 내보낸 보고서, 논문, 뉴스레터처럼 실제 텍스트 레이어가 있는 PDF를 다룹니다. 페이지가 스캔본이라면 스캔한 PDF를 번역하는 방법부터 시작하세요.

테스트한 내용

2026-10-20에 우리는 동일한 텍스트로 세 개의 1페이지 PDF를 만들었습니다: 제목, 왼쪽 단 상단의 그림 상자, 각 단에 세 개의 문단, 두 단에 걸친 굵은 주석, 각주가 포함됩니다. 모든 문단은 P1부터 P8까지의 표시로 시작하므로 올바른 읽기 순서는 P1부터 P8까지입니다.

왼쪽 단 상단에 그림 상자, 그 아래에 문단 P1P3, 오른쪽 단에 P4P6, 전체 폭 주석 P7이 있는 2단 테스트 페이지

세 파일은 화면에서 볼 수 없는 방식으로 다릅니다:

  • two-column-stream-logical.pdf는 텍스트를 왼쪽 단 먼저, 그다음 오른쪽 단 순으로 저장합니다.
  • two-column-stream-rowwise.pdf는 겉보기에는 동일하지만 줄을 행별로 저장하여 단을 번갈아 가며 기록합니다.
  • two-column-no-figure-rowwise.pdf는 텍스트를 행별로 저장하며 그림 상자가 없습니다. 이 파일이 대조군입니다.

그런 다음 우리는 일곱 가지 일반적인 오픈소스 방법으로 텍스트를 추출하고 각 방법이 반환한 문단 순서를 기록했습니다:

추출기논리적 저장, 그림 있음행별 저장, 그림 있음행별 저장, 그림 없음
pdftotext 26.08.0 (기본값)P4 P1 P5 P6 P2 P3 P7 P8P4 P1 P5 P6 P2 P3 P7 P8P1–P8 정확
pdftotext -rawP1–P8 정확P1 P4 P5 P2 P6 P3 P7 P8P1 P4 P5 P2 P6 P3 P7 P8
pdftotext -layoutP4 P5 P6 P1 P2 P3 P7 P8P4 P5 P6 P1 P2 P3 P7 P8P1 P4 P5 P2 P6 P3 P7 P8
pypdf 5.1.0 extract_text()P1–P8 정확P1 P4 P5 P2 P6 P3 P7 P8P1 P4 P5 P2 P6 P3 P7 P8
pdfminer.six 20240706P4 P5 P6 P1 P2 P3 P7 P8P4 P5 P6 P1 P2 P3 P7 P8P1–P8 정확
PyMuPDF 1.24.14 get_text()P1–P8 정확P1 P4 P5 P2 P6 P3 P7 P8P1 P4 P5 P2 P6 P3 P7 P8
PyMuPDF 1.24.14 get_text(sort=True)P4 P5 P6 P1 P2 P3 P7 P8P4 P5 P6 P1 P2 P3 P7 P8P1 P4 P5 P2 P6 P3 P7 P8

일곱 가지 방법 중 세 파일을 모두 제대로 처리한 방법은 없었습니다. 한 파일을 제대로 처리한 모든 방법은 다른 파일 하나를 잘못 처리했습니다. 대조 파일에서는 pdftotext -raw, pdftotext -layout, 그리고 sort=True를 사용한 PyMuPDF도 두 단의 텍스트가 섞인 세 줄을 출력했는데, 이는 복사한 텍스트가 단 사이 여백을 가로지를 때 독자가 보게 되는 것과 정확히 같습니다. sort=True를 사용한 PyMuPDF는 나머지 두 파일에서도 각각 그런 줄을 하나씩 생성했습니다.

이 테스트는 의도적으로 작습니다. ReportLab으로 만든 태그 없는 합성 영어 페이지 하나뿐입니다. 이 테스트는 이 라이브러리들의 순위를 매기지 않으며, BookTranslator를 포함한 어떤 번역 제품도 테스트하지 않았습니다. 이 테스트가 보여주는 것은 더 좁지만 더 유용합니다. 똑같아 보이는 페이지도 서로 다른 원문 순서를 만들어낼 수 있으므로, 신뢰할 수 있는 유일한 확인 방법은 자신의 파일로 직접 확인하는 것입니다.

픽스처 생성기, 세 개의 PDF(논리 순서, 행 단위, 그림 없음), 순서 검사기, 일곱 가지 방법을 모두 호출하는 추출기 실행기, 그리고 결과 CSV를 사용해 테스트를 재현할 수 있습니다.

같은 페이지가 다른 순서로 읽히는 이유

추출기는 두 가지 전략 중 하나를 사용하며, 각각은 서로 다른 파일에서 실패합니다.

전략 1: 파일에 저장된 순서를 따릅니다. PDF는 만든 사람이 쓴 순서대로 텍스트를 그립니다. poppler 매뉴얼은 pdftotext -raw를 "텍스트를 콘텐츠 스트림 순서로" 유지한다고 설명하며(더 이상 해당 모드를 권장하지 않음), PyMuPDF 문서는 기본 출력이 "문서에 코딩된 그대로"의 일반 텍스트라고 밝힙니다(poppler pdftotext 매뉴얼, PyMuPDF 텍스트 레시피). 이 방식은 파일이 텍스트를 읽기 순서로 저장했을 때는 잘 작동합니다. 하지만 두 번째 파일처럼 저장된 순서가 행 단위일 때는 페이지가 똑같아 보여도 실패합니다.

전략 2: 페이지에서 텍스트가 놓인 위치를 기준으로 순서를 재구성합니다. pdftotext의 기본 모드는 텍스트를 "읽기 순서로" 출력하려고 시도하고, pdfminer.six는 인접한 줄을 상자로 묶어 순서를 정할 때 "가로 및 세로 위치"에 가중치를 줄 수 있게 하며, PyMuPDF의 sort=True는 "왼쪽 위에서 오른쪽 아래로" 정렬합니다(pdfminer.six LAParams). 이러한 방법은 저장된 순서를 무시하므로 논리 순서 파일과 행 단위 파일이 동일한 결과를 냅니다.

대조 파일이 실패 원인을 설명합니다. 그림이 없을 때는 pdftotext의 기본 모드와 pdfminer.six 모두 P1부터 P8까지 올바르게 읽습니다. 왼쪽 단 상단에 그림 상자를 추가하면 오른쪽의 첫 문단(P4)이 페이지에서 가장 위에 있는 텍스트가 됩니다. 세로 위치에 가중치를 두는 방법은 페이지를 그곳에서 시작합니다.

이것은 예외적인 경우가 아니라 흔한 페이지 디자인입니다. 논문은 왼쪽 단을 그림이나 초록 상자로 시작하고, 잡지는 이미지 아래에서 단을 시작하며, 매뉴얼은 첫 단계 위에 경고 상자를 둡니다. 전체 폭 주석(P7)과 각주(P8)는 모든 실행에서 제자리에 있었으므로, 페이지만 아래쪽을 확인하는 검사로는 문제를 놓치게 됩니다.

1단계: 5분 만에 자신의 PDF 확인하기

테스트 파일의 표식은 여러분의 문서에는 없지만, 직접 고른 몇 문장으로 같은 확인을 할 수 있습니다.

  1. 첫 페이지가 아니라 가장 어려운 페이지를 고르세요. 단 상단 근처에 그림, 표, 상자형 주석이 있고 중간쯤에 전체 폭 제목이나 주석이 있는 두 단 페이지를 선택하세요.
  2. 다섯 개의 기준 문구를 읽기 순서대로 적으세요. 왼쪽 단의 첫 단어, 왼쪽 단의 마지막 단어, 오른쪽 단의 첫 단어, 전체 폭 요소, 캡션입니다.
  3. PDF 뷰어에서 페이지 전체를 복사해 일반 텍스트 편집기에 붙여넣으세요. 원문 미리보기가 있는 도구를 사용한다면 그 미리보기를 대신 사용하세요. 도구가 실제로 받은 순서를 보여주기 때문입니다.
  4. 붙여넣은 텍스트에서 기준 문구를 찾으세요. 적어 둔 순서대로 나타나야 하며, 어느 한 줄도 두 단의 단어를 함께 포함해서는 안 됩니다.
  5. 다른 페이지 유형 하나에 대해 반복하세요. 참고문헌 페이지, 사이드바가 있는 페이지, 또는 장의 첫 페이지 같은 것입니다.

결과는 다음과 같이 해석하세요.

붙여넣은 텍스트가 보여주는 것일반적으로 의미하는 것다음 단계
기준 문구가 순서대로, 섞인 줄 없음텍스트와 읽기 순서를 사용할 수 있음레이아웃을 유지하는 PDF 번역
오른쪽 단이 왼쪽 단보다 먼저 시작됨페이지를 세로 위치 기준으로 읽고 있음전체 파일 결제 전에 이 페이지에서 번역 도구를 테스트하세요
두 단의 텍스트가 한 줄에 섞임페이지를 가로질러 곧장 읽고 있음복사해서 붙여넣지 말고, 파일 기반 워크플로를 사용하고 이 페이지를 테스트하세요
문단이 단 사이를 건너뜀저장된 순서가 행 단위이거나 깨져 있음파일 기반 워크플로를 테스트하고, 실패하면 먼저 복구하거나 변환하세요
아무것도 붙여넣어지지 않거나 문자가 잘못됨이미지만 있는 페이지 또는 손상된 텍스트 레이어OCR을 사용하세요. PDF 텍스트 추출 vs OCR을 참고하세요

복사해서 붙여넣는 것은 빠른 확인일 뿐, 다른 도구가 어떻게 작동할지 증명하지는 않습니다. 우리 표는 두 도구가 같은 파일을 다르게 읽을 수 있음을 보여줍니다. 뷰어의 결과는 파일이 얼마나 위험한지 알려줍니다. 도구 자체의 미리보기나 한 페이지 테스트 번역은 그 도구가 실제로 무엇을 읽는지 알려줍니다.

텍스트가 올바른 글자로 붙여넣어지지만 간격이나 줄바꿈이 깨진다면, 단 순서를 판단하기 전에 복사-붙여넣기 텍스트 문제 해결을 먼저 하세요.

2단계: 확인한 내용을 바탕으로 워크플로 선택하기

레이아웃을 유지한다는 도구의 주장이 아니라 확인 결과에 따라 워크플로를 선택하세요.

순서가 올바르고 텍스트를 선택할 수 있음. PDF를 청크로 붙여넣지 말고 파일로 번역하세요. 레이아웃 보존 워크플로는 번역된 텍스트를 페이지에 다시 배치하므로 단, 그림, 러닝 헤드가 독자가 기대하는 위치에 유지됩니다. BookTranslator에서는 이것이 표준 PDF 번역 경로입니다. 우리 것을 포함해 레이아웃을 유지하겠다는 모든 약속은 보장이 아니라 1단계에서 찾은 가장 어려운 페이지에서 검증해야 할 사항으로 취급하세요.

그림이나 박스 요소 근처에서만 순서가 깨짐. 전체 문서를 번역하기 전에 선택한 도구로 문제 페이지 하나를 실행해 보세요. 그 페이지가 올바른 순서로 나오면 도구가 복사 확인과 같은 전략을 사용하지 않는 것입니다. 뒤죽박죽으로 나오면 나머지 파일이 다르게 작동하기를 바라지 말고 워크플로를 바꾸세요.

페이지가 스캔되었거나 텍스트 레이어를 사용할 수 없음. OCR을 사용하세요. BookTranslator의 OCR 모드는 페이지 이미지를 읽고 깨끗한 번역 PDF를 재구성합니다. 해당 페이지에서는 정확한 레이아웃보다 내용 보존이 더 중요한 교재, 학술 논문, 표, 이미지가 많은 페이지에 이 모드를 권장합니다. 이 가이드의 테스트 파일에서는 테스트하지 않았습니다. 트레이드오프는 명확합니다. OCR 모드는 원본 레이아웃, 글꼴, 글꼴 크기를 보존하려 하지 않습니다. 특히 스캔 문서의 경우 스캔한 PDF 번역 방법을 참고하세요.

어차피 편집 가능한 문서가 필요함. PDF를 Word로 변환하고 그곳에서 읽기 순서를 수정한 다음 DOCX를 번역하세요. 가장 많은 노력이 들지만 번역 전에 문단 순서를 직접 수정할 수 있는 유일한 방법입니다. 레이아웃도 바뀌므로 출력물을 추가로 편집할 때 사용하고, 원본 페이지처럼 보여야 할 때는 사용하지 마세요.

단을 챗봇이나 텍스트 상자에 붙여넣는 것은 피하세요. 모든 페이지에서 순서, 캡션, 각주를 직접 재구성해야 합니다. 우리 표는 시작하기도 전에 그 순서가 얼마나 쉽게 깨지는지 보여줍니다.

같은 문제가 수식, 인용, 참고문헌과 결합되는 학술 논문의 경우 연구 논문 번역 워크플로를 따르세요. 모든 PDF 유형에 걸친 일반적인 레이아웃 보존 과정은 형식을 유지하면서 PDF를 번역하는 방법을 참고하세요.

3단계: 번역된 단 확인하기

다단 번역은 대충 훑어볼 때 놓치는 부분에서 실패합니다. 1단계에서 테스트한 모든 페이지 유형에서 다음 다섯 곳을 확인하세요:

  1. 단 나눔 경계. 왼쪽 단의 마지막 문장과 오른쪽 단의 첫 문장을 읽어 보세요. 논조가 이어져야 하며, 다른 문단으로 건너뛰면 안 됩니다.
  2. 캡션과 그림. 모든 캡션은 번역된 상태로 해당 그림 아래에 있어야 하며, 본문 텍스트 속으로 흘러 들어가서는 안 됩니다.
  3. 전체 폭 요소. 두 단에 걸쳐 있는 제목, 주석, 인용문은 여전히 두 단에 걸쳐 있어야 하며, 두 개의 반쪽 문장으로 쪼개져서는 안 됩니다.
  4. 각주와 러닝 헤드. 본문의 각주 표시는 페이지 하단의 주석과 일치해야 하며, 페이지 머리글은 문단 중간에 나타나서는 안 됩니다.
  5. 좁은 단에서의 넘침. 번역된 텍스트는 원문보다 긴 경우가 많습니다. W3C의 번역 시 텍스트 크기 지침은 70자 이상의 영어 원문을 유럽 언어로 번역할 때 길이가 약 130%가 된다는 IBM 수치를 인용하며, 짧은 문자열에서는 증가 폭이 더 큽니다. 좁은 단은 그 추가 텍스트를 담을 여유가 거의 없으므로 잘린 줄, 작아진 글자, 그림과 겹치는 텍스트를 찾아보세요. 제목과 표 셀이 넘칠 가능성이 가장 큽니다.

검토에는 대역 파일이 도움이 되지만, 그 레이아웃이 중요합니다. 원문과 번역문을 같은 페이지에 두면 이미 좁은 단에 두 언어를 밀어 넣게 됩니다. BookTranslator의 표준 PDF 번역(OCR 모드 꺼짐)에서 대역 PDF는 같은 페이지와 페이지 분리의 두 가지 레이아웃을 제공합니다. 다단 문서의 경우 페이지 분리를 선택하세요. 각 원문 페이지 뒤에 번역된 페이지가 이어지므로 모든 단이 원래 너비를 유지합니다. 번역문만 있는 버전도 계속 다운로드할 수 있습니다. 나머지 파일 수준 점검은 PDF 번역 QA 체크리스트에서 다룹니다.

번역된 PDF가 스크린 리더와도 호환되어야 한다면 시각적 순서만으로는 충분하지 않습니다. 태그된 읽기 순서는 별도로 점검해야 합니다. W3C는 태그된 PDF의 읽기 순서가 "주로 문서 요소의 태그 순서에 의해 결정된다"고 설명합니다(W3C PDF3). 번역된 PDF 접근성 가이드에서 이를 테스트하는 방법을 확인하세요.

이 가이드가 주장하지 않는 것

  • 도구 순위가 아닙니다. 일곱 가지 추출기는 흔하고 다시 실행하기 쉬워서 선택했습니다. 각 추출기는 세 파일 중 최소 하나에서 실패했으며, 다른 테스트 파일을 사용하면 실패하는 추출기가 달라질 수 있습니다.
  • 번역 제품을 테스트하지 않았습니다. 이 파일들에 BookTranslator, DeepL, Google Translate 또는 다른 번역기를 실행하지 않았습니다. 위의 제품 설명은 이 테스트가 아니라 BookTranslator의 현재 제품 문구에서 가져온 것입니다.
  • 한 페이지는 문서가 아닙니다. 실제 파일은 여러 페이지 디자인이 섞여 있으므로 최소 두 가지 페이지 유형을 확인하세요.
  • 태그된 PDF는 다르게 동작할 수 있습니다. 우리 테스트 파일은 태그가 없습니다. 제대로 태그된 PDF는 일부 도구가 사용하는 명시적 읽기 순서를 포함합니다.

그래도 실용적인 원칙은 유효합니다. 번역하기 전에 PDF가 어떻게 읽히는지 먼저 파악하세요. 순서가 올바르면 파일을 번역하고 단을 확인하세요. 순서가 잘못되었다면 번역 설정이 아니라 워크플로를 바꾸세요.

관련 글

다단 PDF를 읽기 순서를 망가뜨리지 않고 번역하는 방법