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 node はリストを含んでいます TextRun segments. 各ランは文字単位の TextStyle metadata: 太字、斜体、下線、フォント名、フォントカラー、ハイパーリンクアドレス、その他多数:

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)

テーブルを解析

Walk 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 に保存します。ページ範囲とタグアイコンのレンダリングを with PdfSaveOptions:

from aspose.note import Document, SaveFormat

doc = Document("MyNotes.one")
doc.Save("output.pdf", SaveFormat.Pdf)

サポートされているコンテンツタイプ

コンテンツサポート
ページとページタイトルはい
プレーンテキスト (RichText.Text)はい
書式設定されたラン(太字、斜体、下線、フォント、色)はい
テキストラン内のハイパーリンクはい
埋め込み画像(バイト数、ファイル名、寸法)はい
添付ファイル(バイト数、ファイル名)はい
テーブル(行、セル、列幅)はい
OneNote タグ (NoteTag: shape, label, color)はい
番号付きリストと箇条書きリスト (NumberList)はい
ページメタデータ (author, creation time, level)はい
PDF エクスポートはい (ReportLab 必要)
書き戻し先 .oneサポートされていません
暗号化されたドキュメントサポートされていません

.NET 開発者に馴染みのある API

チームはすでに Aspose を使用しています。.NET に関しては、Python API がすぐに認識できることに注意してください。Core クラスとしては、 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は不要です。.


はじめに