Tabulky v OneNotu pomáhají udržovat informace organizované, od zápisů z jednání a datových protokolů po rychlé srovnávací tabulky. Existují určité případy, kdy potřebujete programově extrahovat text z tabulky v OneNotu. Možná chcete analyzovat obsah tabulky, přesunout jej do databáze nebo jej převést do jiného formátu.
V této příručce vám ukážeme, jak extrahovat text z tabulek v OneNotu pomocí C#. Naučíte se, jak získat text z celé tabulky, z jedné řady nebo dokonce z jednotlivé buňky pomocí jednoduchých, snadno sledovatelných příkladů.
Začněme.
Proč extrahovat text z tabulek v OneNotu?
Vývojáři často potřebují extrahovat data z tabulek OneNote pro automatizaci, reporting nebo integraci s jinými systémy. Zde je několik reálných příkladů:
- Export meeting summaries into structured reports.
- Přečtěte si tabulková data ze sdílených poznámek pro analýzu.
- Synchronizujte tabulky OneNote s externími systémy nebo řídicími panely.
Namísto ručního kopírování dat vám Aspose.Note for .NET umožňuje vše řešit prostřednictvím kódu rychlým, konzistentním a plně automatizovaným způsobem.
C# Knihovna pro extrakci textu z tabulek OneNote
Aspose.Note for .NET je robustní API, které vývojářům umožňuje vytvářet, číst, upravovat a převádět soubory OneNote v aplikacích .NET. Podporuje bohaté objektové modely pro přístup k prvkům jako jsou stránky, text, obrázky, obrysy a tabulky. Pro extrakci textu z tabulek poskytuje třídu Document, která představuje soubor OneNote, a metody jako GetChildNodes(), které umožňují vývojářům snadno lokalizovat a extrahovat prvky tabulky.
Můžete si to stáhnout z Aspose.Note for .NET releases page nebo nainstalovat pomocí NuGet:
PM> Install-Package Aspose.Note
Jak extrahovat text z tabulek v OneNotu
Aspose.Note umožňuje extrahovat text z dokumentů OneNote na různých úrovních:
- Celá tabulka
- Specifický řádek
- Jednotlivá buňka
Pojďme si projít každý z těchto kroků jeden po druhém.

