C#を使用してOneNoteドキュメントからテキストと画像を抽出する

OneNoteドキュメントのメモやアイデアを収集、整理、共同編集します。これは、メモを取り、他のOneNoteユーザーと共有するために使用される一種のデジタルノートブックです。場合によっては、MS OneNoteを使用せずに、プログラムでOneNoteドキュメントからテキストまたは画像を抽出する必要があります。この記事では、C#を使用してOneNoteドキュメントからテキストと画像を抽出する方法を学習します。

この記事では、次のトピックについて説明します。

OneNote Text and Image Extractor C#API

OneNoteドキュメントからテキストと画像を抽出するには、Aspose.Note for .NETAPIを使用します。これは、OneNoteドキュメントをプログラムで作成、読み取り、変換できる、機能豊富なOneNoteドキュメント操作APIです。 APIのDLLをダウンロードするか、NuGetを使用してインストールしてください。

PM> Install-Package Aspose.Note

OneNoteドキュメントからすべてのテキストを抽出する

以下の手順に従って、OneNoteドキュメントからすべてのテキストを簡単に抽出できます。

  1. まず、Documentクラスを使用してOneNoteファイルを読み込みます。
  2. その後、リッチテキストをNodeTypeとしてGetChildNodesメソッドを呼び出し、テキストを抽出します。
  3. 最後に、抽出したテキストを表示します。

次のコードサンプルは、C#を使用してOneNoteファイルからすべてのテキストを抽出する方法を示しています。

// このコード例は、OneNoteドキュメントからすべてのテキストを抽出する方法を示しています。
// ドキュメントをAspose.Noteにロードします。
Document oneFile = new Document(@"C:\Files\Note\Aspose.one");

// テキストを取得する
string text = string.Join(Environment.NewLine, oneFile.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;

// テキストを印刷する
Console.WriteLine(text);
OneNoteドキュメントからすべてのテキストを抽出します。

OneNoteドキュメントからすべてのテキストを抽出します。

OneNoteドキュメントの特定のページからテキストを取得する

以下の手順に従って、OneNoteドキュメントの特定のページからテキストを抽出できます。

  1. まず、Documentクラスを使用してOneNoteファイルをロードします。
  2. 次に、PageNodeTypeとしてGetChildNodesメソッドを呼び出し、ページを抽出します。
  3. その後、GetChildNodesメソッドを使用し、NodeTypeとしてRichTextを使用してテキストアイテムのリストを取得します。
  4. 最後に、抽出したテキストを表示します。

次のコードサンプルは、C#を使用してOneNoteファイルの特定のページからテキストを抽出する方法を示しています。

// このコード例は、特定のページからテキストを取得する方法を示しています。
// ページノードのリストから最初のページを取得
var page = oneFile.GetChildNodes<Page>().FirstOrDefault();

if (page != null)
{
    // テキストを取得する
    IList<RichText> textNodes = page.GetChildNodes<RichText>();

    foreach (RichText t in textNodes)
    {
        // テキストを印刷する
        Console.WriteLine(t.Text);
    }
}

OneNoteドキュメントから画像を抽出する

以下の手順に従って、OneNoteドキュメントから画像を抽出することもできます。

  1. まず、Documentクラスを使用してOneNoteファイルを読み込みます。
  2. その後、ImageNodeTypeとして、GetChildNodesメソッドを使用して画像のリストを取得します。
  3. 最後に、画像のプロパティを表示して、ローカルディスクに保存します。

次のコードサンプルは、C#を使用してOneNoteファイルから画像を抽出する方法を示しています。

// このコード例は、すべての画像を抽出する方法を示しています。
// すべての画像ノードを取得
IList<Aspose.Note.Image> nodes = oneFile.GetChildNodes<Aspose.Note.Image>();

foreach (Aspose.Note.Image image in nodes)
{
    Console.WriteLine("Width: {0}", image.Width);
    Console.WriteLine("Height: {0}", image.Height);
    Console.WriteLine("OriginalWidth: {0}", image.OriginalWidth);
    Console.WriteLine("OriginalHeight: {0}", image.OriginalHeight);
    Console.WriteLine("FileName: {0}", image.FileName);
    Console.WriteLine("LastModifiedTime: {0}", image.LastModifiedTime);

    using (MemoryStream stream = new MemoryStream(image.Bytes))
    {
        using (Bitmap bitMap = new Bitmap(stream))
        {
            // 画像バイトをファイルに保存
            bitMap.Save(String.Format(@"C:\Files\Note\" + "{0}", Path.GetFileName(image.FileName)));
        }
    }

    Console.WriteLine("Image saved!");
    Console.WriteLine();
}
OneNoteドキュメントから画像を抽出します。

OneNoteドキュメントから画像を抽出します。

無料ライセンスを取得する

無料の一時ライセンスを取得して、評価の制限なしにライブラリを試すことができます。

結論

この記事では、OneNoteドキュメントまたはドキュメントの特定のページからテキストを抽出する方法を学習しました。また、プログラムでOneNoteドキュメントから画像を抽出する方法も確認しました。さらに、ドキュメントを使用して、Aspose.Note for.NET APIについて詳しく知ることができます。ご不明な点がございましたら、フォーラムまでお気軽にお問い合わせください。

関連項目