로컬 스크립트

파이썬 PDF 마크다운 변환

업데이트 · pdftomd.tools 팀

파이썬 PDF 마크다운 변환은 내 컴퓨터에서 스크립트 하나로 끝납니다. 이 가이드는 오픈 소스 라이브러리 두 개의 검증된 예제와, 아무것도 설치하고 싶지 않은 날을 위한 브라우저 도구를 소개합니다.

문서가 코드 편집기를 거쳐 마크다운 파일로 나오는 모습

파이썬이 없나요? 아래 브라우저 도구가 같은 작업을 설치 없이 해 줍니다. 텍스트 레이어가 있는 파일을 놓고 결과를 복사하세요.

브라우저에서 처리 · 업로드 없음

원본 PDF

PDF를 여기에 놓거나 클릭해서 선택하세요

텍스트가 있는 PDF만 됩니다. 스캔본은 OCR이 필요한데, 이 도구는 OCR을 하지 않습니다.

Markdown 미리보기

여기에 Markdown이 표시됩니다.
설정

네 단계로 준비하기

설치부터 출력 파일까지 이어지는 로컬 파이프라인입니다.

  1. 파일을 업로드 영역으로 끌어 놓는 모습
    01

    환경 만들기

    python -m venv .venv로 가상 환경을 만들고 활성화하세요. 라이브러리가 시스템 설치에 섞이지 않습니다.

    예제 보기
  2. 텍스트 조각이 정돈된 줄로 묶이는 모습
    02

    라이브러리 설치

    일반적인 마크다운 출력은 pip install pymupdf4llm, 표가 중요하면 pip install pdfplumber를 실행하세요.

    라이브러리 고르기
  3. 제목과 목록이 있는 마크다운 미리보기
    03

    스크립트 실행

    이 페이지의 예제를 .py 파일에 복사하고 문서 경로를 지정하세요. 실행할 때마다 열어 볼 수 있는 .md 파일이 생깁니다.

    예제 복사
  4. 화살표로 이어진 마크다운과 문서 아이콘
    04

    출력 확인

    .md 파일을 원본과 비교하고, 다른 곳에서 처리하기 전에 남은 머리글·바닥글을 지우세요.

    브라우저에서 비교
선택지

어떤 파이썬 라이브러리를 써야 할까?

파이썬 PDF 마크다운 변환에 정답인 라이브러리 하나는 없습니다. 속도, 라이선스, 표 처리의 균형이 저마다 다릅니다. pymupdf4llm은 PyMuPDF 위에서 레이아웃을 읽고 제목과 선이 있는 표까지 마크다운으로 바로 씁니다. 노트와 검색 용도라면 무난한 기본 선택입니다. pdfplumber는 문자, 선, 표 셀에 더 깊이 접근할 수 있어 표 데이터가 중심인 스크립트에 맞습니다.

둘 다 이 사이트의 제품이 아닌 서드파티 오픈 소스 프로젝트입니다. 문서 몇 개라면 이 페이지의 브라우저 도구가 설치 없이 비슷한 결과를 냅니다. 수백 개 파일을 정해진 일정에 처리해야 한다면 로컬 파이썬 스크립트가 낫습니다.

  • pymupdf4llm: 호출 한 번으로 마크다운 출력
  • pdfplumber: 선이 있는 표의 셀에 정밀하게 접근
  • 브라우저 도구: 설치 없음, 업로드 없음

모든 방법에 공통된 한계

어느 쪽도 스캔본을 혼자 읽지 못합니다. 브라우저 도구에는 OCR이 없고, 위 라이브러리도 이미지뿐인 페이지에는 별도의 OCR 단계가 필요합니다. 병합된 셀, 회전된 표, 2단 레이아웃은 어떤 라이브러리에도, 저희 도구에도 까다로우니 표는 직접 확인하세요. 브라우저 도구에서 테두리 없는 표는 최소 세 행이 필요하고 첫 행은 항상 머리글이 됩니다.

브라우저냐 스크립트냐비교
자물쇠가 달린 업로드 영역과 톱니바퀴가 있는 터미널
왼쪽은 설정이 필요 없는 브라우저 도구, 오른쪽은 자동화 작업용 파이썬 스크립트입니다.
예제

파이썬 예제 코드

pymupdf4llm 1.28, pdfplumber 0.11로 테스트했습니다. 하나를 복사해 로컬에서 실행하세요.

pymupdf4llm으로 파일 하나

서드파티 · AGPL

레이아웃을 인식하고 빠릅니다. 출력에 제목과 선이 있는 표가 남습니다. PyMuPDF는 AGPL이니 비공개 제품에 넣기 전에 조건을 확인하세요.

# pip install pymupdf4llm
import pathlib
import pymupdf4llm

md = pymupdf4llm.to_markdown("report.pdf")
pathlib.Path("report.md").write_text(md, encoding="utf-8")

