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 programu OneNote do wyodrębniania tekstu i obrazów w języku C#
- Wyodrębnij cały tekst z dokumentów programu OneNote
- Pobierz tekst z określonych stron dokumentów programu OneNote
- Wyodrębnij obrazy z dokumentów programu OneNote
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:
- Najpierw załaduj plik programu OneNote przy użyciu klasy Document.
- Następnie wywołaj metodę GetChildNodes z RichText jako NodeType, aby wyodrębnić tekst.
- 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 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:
- Najpierw załaduj plik programu OneNote przy użyciu klasy Document.
- Następnie wywołaj metodę GetChildNodes z Page jako NodeType, aby wyodrębnić strony.
- Następnie uzyskaj listę elementów tekstowych za pomocą metody GetChildNodes z RichText jako NodeType.
- 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:
- Najpierw załaduj plik programu OneNote przy użyciu klasy Document.
- Następnie uzyskaj listę obrazów za pomocą metody GetChildNodes z Image jako NodeType.
- 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();
}
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.