Wyodrębnij tekst i obrazy z OneNote w C#

Gromadzimy, organizujemy i współpracujemy z notatkami i pomysłami w dokumentach programu OneNote. Jest to rodzaj cyfrowego notatnika używanego do robienia notatek i udostępniania ich innym użytkownikom programu OneNote. W niektórych przypadkach może zaistnieć potrzeba programowego wyodrębnienia tekstu lub obrazów z dokumentów programu OneNote bez użycia programu MS OneNote. W tym artykule dowiemy się, jak wyodrębnić tekst i obrazy z programu OneNote w języku C#.

W tym artykule zostaną omówione następujące tematy:

Interfejs API języka C# do wyodrębniania tekstu i obrazów z programu OneNote

Do wyodrębniania tekstu i obrazów z dokumentu OneNote będziemy używać interfejsu API Aspose.Note for .NET. Jest to bogaty w funkcje interfejs API do manipulacji dokumentami programu OneNote, który umożliwia programowe tworzenie, odczytywanie i konwertowanie dokumentów programu OneNote. Pobierz bibliotekę DLL interfejsu API lub zainstaluj ją za pomocą NuGet.

PM> Install-Package Aspose.Note

Wyodrębnij cały tekst z OneNote w C#

Możemy łatwo wyodrębnić cały tekst z dokumentu OneNote, wykonując czynności podane poniżej:

  1. Najpierw załaduj plik programu OneNote przy użyciu klasy Document.
  2. Następnie wywołaj metodę GetChildNodes z RichText jako NodeType, aby wyodrębnić tekst.
  3. Na koniec pokaż wyodrębniony tekst.

Poniższy przykładowy kod pokazuje, jak wyodrębnić cały tekst z pliku programu OneNote przy użyciu języka C#.

// Ten przykład kodu pokazuje, jak wyodrębnić cały tekst z dokumentu OneNote.
// Załaduj dokument do Aspose.Note.
Document oneFile = new Document(@"C:\Files\Note\Aspose.one");

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

// Wydrukuj tekst
Console.WriteLine(text);
Wyodrębnij cały tekst z dokumentów programu OneNote.

Wyodrębnij cały tekst z dokumentów programu OneNote.

Wyodrębnij tekst z określonych stron OneNote w C#

Możemy wyodrębnić tekst z określonych stron dokumentu OneNote, wykonując czynności podane poniżej:

  1. Najpierw załaduj plik programu OneNote przy użyciu klasy Document.
  2. Następnie wywołaj metodę GetChildNodes z Page jako NodeType, aby wyodrębnić strony.
  3. Następnie uzyskaj listę elementów tekstowych za pomocą metody GetChildNodes z RichText jako NodeType.
  4. Na koniec pokaż wyodrębniony tekst.

Poniższy przykładowy kod pokazuje, jak wyodrębnić tekst z określonej strony pliku programu OneNote przy użyciu języka C#.

// Ten przykład kodu demonstruje, jak pobrać tekst z określonej strony.
// Uzyskaj pierwszą stronę z listy węzłów strony
var page = oneFile.GetChildNodes<Page>().FirstOrDefault();

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

    foreach (RichText t in textNodes)
    {
        // Wydrukuj tekst
        Console.WriteLine(t.Text);
    }
}

Wyodrębnij obrazy z OneNote w C#

Możemy również wyodrębnić obrazy z dokumentu OneNote, wykonując czynności podane poniżej:

  1. Najpierw załaduj plik programu OneNote przy użyciu klasy Document.
  2. Następnie uzyskaj listę obrazów za pomocą metody GetChildNodes z Image jako NodeType.
  3. Na koniec pokaż właściwości obrazu i zapisz na dysku lokalnym.

Poniższy przykładowy kod pokazuje, jak wyodrębnić obrazy z pliku programu OneNote przy użyciu języka C#.

// Ten przykład kodu demonstruje, jak wyodrębnić wszystkie obrazy.
// Pobierz wszystkie węzły obrazu
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))
        {
            // Zapisz bajty obrazu do pliku
            bitMap.Save(String.Format(@"C:\Files\Note\" + "{0}", Path.GetFileName(image.FileName)));
        }
    }

    Console.WriteLine("Image saved!");
    Console.WriteLine();
}
Wyodrębnij obrazy z dokumentów programu OneNote.

Wyodrębnij obrazy z dokumentów programu OneNote.

Uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby wypróbować bibliotekę bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule dowiedzieliśmy się, jak wyodrębnić tekst z dokumentu OneNote lub z określonych stron dokumentu. Widzieliśmy również, jak programowo wyodrębniać obrazy z dokumentów OneNote. Poza tym możesz dowiedzieć się więcej o Aspose.Note for .NET API korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.

Zobacz też