pdfplumber로 표 추출

서드파티 · MIT

선이 있는 표에 가장 좋습니다. 기본값으로는 선이 그려진 표만 찾고, 테두리 없는 격자는 별도 설정이 필요합니다. 도우미 함수가 표마다 파이프 표로 씁니다.

# pip install pdfplumber
import pdfplumber

def table_to_md(rows):
    rows = [[(c or "").replace("|", "\\|").strip() for c in r] for r in rows]
    head, body = rows[0], rows[1:]
    lines = ["| " + " | ".join(head) + " |", "|" + " --- |" * len(head)]
    lines += ["| " + " | ".join(r) + " |" for r in body]
    return "\n".join(lines)

with pdfplumber.open("invoice.pdf") as pdf:
    for page in pdf.pages:
        for table in page.extract_tables():
            print(table_to_md(table), end="\n\n")

pymupdf4llm으로 폴더 전체

서드파티 · AGPL

반복문 하나로 pdfs 폴더의 파일을 모두 읽고 입력마다 .md 파일을 씁니다.

# pip install pymupdf4llm
import pathlib
import pymupdf4llm

out = pathlib.Path("markdown")
out.mkdir(exist_ok=True)
for pdf in sorted(pathlib.Path("pdfs").glob("*.pdf")):
    md = pymupdf4llm.to_markdown(str(pdf))
    (out / f"{pdf.stem}.md").write_text(md, encoding="utf-8")
    print("wrote", out / f"{pdf.stem}.md")
활용 사례

파이썬 스크립트가 어울리는 곳

스크립트를 짤 가치가 있는 세 가지 작업입니다.

로컬 우선
브라우저 안에서의 로컬 처리

스크립트든 브라우저든 파일은 로컬에

로컬 스크립트는 파일을 어디에도 보내지 않으며, 저희 브라우저 도구도 마찬가지입니다. 변환은 페이지 안에서 pdf.js로 실행되고 파일은 저희 서버에 닿지 않습니다.

스크립트는 내 컴퓨터에서 실행브라우저 도구는 업로드 없음오픈 소스 선택지
반대 방향
마크다운 아이콘과 문서 아이콘 사이의 양방향 화살표

마크다운을 다시 페이지로

파이썬으로 처리한 뒤 인쇄용 버전이 필요할 수 있습니다. 반대편 도구가 브라우저에서 마크다운을 A4 페이지로 렌더링합니다.

도구

관련 도구

PDF와 마크다운을 다루는 다른 페이지들입니다.

설정이 번거롭다면 여기서 바로 변환하세요

문서를 놓고 깨끗한 텍스트를 복사하거나, 위 예제를 내 컴퓨터에서 실행하세요. 무료이고 비공개입니다.

파일 변환

출처

  1. pymupdf4llm to_markdown() reference — PDF4LLM docs
  2. PyMuPDF (AGPL-3.0) — GitHub
  3. pdfplumber (MIT) — GitHub
  4. pdf.js — Mozilla
질문

자주 묻는 질문

파이썬 선택지, 라이선스, 한계에 대한 질문입니다.

파이썬 PDF 마크다운 변환의 가장 쉬운 방법은?

pymupdf4llm입니다. pip로 설치하고 파일에 to_markdown을 호출하면 제목, 목록, 선이 있는 표가 담긴 마크다운이 나옵니다.

계정이나 키가 필요한가요?

아니요. 라이브러리는 pip로 설치해 오프라인으로 실행되고, 브라우저 도구도 계정이 필요 없습니다. 스크립트에는 로컬 파이썬 라이브러리를 쓰세요.

pymupdf4llm과 pdfplumber는 이 사이트가 만든 건가요?

아니요. 둘 다 서드파티 오픈 소스 프로젝트입니다. pymupdf4llm과 PyMuPDF는 AGPL, pdfplumber는 MIT입니다.

파이썬 스크립트가 스캔본을 읽을 수 있나요?

혼자서는 못 합니다. 이미지뿐인 페이지는 먼저 OCR 단계가 필요합니다. 저희 브라우저 도구도 OCR이 없으며, 파일이 스캔본으로 보이면 알려 드립니다.

변환할 때 표를 어떻게 유지하나요?

pymupdf4llm은 선이 있는 표를 파이프 표로 쓰고, pdfplumber는 표를 찾아 도우미 함수로 변환합니다. 테두리 없는 표는 둘 다 세부 조정이 필요합니다.

브라우저 도구는 이 라이브러리들과 같은가요?

아니요. pdf.js와 자체 레이아웃 규칙을 쓰므로 출력이 다를 수 있습니다. 설치가 필요 없고 파일 몇 개에 알맞습니다.

파이썬 스크립트가 파일을 업로드하나요?

아니요. 로컬 스크립트는 내 컴퓨터에서 실행되고, 이 페이지의 브라우저 도구도 업로드 없이 파일을 처리합니다.