Aspose.Note FOSS for Python Is Now Available
우리는 사용 가능성을 발표하게 되어 기쁩니다 Aspose.Note FOSS for Python PyPI에 있습니다. 이 무료 오픈 소스 라이브러리는 Python 개발자가 Microsoft OneNote를 읽을 수 있도록 합니다 .one 섹션 파일을 읽고 전체 문서 객체 모델을 탐색하며 콘텐츠를 추출하고 PDF로 내보내며, Microsoft Office나 어떤 독점 런타임도 필요하지 않습니다.
지금 설치하세요:
pip install aspose-note
PDF 내보내기용:
pip install "aspose-note[pdf]"
Aspose.Note FOSS for Python이 무엇인가요?
Aspose.Note FOSS for Python is a 100% free, MIT-licensed Python library that provides an Aspose.Note-shaped public API (aspose.note.*) Microsoft OneNote를 읽기 위한 .one 파일. 순수-Python MS-ONE/OneStore 바이너리 파서를 내장하고 있으며, COM 상호 운용, 플랫폼 네이티브 DLL, Microsoft Office 설치가 전혀 필요하지 않습니다.
API 인터페이스는 다음을 모델로 합니다 Aspose.Note for .NET, 이미 다른 플랫폼에서 Aspose 제품을 사용하고 있는 팀에게 친숙한 전환을 제공합니다.
핵심 기능
.one 파일 모두 읽기
파일 경로나任意 바이너리 스트림에서 OneNote 2010, OneNote Online, OneNote 2007 섹션 파일을 로드합니다:
from aspose.note import Document
doc = Document("MyNotes.one")
print(doc.DisplayName) # Section name
print(len(list(doc))) # Number of pages
전체 문서 DOM 탐색
이 라이브러리는 완전한 문서 객체 모델을 제공합니다: Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFile. 사용 GetChildNodes(Type) 재귀적이며 타입 필터링된 검색을 위해:
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
all_text = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]
풍부한 서식으로 텍스트 추출
모든 RichText 노드는 다음 목록을 포함합니다 TextRun 세그먼트. 각 런은 문자별 TextStyle 메타데이터: 굵게, 기울임, 밑줄, 글꼴 이름, 글꼴 색상, 하이퍼링크 주소 등:
from aspose.note import Document, RichText
doc = Document("MyNotes.one")
for rt in doc.GetChildNodes(RichText):
for run in rt.TextRuns:
if run.Style.IsHyperlink:
print(f" Link: {run.Text} -> {run.Style.HyperlinkAddress}")
elif run.Style.IsBold:
print(f" Bold: {run.Text}")
이미지 및 첨부 파일 저장
임베드된 이미지를 파일명과 차원 정보를 포함한 원시 바이트로 가져옵니다. 첨부 파일을 디스크에 저장합니다:
from aspose.note import Document, Image, AttachedFile
doc = Document("MyNotes.one")
for img in doc.GetChildNodes(Image):
with open(img.FileName or "image.bin", "wb") as f:
f.write(img.Bytes)
for af in doc.GetChildNodes(AttachedFile):
with open(af.FileName or "attachment.bin", "wb") as f:
f.write(af.Bytes)
표 구문 분석
탐색 Table → TableRow → TableCell 계층 구조를 탐색하고 셀 내용을 읽습니다:
from aspose.note import Document, Table, TableRow, TableCell, RichText
doc = Document("MyNotes.one")
for table in doc.GetChildNodes(Table):
for row in table.GetChildNodes(TableRow):
cells = [
" ".join(rt.Text for rt in cell.GetChildNodes(RichText))
for cell in row.GetChildNodes(TableCell)
]
print(cells)
방법: PDF로 내보내기
옵션인 ReportLab 백엔드를 사용하여 로드된 모든 문서를 PDF로 저장합니다. 페이지 범위와 태그 아이콘 렌더링을 구성합니다. PdfSaveOptions:
from aspose.note import Document, SaveFormat
doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)
지원되는 콘텐츠 유형
| 콘텐츠 | 지원됨 |
|---|---|
| 페이지 및 페이지 제목 | 예 |
일반 텍스트 (RichText.Text) | 예 |
| 서식이 적용된 텍스트 (굵게, 기울임, 밑줄, 글꼴, 색상) | 예 |
| 텍스트 구간의 하이퍼링크 | 예 |
| 삽입된 이미지 (바이트, 파일명, 크기) | 예 |
| 첨부 파일 (바이트, 파일명) | 예 |
| 표 (행, 셀, 열 너비) | 예 |
| OneNote 태그 (NoteTag: 모양, 레이블, 색상) | 예 |
| 번호 매기기 및 글머리표 목록 (NumberList) | 예 |
| 페이지 메타데이터 (작성자, 생성 시간, 레벨) | 예 |
| PDF 내보내기 | 예 (ReportLab 필요) |
다시 쓰기 .one | 지원되지 않음 |
| 암호화된 문서 | 지원되지 않음 |
.NET 개발자를 위한 친숙한 API
이미 Aspose을(를) 사용하고 있는 팀. .NET에 대한 참고는 Python API를 즉시 인식할 수 있습니다. 다음과 같은 핵심 클래스: Document, Page, RichText, Image, DocumentVisitor, 및 SaveFormat 이름과 동작면에서 .NET에 해당하는 것과 일치합니다.
전체 쓰기 지원, 추가 형식으로의 변환, 또는 암호화된 문서 처리가 필요한 경우, 상용 Aspose.Note for .NET 및 Aspose.Note for Java 제품을 사용할 수 있습니다.
설치 요약
| 명령 | 목적 |
|---|---|
pip install aspose-note | 핵심 라이브러리 (읽기, 순회, DOM 접근) |
pip install "aspose-note[pdf]" | 핵심 + PDF 내보내기 (ReportLab 추가) |
pip install -e ".[pdf]" | 소스에서 편집 가능한 설치 (기여자) |
요구 사항: Python 3.10, 3.11, 또는 3.12. Microsoft Office가 필요 없습니다.