Office 문서를 Markdown으로 변환
Office Oxide의 모든 핸들에는 to_markdown() 메서드가 있어, 지원되는 여섯 형식 중 어디서든 GitHub Flavored Markdown — 제목, 표, 목록, 코드 같은 블록 — 을 생성합니다. 대부분의 LLM 및 RAG 파이프라인이 사용해야 할 진입점입니다.
원샷
Rust
use office_oxide::to_markdown;
let md = to_markdown("report.docx")?;
std::fs::write("report.md", md)?;
Python
import office_oxide
md = office_oxide.to_markdown("report.docx")
open("report.md", "w").write(md)
JavaScript
import { toMarkdown } from 'office-oxide';
import { writeFileSync } from 'node:fs';
writeFileSync('report.md', toMarkdown('report.docx'));
Go
md, err := officeoxide.ToMarkdown("report.docx")
os.WriteFile("report.md", []byte(md), 0o644)
C#
File.WriteAllText("report.md", OfficeOxide.ToMarkdown("report.docx"));
재사용 가능한 핸들
Python
from office_oxide import Document
with Document.open("deck.pptx") as doc:
md = doc.to_markdown()
Rust
let doc = office_oxide::Document::open("deck.pptx")?;
let md = doc.to_markdown();
JavaScript
using doc = Document.open('deck.pptx');
const md = doc.toMarkdown();
실제로 나오는 것
| 소스 요소 | Markdown |
|---|---|
DOCX 제목 (<w:pStyle w:val="Heading1"/> …) |
# 제목 (스타일에 맞는 레벨) |
| DOCX 단락 | 단락 하나, 소프트 하이픈 제거 |
| DOCX 목록 항목 | - 항목 또는 1. 항목 (번호 보존) |
| DOCX 표 | GFM 파이프 표 |
| XLSX 시트 | ## 시트 이름 + 범위마다 파이프 표 |
| XLSX 병합 셀 | 첫 셀 내용, span 폐기 |
| PPTX 슬라이드 | ## 슬라이드 N + 본문, 노트는 인용 블록으로 추가 |
| PPTX 표 | 슬라이드 안에 인라인으로 들어가는 GFM 파이프 표 |
| 하이퍼링크 | [텍스트](url) |
| 이미지 |  자리표시자 — 아래 “이미지” 참고 |
이미지
to_markdown()은 이미지를 이름 자리표시자()로 출력하지만 이미지 바이트는 추출하지 않습니다 — Markdown은 텍스트 형식이니까요. 이미지를 꺼내려면 IR이나 형식별 접근을 사용하세요:
from office_oxide import Document
with Document.open("report.docx") as doc:
ir = doc.to_ir()
for section in ir["sections"]:
for el in section["elements"]:
if el["kind"] == "Image":
print(el["filename"], len(el["data"]))
전체 스키마는 IR 추출에서.
사용 사례
- RAG 인제스트 — Markdown은 가장 LLM 친화적인 입력 형식입니다. 문서당 1패스, 결정적인 구조, HTML 잡음 없음.
- 문서 인덱싱 — 제목이 자연스러운 청크 경계가 되고, 표는 쿼리 가능한 상태로 남습니다.
- 마이그레이션 — 정적 사이트 생성기(Hugo, Astro, MkDocs)를 위한 DOCX → Markdown.
- 콘텐츠 diff — Markdown diff은
.docx바이너리 diff보다 훨씬 보기 쉽습니다.
성능
to_markdown()은 plain_text()와 같은 차수입니다 — 중간 문서에서 보통 1~2배 비용. 전체 수치는 성능에서.
더 보기
- HTML 추출 — 스타일이 있는 출력이 필요할 때
- IR 추출 — 풍부한 파이프라인용 구조화 JSON
- PDF for RAG — PDF용 동반 라이브러리
pdf_oxide