PDF 엑셀 변환
PDF의 표를 정렬, 필터, 합계를 낼 수 있는 실제 .xlsx로 꺼냅니다. 페이지 자체에서 재구성합니다.
- 저장되지 않음
- 대기열 없음, 기다림 없음
- 회원가입 없음, 워터마크 없음
사용 방법
PDF 추가
필요한 표가 들어 있는 문서를 끌어다 놓으세요.
변환
같은 기준선을 공유하는 텍스트로 행을, 페이지에서 텍스트가 시작하는 위치로 열을 찾습니다.
다운로드
페이지마다 시트 하나씩 담긴 파일로, Excel, Google Sheets, Numbers, LibreOffice에서 열립니다.
격자가 없는 곳에서 격자를 되살리는 방법
PDF에는 표가 들어 있지 않습니다. 좌표에 놓인 문자가 있을 뿐이며, 표처럼 보이는 선은 안에 든 텍스트와 아무 관련 없는 그림입니다. 그래서 격자는 추론하며, 정확히 알아 둘 만한 두 가지 규칙을 따릅니다. 행은 같은 기준선에서 나옵니다. 세로 위치를 4포인트 단위로 반올림해, 위 첨자나 살짝 올라간 통화 기호가 별도 행을 만들지 않게 합니다. 열은 페이지의 서로 다른 왼쪽 끝을 모두 모은 뒤 8포인트 이내로 가까운 것끼리 합쳐서 만듭니다. 행마다가 아니라 페이지 전체를 대상으로 하므로, 어떤 줄에서 우연히 비어 있는 열도 다른 줄에서는 제자리를 지킵니다.
그래서 오른쪽 정렬된 숫자가 까다로운 경우입니다. 여기서 가장 흔히 실망하는 부분이므로 분명히 말씀드립니다. 오른쪽으로 정렬된 숫자 열은 행마다 왼쪽 끝이 다릅니다. 9.99는 1,234,567.89보다 훨씬 오른쪽에서 시작합니다. 왼쪽 끝 차이가 8포인트를 넘으면 서로 다른 열로 읽힙니다. 그래서 재무 표가 하나여야 할 열이 여러 열로 흩어져 들어올 수 있습니다. 왼쪽 정렬이나 가운데 정렬 열에는 이 문제가 없습니다. 두 텍스트가 같은 셀에 들어가면 하나가 다른 하나를 덮어쓰지 않고 공백으로 이어집니다.
셀은 내보낼 때 형식이 정해집니다. 숫자로 깔끔하게 해석되는 값은 숫자로 기록되어 합계가 되고, 나머지는 모두 텍스트로 기록됩니다. 흔한 회계용 표기는 숫자로 해석되지 않습니다. 천 단위 구분 기호, 뒤에 붙은 퍼센트 기호, 통화 기호, 괄호로 쓴 음수 (1,234) 같은 것들입니다. 그래서 이런 셀은 숫자처럼 보이지만 더해지지 않는 텍스트로 들어옵니다. Excel의 ‘텍스트 나누기’ 기능으로 이런 열 전체를 한 번에 고칠 수 있습니다.
각 페이지는 하나로 이어진 표가 아니라 Page 1, Page 2 같은 이름의 별도 시트가 됩니다. 3페이지에 걸친 표는 머리글이 반복된 시트 세 개로 들어옵니다. 옮겨지는 것은 값뿐입니다. 수식은 애초에 PDF에 없었으므로 되살릴 수 없고, 채우기 색, 테두리, 글꼴, 병합된 셀, 차트는 일부러 재구성하지 않습니다. 추측으로 만들면 믿음직해 보이지만 미묘하게 틀린 스프레드시트가 되기 때문입니다.
다른 작업이 필요할 때
표 추출은 실제 연구 과제이며, 이것만 하는 도구들이 있습니다. 괘선이 있는 표라면 Tabula를 쓰세요. 텍스트 위치로 격자를 추론하는 대신 그려진 선을 격자로 읽으므로, 오른쪽 정렬 숫자 문제를 완전히 해결합니다. 무료이고, 클릭으로 조작하는 인터페이스가 있으며, CSV로 내보냅니다. Camelot은 Python에서 같은 일을 하며, 괘선 있는 표용 lattice 모드와 괘선 없는 표용 stream 모드를 모두 갖추고, 결과의 신뢰도도 알려 줍니다.
레이아웃이 단순하고 읽을 수만 있으면 된다면, Poppler의 pdftotext -layout in.pdf out.txt가 열 간격을 일반 텍스트로 유지해 줍니다. 이 파일은 고정 폭 데이터로 스프레드시트에서 바로 열리며 추론 과정을 완전히 건너뜁니다. 그리고 PDF가 스캔본이라면 여기 있는 어떤 방법도 해당되지 않습니다. 위치를 잡을 텍스트가 없으므로 먼저 OCR이 필요합니다.
자주 묻는 질문
PDF 표가 어떻게 스프레드시트가 될 수 있나요?
PDF에는 표라는 개념이 없고, 좌표에 놓인 문자만 있습니다. 그래서 격자를 다시 만듭니다. 같은 기준선에 있는 텍스트는 한 행이 되고, 페이지 전체에 걸친 텍스트의 왼쪽 끝을 모아 열로 묶습니다. 그래서 어떤 행에서 비어 있는 셀도 다른 행에서는 제자리를 지킵니다.
얼마나 정확한가요?
열이 일정하고 괘선이 있는 깔끔한 표에서는 매우 정확합니다. 병합된 셀, 셀 안에서 줄바꿈된 텍스트, 페이지를 가로지르며 위치가 흐트러지는 열에는 약합니다. 모두 표의 의미를 모르면 정말로 판단하기 애매한 경우입니다. 결과를 믿고 쓰기 전에 확인하세요.
숫자는 숫자로 유지되나요?
네. 숫자로 읽히는 값은 숫자 셀로 기록되므로, 모든 것을 텍스트로 처리하는 대신 합계와 수식이 바로 작동합니다.
PDF가 어딘가에 저장되나요?
아니요. 모든 페이지를 저장하지 않고 읽습니다.
스캔한 PDF는 어떻게 하나요?
스캔본에는 추출할 텍스트가 없습니다. 먼저 PDF OCR을 실행한 뒤 변환하세요.
참고: 병합된 셀, 여러 줄로 된 셀, 위치가 흐트러지는 열은 까다로운 경우라 변환 후 정리가 필요할 수 있습니다. 서식, 색상, 수식, 차트는 다시 만들지 않고 값만 옮깁니다. PDF의 각 페이지는 하나의 긴 표로 이어 붙이지 않고 각각 별도 시트가 됩니다.
내 웹사이트에 이 도구 넣기
블로그, 수업 페이지, 도움말 글 어디에나 무료로 넣을 수 있습니다. 코드 한 줄만 붙여 넣으면 방문자가 페이지에서 바로 사용할 수 있습니다.