PDF를 Excel로: 표 추출은 실제로 어떻게 이루어질까
PDF에서 표가 보입니다. 행, 열, 머리글, 맨 아래의 합계까지요. 변환기가 이를 그대로 스프레드시트로 옮겨 주는 것이 당연해 보입니다. 문제는 PDF에 표가 들어 있지 않다는 것입니다. PDF에 있는 것은 특정 위치에 글자를 그리고 다른 위치에 선을 그리라는 명령이며, 보이는 격자는 눈이 조합해 낸 것입니다. 모든 PDF Excel 변환기는 흩어진 조각들로 표를 다시 만들어야 하며, 그래서 결과가 완벽한 것부터 쓸 수 없는 것까지 제각각입니다. 이 가이드에서는 표를 다시 만드는 원리, 실패하는 지점, 그리고 어떤 경우든 깔끔한 숫자를 Excel로 가져오는 방법을 설명합니다.
PDF 표 안에는 실제로 무엇이 있을까
세 열로 된 청구서의 한 행을 예로 들어 보겠습니다. “컨설팅”, “2026년 3월 12일”, “1,250.00”. PDF 안에서 이 행은 x 좌표와 y 좌표를 가진 텍스트 조각들의 모음입니다. 조각이 단어와 일치하지 않을 수도 있습니다. 어떤 프로그램은 “1,250.00”을 한 조각으로 쓰고, 어떤 프로그램은 “1,2”와 “50.00”으로 나눠 쓰며, 또 어떤 프로그램은 글자를 하나씩 따로 놓습니다. 조각이 읽는 순서대로 나와야 하는 것도 아닙니다. 어떤 프로그램은 표 전체를 한 열씩 그립니다.
격자의 선은 텍스트와 연결되지 않은 별도의 그리기 명령입니다. 굵은 선 하나가 짧은 선분 여러 개로 그려질 수도 있고, 음영이 들어간 행은 선 없이 색을 채운 사각형일 수도 있으며, 선이 전혀 없는 표도 많습니다. 파일 어디에도 “이것은 셀이다”, “이 두 셀은 병합되었다”, “이 행은 표에 속한다”는 정보는 없습니다.
변환기가 표를 찾는 두 가지 방법
표 추출 도구는 대개 두 가지 방법 중 하나를 씁니다. Tabula와 Camelot 같은 오픈 소스 도구는 이를 “lattice”(격자)와 “stream”(흐름)이라고 부릅니다.
- 괘선 따라가기(lattice). 변환기가 가로선과 세로선을 모아 교차점을 계산하고, 둘러싸인 각 영역을 셀로 취급합니다. 그런 다음 각 텍스트 조각을 그것이 들어가는 셀에 넣습니다. 격자가 온전한 표에서는 아주 잘 작동합니다. 하지만 선이 없을 때, 선이 여러 조각으로 끊겨 서로 딱 맞물리지 않을 때, 테두리 대신 음영을 썼을 때는 실패합니다.
- 공백 따라가기(stream). 변환기가 페이지에서의 높이에 따라 텍스트를 행으로 묶은 다음, 여러 행에 걸쳐 일정하게 이어지는 세로 공백을 찾아 열의 경계로 취급합니다. 많은 재무제표처럼 테두리가 없는 표를 처리할 수 있습니다. 하지만 열이 서로 가까울 때, 열이 정렬되지 않고 가운데 맞춤되어 있을 때, 한 행의 긴 값이 다른 모든 행에서 두 열을 가르는 공백을 가로지를 때는 어려움을 겪습니다.
두 방법 모두 경험적 규칙입니다. 깔끔하고 규칙적인 표에서는 믿을 만하지만 그 밖의 경우에는 믿기 어렵고, 그래서 모든 표를 제대로 처리하는 변환기는 없습니다.
표 추출이 잘못되는 지점
열을 제대로 찾았더라도 몇 가지 문제는 거듭 나타납니다.
- 줄 바꿈된 셀. 두 번째 줄로 넘어간 설명은 한 열만 채워진 새 행처럼 보입니다.
- 병합되거나 여러 열에 걸친 제목. 두 열 위에 걸쳐 있는 제목은 둘 중 하나에 배정되거나 어느 쪽에도 배정되지 않아야 합니다.
- 페이지 나누기. 다음 페이지로 이어지는 표는 머리글이 반복되고, 한 행이 나누기 지점에서 둘로 쪼개질 수도 있습니다.
- 텍스트로 들어오는 숫자. 통화 기호, 천 단위 구분 기호, 괄호로 표시한 음수, 숫자에 붙은 각주 표시는 모두 Excel이 숫자를 인식하지 못하게 할 수 있습니다. “1.250,00”처럼 소수점으로 쉼표를 쓰는 숫자는 Excel이 같은 규칙을 쓸 때만 올바르게 읽힙니다.
- 모호한 날짜. 03/04/2026은 어떤 나라에서는 4월 3일, 다른 나라에서는 3월 4일이며, Excel은 설정에 따라 그중 하나를 고릅니다.
- 텍스트 대응표가 없는 글꼴. 일부 PDF는 각 글리프를 글자로 되돌리는 대응표 없이 글꼴을 포함합니다. 화면에는 완벽하게 표시되지만, 텍스트를 복사하거나 추출하면 알아볼 수 없는 문자가 나옵니다.
- 스캔본. 스캔한 페이지에는 텍스트가 전혀 없고 텍스트를 찍은 그림만 있으므로, 먼저 OCR을 거치지 않으면 추출할 것이 없습니다.
PDF Excel 변환기가 하는 일
PDF Excel 변환기는 브라우저에서 실행되므로 파일이 업로드되지 않습니다. PDF의 각 페이지마다 1페이지, 2페이지처럼 이름 붙은 워크시트를 하나씩 만듭니다. A열에는 페이지의 모든 텍스트 줄을 위에서 아래로 한 줄에 한 행씩 쓰고, 각 그림은 페이지에서 그려진 위치에 놓습니다.
열이 어디인지 추측하려고 하지 않습니다. 그래서 모든 줄이 읽는 순서대로 유지되고, 잘못된 추측 때문에 빠지거나 엉뚱한 열에 들어가는 것이 없습니다. 하지만 그만큼 표의 한 행이 값 사이에 공백 하나씩을 둔 셀 하나로 들어오므로, 열로 나누는 일은 직접 해야 합니다. PDF가 표를 한 열씩 그렸다면 한 행의 값들이 대신 연속된 셀에 들어올 수 있습니다.
OCR이 없으므로 스캔한 페이지는 텍스트가 아닌 그림으로 들어옵니다. 열 때 비밀번호가 필요한 PDF는 먼저 잠금을 해제해야 합니다.
Excel에서 한 열을 실제 열로 나누기
작업의 나머지 절반에는 Excel의 좋은 도구들이 있습니다.
- [데이터] 탭의 텍스트 나누기는 구분 기호를 기준으로 열을 나눕니다. [구분 기호로 분리됨]을 고른 다음 [공백]을 고르세요. 값 자체에 공백이 없을 때 잘 작동하며, 숫자와 코드로 된 표에서는 흔한 경우입니다. 마지막 단계의 [고급]에서 소수 구분 기호와 천 단위 구분 기호를 지정할 수 있어, “1.250,00” 형식의 숫자도 바로잡을 수 있습니다.
- 빠른 채우기(Ctrl+E)는 예시를 보고 배웁니다. 첫 행에서 원하는 값을 옆 열에 입력하고 Ctrl+E를 누르면, Excel이 같은 패턴에 따라 나머지를 채웁니다.
- Microsoft 365용 Excel의 수식.
=TEXTSPLIT(A2," ")은 한 줄을 여러 열로 나누고,=TEXTAFTER(A2," ",-1)은 마지막 공백 뒤의 모든 내용을 돌려주는데, 대개 줄 끝의 금액입니다. 숫자로 바꾸려면VALUE()로 감싸세요.
Windows용 Microsoft 365 Excel에서는 [데이터] > [데이터 가져오기] > [파일에서] > [PDF에서]를 통해 PDF를 직접 가져올 수도 있습니다. 표를 스스로 찾아 주므로, 테두리가 분명한 표라면 시도해 볼 만합니다.
시도해 볼 만한 다른 방법
PDF에서 표를 꺼내는 가장 확실한 방법은 PDF에서 꺼내지 않는 것입니다. 그 숫자들은 원래 스프레드시트, 회계 시스템, 데이터베이스에서 나왔고, PDF를 만든 사람은 대개 같은 데이터를 스프레드시트나 CSV 파일로 내보낼 수 있습니다. 예를 들어 많은 은행에서는 거래 내역서를 PDF뿐 아니라 CSV로도 다운로드할 수 있습니다.
선으로 된 격자가 온전한 표라면 PDF Word 변환기를 시도해 볼 만합니다. 표가 실제 Word 표로 넘어오면 Excel에 복사해도 셀이 셀로 유지됩니다. PDF Word 변환기는 스캔한 페이지에 OCR을 실행하므로, 스캔한 표에도 이 방법을 쓸 수 있습니다.
쓰기 전에 결과 확인하기
추출 오류는 조용히 일어납니다. 엉뚱한 열에 들어간 값도 올바른 열에 있는 값처럼 멀쩡해 보입니다. 추출한 데이터를 믿고 쓰기 전에 다음을 확인하세요.
SUM으로 한 열을 더해 PDF에 인쇄된 합계와 비교하세요. 일치한다면 숫자가 거의 확실히 제대로 넘어온 것입니다. 이것이 가장 좋은 단 하나의 검사입니다.- 행 수를 PDF와 비교하고, 페이지 나누기 때문에 문제가 생기기 쉬운 각 페이지의 첫 행과 마지막 행을 자세히 살펴보세요.
- 텍스트로 저장된 숫자를 찾아보세요. 기본적으로 Excel은 이런 숫자를 셀 왼쪽에 맞추고 작은 초록색 삼각형으로 표시합니다.
- 날짜 몇 개를 직접 확인하세요. 특히 일이 12 이하인 날짜를 확인하세요.
마치며
PDF 표는 연결된 것처럼 보일 뿐인 텍스트와 선으로 만든, 표의 그림입니다. 변환기는 괘선이나 공백을 기준으로 표를 다시 만들며, 두 방법 모두 불규칙한 레이아웃에서는 실패합니다. 이를 알면 알맞은 방법을 고를 수 있습니다. 가능하면 원본 데이터를 요청하고, 그럴 수 없으면 줄을 추출해 Excel에서 나누고, 숫자를 중요한 곳에 쓰기 전에는 항상 합계를 확인하세요.
PDF의 텍스트를 스프레드시트로 옮겨야 하나요? PDF Excel 변환기를 사용해 보세요.
← 블로그로 돌아가기