1. 製品
  2.   Aspose.Note
  3.   Aspose.Note FOSS for Python

Aspose.Note FOSS - Aspose.Note の Python 用 FOSS

Microsoft OneNote (.one) ファイルを Python で読み取り、走査し、エクスポートします — 無料かつオープンソースで、Microsoft Office は不要です。

OneNote ファイル用オープンソース Python ライブラリ

Aspose.Note FOSS for Python は、100% 無料で MIT ライセンスのライブラリで、Python だけで Microsoft OneNote (.one) ファイルを完全に読み取ることができます。Microsoft Office や COM オートメーション、専有ランタイムは不要です。クリーンなパブリック API(aspose.note.*)を提供し、慣れ親しんだ Aspose.Note for .NET インターフェイスをモデルにしています。純粋な Python で記述された組み込みの MS-ONE/OneStore バイナリパーサがバックエンドです。

PyPI から pip install aspose-note でインストールします(PDF エクスポートを有効にするには pip install "aspose-note[pdf]")。Python 3.10 以降が必要です。

このライブラリは、ドキュメント自動化スクリプト、コンテンツインデックスパイプライン、アーカイブツール、そして Microsoft Office に依存せずに OneNote コンテンツを利用する必要があるサーバーサイドのワークフローに適しています。エンタープライズ製品ファミリーについては、Aspose.Note — Enterprise Product Family を参照してください。

OneNote ドキュメントを読み取り、走査する

  • .one ファイルの読み込み: ファイル パスまたはバイナリ ストリームから任意の OneNote セクションを Document を介して開きます。
  • フル DOM トラバーサル: Document → Page → Outline → OutlineElement → RichText / Image / Table / AttachedFileへナビゲート。
  • リッチテキスト抽出: RichText.Text を使用して生テキストを読み取るか、TextRun セグメントを検査して太字、斜体、フォント、色、ハイパーリンクのメタデータを取得します。
  • テーブル解析: Table → TableRow → TableCell 階層を走査し、TableColumn.Width を介して列幅を読み取ります。
  • タグ検査: テキスト、画像、テーブルノード上の NoteTag メタデータ(shape、label、color、completion state)を読み取ります。

Aspose.Note FOSS が使用できる場所

  • コンテンツ インデックス作成: 検索パイプライン用に、OneNote アーカイブからすべてのテキストを抽出し、インデックス化します。
  • ドキュメント移行: OneNote セクションを PDF、プレーンテキスト、または構造化データにエクスポートします。
  • アーカイブツール: 埋め込まれた画像と添付ファイルを .one ファイルからディスクに保存します。
  • CI/CD workflows: Docker コンテナ内で OneNote コンテンツを検証または処理します。
  • ナレッジベース パイプライン: チームの OneNote ノートブックから構造化されたコンテンツを抽出します。

エクスポート、画像、添付ファイル

  • PDF export: 任意のロードされた DocumentDocument.Save(path, SaveFormat.Pdf) を使用して PDF に保存します。FOSS エディションはデフォルトのレンダリングを使用します; 高度なページ単位の PDF オプションはこのリリースでは利用できません。
  • 画像エクスポート: Image ノードを反復処理して、生のバイト (Bytes)、ファイル名 (FileName)、および寸法 (OriginalWidth, OriginalHeight) を取得します。
  • 添付ファイルの保存: AttachedFile ノードを反復して、埋め込みファイル添付をディスクに保存します。
  • ストリームベースのロード: バイナリストリーム(例: io.BytesIO)から .one ファイルをディスクに書き込まずに開く。

開発者体験

Aspose.Note FOSS は単一の pip install aspose-note コマンドでインストールできます。ベースパッケージにはオプションの依存関係はありません;PDF エクスポートには ReportLab が必要で、pip install "aspose-note[pdf]" を通じてインストールします。

API は、よく知られた Aspose.Note for .NET インターフェイスをモデルにしています: Document, Page, Outline, RichText, Image, Table, AttachedFile。ライブラリは MIT ライセンスで、オープンソースであり、GitHub でバグ報告や貢献を受け付けています。

OneNote ファイルを読み込み、すべてのテキストを抽出する

pipでインストールし、Document()にファイルパスを渡してOneNoteのバイナリ形式を解析します。GetChildNodes(RichText)は深い再帰検索を実行し、ドキュメント内のすべてのテキストノードを返します。これは全文検索インデックス作成や移行パイプラインに役立ちます。

pip install aspose-note
from aspose.note import Document, RichText
doc = Document("notebook.one")
print(f"Pages: {len(list(doc))}")
# Extract all text across the entire document
texts = [rt.Text for rt in doc.GetChildNodes(RichText) if rt.Text]
for text in texts:
   print(text)

PDFにエクスポートし、添付画像を保存

PDF エクスポートにはオプションの ReportLab 依存関係が必要です。pip install "aspose-note[pdf]" でインストールしてください。同じ Document オブジェクトは、Image ノードを反復処理して、埋め込まれたすべての画像を一度にディスクに抽出および保存することもできます。

from aspose.note import Document, SaveFormat, Image
import pathlib

doc = Document("notebook.one")

# Export the document to PDF (requires aspose-note[pdf])
doc.Save("output.pdf", SaveFormat.Pdf)

# Save all embedded images to disk
out_dir = pathlib.Path("images")
out_dir.mkdir(exist_ok=True)
for i, img in enumerate(doc.GetChildNodes(Image)):
   name = img.FileName or f"image_{i}.bin"
   (out_dir / name).write_bytes(img.Bytes)

よくある質問

Aspose.Note FOSS - Aspose.Note の Python 用のFOSSとは何ですか?

Microsoft Office、COM オートメーション、または任意のプロプライエタリランタイムを必要とせずに、Microsoft OneNote (.one) ファイルを読み取るための、無料で MIT ライセンスの Python ライブラリです。

サポートされているOneNoteフォーマットのバリエーションはどれですか?

OneNote 2010、OneNote Online、そして OneNote 2007 のフォーマットバリエーション。 有効な .one セクションファイルであれば読み込むことができます。

それはどうやってインストールしますか?

ベースライブラリの場合は pip install aspose-note を実行し、PDF エクスポート用のオプションの ReportLab 依存関係を含める場合は pip install "aspose-note[pdf]" を実行してください。

OneNoteファイルをPDFにエクスポートできますか?

はい。Document.Save(path, SaveFormat.Pdf) を呼び出してください。PDF エクスポートには、[pdf] エクストラを介してインストールされたオプションの ReportLab 依存関係が必要です。

.oneファイルをストリームからロードできますか?

はい。Document クラスはバイナリストリーム(例: io.BytesIO や HTTP のレスポンスボディ)を受け取ることができるため、ディスクに書き込まずにファイルを処理できます。

必要なPythonのバージョンは何ですか?

Python 3.10 以降が必要です。

.oneファイルを書き込んだり変更したりできますか?

いいえ。現在のエディションは読み取り専用です。有効な .one セクションファイルであれば開いて解析できますが、OneNote バイナリ形式への書き戻しはサポートされていません。

暗号化された OneNote ドキュメントはサポートされていますか?

いいえ。パスワードで保護された .one ファイルを読み込むと IncorrectPasswordException が発生します。暗号化されたドキュメントは現在のエディションではサポートされていません。

ソースコードはどこで見つけられますか?

このライブラリは MIT ライセンスで、GitHub でホストされています。バグ報告やプルリクエストは歓迎します。

  

サポートと学習リソース

 日本語