Extrahieren Sie Text und Bilder aus OneNote-Dokumenten mit C#

Wir sammeln, organisieren und arbeiten in OneNote-Dokumenten mit Notizen und Ideen zusammen. Es ist eine Art digitales Notizbuch, mit dem Notizen gemacht und mit anderen OneNote-Benutzern geteilt werden können. In bestimmten Fällen müssen wir möglicherweise Text oder Bilder aus OneNote-Dokumenten programmgesteuert extrahieren, ohne MS OneNote zu verwenden. In diesem Artikel erfahren Sie, wie Sie mit C# Text und Bilder aus OneNote-Dokumenten extrahieren.

Folgende Themen sollen in diesem Artikel behandelt werden:

OneNote-Text- und Bildextraktor-C#-API

Zum Extrahieren von Text und Bildern aus dem Dokument OneNote verwenden wir die API Aspose.Note for .NET. Es handelt sich um eine funktionsreiche API zur Bearbeitung von OneNote-Dokumenten, mit der Sie OneNote-Dokumente programmgesteuert erstellen, lesen und konvertieren können. Bitte downloaden Sie die DLL der API oder installieren Sie sie mit NuGet.

PM> Install-Package Aspose.Note

Extrahieren Sie den gesamten Text aus OneNote-Dokumenten

Wir können ganz einfach den gesamten Text aus dem OneNote-Dokument extrahieren, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst eine OneNote-Datei mit der Klasse Document.
  2. Rufen Sie danach die Methode GetChildNodes mit RichText als NodeType auf, um Text zu extrahieren.
  3. Zeigen Sie schließlich den extrahierten Text an.

Das folgende Codebeispiel zeigt, wie Sie den gesamten Text aus einer OneNote-Datei mit C# extrahieren.

// Dieses Codebeispiel zeigt, wie Sie den gesamten Text aus einem OneNote-Dokument extrahieren.
// Laden Sie das Dokument in Aspose.Note.
Document oneFile = new Document(@"C:\Files\Note\Aspose.one");

// Texte abrufen
string text = string.Join(Environment.NewLine, oneFile.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;

// Texte drucken
Console.WriteLine(text);
Extrahieren Sie den gesamten Text aus OneNote-Dokumenten.

Extrahieren Sie den gesamten Text aus OneNote-Dokumenten.

Abrufen von Text aus bestimmten Seiten von OneNote-Dokumenten

Wir können Text aus bestimmten Seiten des OneNote-Dokuments extrahieren, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst eine OneNote-Datei mit der Klasse Document.
  2. Rufen Sie als Nächstes die Methode GetChildNodes mit Page als NodeType auf, um Seiten zu extrahieren.
  3. Rufen Sie danach eine Liste von Textelementen mit der Methode GetChildNodes mit RichText als NodeType ab.
  4. Zeigen Sie schließlich den extrahierten Text an.

Das folgende Codebeispiel zeigt, wie Text aus einer bestimmten Seite einer OneNote-Datei mit C# extrahiert wird.

// Dieses Codebeispiel zeigt, wie Text von einer bestimmten Seite abgerufen wird.
// Holen Sie sich die erste Seite aus der Liste der Seitenknoten
var page = oneFile.GetChildNodes<Page>().FirstOrDefault();

if (page != null)
{
    // Texte abrufen
    IList<RichText> textNodes = page.GetChildNodes<RichText>();

    foreach (RichText t in textNodes)
    {
        // Texte drucken
        Console.WriteLine(t.Text);
    }
}

Extrahieren Sie Bilder aus OneNote-Dokumenten

Wir können auch Bilder aus dem OneNote-Dokument extrahieren, indem wir die folgenden Schritte ausführen:

  1. Laden Sie zunächst eine OneNote-Datei mit der Klasse Document.
  2. Rufen Sie danach eine Liste von Bildern mit der Methode GetChildNodes mit Image als NodeType ab.
  3. Zeigen Sie schließlich die Bildeigenschaften an und speichern Sie sie auf der lokalen Festplatte.

Das folgende Codebeispiel zeigt, wie Bilder mithilfe von C# aus einer OneNote-Datei extrahiert werden.

// Dieses Codebeispiel zeigt, wie alle Bilder extrahiert werden.
// Holen Sie sich alle Image-Knoten
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))
        {
            // Bildbytes in einer Datei speichern
            bitMap.Save(String.Format(@"C:\Files\Note\" + "{0}", Path.GetFileName(image.FileName)));
        }
    }

    Console.WriteLine("Image saved!");
    Console.WriteLine();
}
Extrahieren Sie Bilder aus OneNote-Dokumenten.

Extrahieren Sie Bilder aus OneNote-Dokumenten.

Holen Sie sich eine kostenlose Lizenz

Sie können eine kostenlose temporäre Lizenz erhalten, um die Bibliothek ohne Evaluierungseinschränkungen zu testen.

Fazit

In diesem Artikel haben wir gelernt, wie Sie Text aus dem OneNote-Dokument oder aus bestimmten Seiten des Dokuments extrahieren. Wir haben auch gesehen, wie man Bilder aus OneNote-Dokumenten programmgesteuert extrahiert. Außerdem können Sie mithilfe der Dokumentation mehr über Aspose.Note für die .NET-API erfahren. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

Siehe auch