Sample Table
Chcete-li se dozvědět více o extrakci textu a obrázků z dokumentů OneNote pomocí C#, podívejte se na naši podrobnou průvodce extrakcí obsahu z OneNote souborů.
1. Extrakce textu z tabulky v OneNotu pomocí C#
Můžeme snadno extrahovat text ze všech dostupných tabulek v dokumentu OneNote pomocí Aspose.Note for .NET. Projdeme si proces přístupu k uzlům tabulek, čtení jejich obsahu a zobrazení extrahovaného textu v čitelném formátu.
Postupujte podle níže uvedených kroků pro extrakci textu z tabulek v dokumentu OneNote:
- Načtěte soubor
.onepomocí třídyDocument. - Použijte metodu
GetChildNodes<Table>()k získání všech uzlů tabulky. - Procházejte každou tabulku a extrahujte její textový obsah.
- Print the results on the console.
Následující příklad kódu ukazuje, jak extrahovat text ze všech tabulek v dokumentu OneNote.
using Aspose.Note;
// Načtěte dokument do Aspose.Note.
Document document = new Document("SampleTable.one");
// Získejte seznam uzlů tabulky
IList<Table> nodes = document.GetChildNodes<Table>();
// Nastavit počet stolů
int tblCount = 0;
foreach (Table table in nodes)
{
tblCount++;
Console.WriteLine("Table # " + tblCount);
// Retrieve text
string text = string.Join(Environment.NewLine,
table.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;
// Print text on the output screen
Console.WriteLine(text);
}
Output
Table # 1
cell_1.1
cell_1.2
cell_1.3
cell_2.1
cell_2.2
cell_2.3
2. Extrakce textu z konkrétní řady v tabulce OneNote
Někdy je potřeba extrahovat text z konkrétního řádku místo celé tabulky. Projdeme všechny tabulky a poté každý řádek, přičemž nezávisle extrahujeme text. Je to užitečné, když potřebujete analyzovat nebo zpracovávat data tabulky po řádcích.
Můžete extrahovat text řádek po řádku podle následujících kroků:
- Načtěte soubor OneNote pomocí třídy
Document. - Získejte seznam uzlů tabulky.
- Procházejte každou tabulkou, poté každým řádkem.
- Extract and display text from each row.
Následující příklad kódu ukazuje, jak extrahovat řádek textu z tabulky pomocí C#:
using Aspose.Note;
// Načtěte dokument do Aspose.Note.
Document document = new Document("SampleTable.one");
// Získejte seznam uzlů tabulky
IList<Table> nodes = document.GetChildNodes<Table>();
// Nastavit počet řádků
int rowCount = 0;
foreach (Table table in nodes)
{
// Iterujte přes řádky tabulky
foreach (TableRow row in table)
{
rowCount++;
// Retrieve text
string text = string.Join(Environment.NewLine,
row.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;
// Print text on the output screen
Console.WriteLine($"Row #{rowCount}:");
Console.WriteLine(text);
}
}
Output
Row #1:
cell_1.1
cell_1.2
cell_1.3
Row #2:
cell_2.1
cell_2.2
cell_2.3
3. Extrakce textu z konkrétní buňky v tabulce
Pokud chcete jít ještě hlouběji a extrahovat text z konkrétní buňky, můžete to také udělat. Za tímto účelem získáme nejmenší textovou jednotku, tj. obsah každé buňky. Je to ideální, když potřebujete detailní kontrolu nad extrakcí dat pro další zpracování nebo mapování dat.
Postupujte podle následujících kroků a extrahujte text z konkrétní buňky v tabulce v OneNotu:
- Načtěte dokument OneNote pomocí třídy
Document. - Získejte uzly tabulky pomocí
GetChildNodes<Table>(). - Procházejte každou tabulku a její řádky.
- Extrahujte uzly buněk pomocí
GetChildNodes<TableCell>(). - Extract text from each cell and display it.
Následující ukázka kódu ukazuje, jak získat text buněk z řádku v tabulce pomocí C#:
using Aspose.Note;
// Načtěte dokument do Aspose.Note.
Document document = new Document("SampleTable.one");
// Získejte seznam uzlů tabulky
IList<Table> nodes = document.GetChildNodes<Table>();
foreach (Table table in nodes)
{
// Iterujte přes řádky tabulky
foreach (TableRow row in table)
{
// Získejte seznam uzlů TableCell
IList<TableCell> cellNodes = row.GetChildNodes<TableCell>();
// Procházejte buňky tabulky
foreach (TableCell cell in cellNodes)
{
// Retrieve text
string text = string.Join(Environment.NewLine,
cell.GetChildNodes<RichText>().Select(e => e.Text)) + Environment.NewLine;
// Print text on the output screen
Console.WriteLine(text);
}
}
}
Output
cell_1.1
cell_1.2
cell_1.3
cell_2.1
cell_2.2
cell_2.3
Proč použít Aspose.Note for .NET pro extrakci textu?
- Pracuje úplně offline a nevyužívá Microsoft OneNote.
- Extracts text with formatting and structure preserved.
- Podporuje všechny prvky tabulky (hlavičky, buňky, vnořené tabulky).
- Nabízí silnou podporu LINQ pro filtrování a dotazování obsahu.
- Snadná integrace s existujícími aplikacemi .NET.
Ať už vytváříte analytické nástroje, automatizační skripty nebo vlastní převodníky poznámek, Aspose.Note vám poskytuje flexibilitu a kontrolu, kterou potřebujete.
Můžete získat bezplatnou dočasnou licenci z Aspose License Page a vyzkoušet Aspose.Note for .NET bez omezení. Žádost zabere pouze minutu a budete moci testovat kompletní funkce knihovny.
Zdarma další zdroje
Závěr
Extrakce textu z tabulek v OneNotu nemusí být složitá. S Aspose.Note for .NET můžete snadno získat text z celých tabulek, konkrétních řádků nebo jednotlivých buněk pomocí několika řádků kódu C#. API se stará o analýzu, správu uzlů a procházení obsahu, zatímco se vy soustředíte na využití těchto dat podle svých potřeb.
Pokud máte nějaké dotazy nebo potřebujete pomoc při zahájení, navštivte naše free support forum, abyste se spojili s týmem Aspose.Note.
FAQs
Q: Mohu extrahovat text z konkrétní tabulky ve své aplikaci OneNote?
Ano, můžete filtrovat uzly tabulky pomocí LINQ nebo volby na základě indexu, abyste zaměřili konkrétní tabulky pro extrakci.
Q: Potřebuji mít nainstalovaný Microsoft OneNote, abych mohl používat Aspose.Note for .NET?
Ne, Aspose.Note for .NET funguje nezávisle a nevyžaduje Microsoft OneNote ani žádný jiný externí software.
Q: Zachovává Aspose.Note for .NET strukturu tabulky během extrakce textu?
Ano, zachovává logickou strukturu tabulek, což vám umožňuje extrahovat obsah z celých tabulek, řádků nebo jednotlivých buněk při zachování pořadí.
Q: Can I extract formatted text from a OneNote table?
Aspose.Note primárně extrahuje prostý text. Nicméně, můžete přistupovat a zpracovávat objekty bohatého textu, pokud potřebujete detaily formátování.
Q: Je Aspose.Note for .NET kompatibilní s .NET Core a .NET 6+?
Ano, podporuje .NET Framework, .NET Core a nejnovější verze .NET na Windows, Linux a macOS.
