เรารวบรวม จัดระเบียบ และทำงานร่วมกันบันทึกย่อและแนวคิดในเอกสาร OneNote เป็นสมุดบันทึกดิจิทัลประเภทหนึ่งที่ใช้จดบันทึกและแชร์กับผู้ใช้ OneNote รายอื่น ในบางกรณี เราอาจต้องแยกข้อความหรือรูปภาพออกจากเอกสาร OneNote โดยทางโปรแกรมโดยไม่ใช้ MS OneNote ในบทความนี้ เราจะเรียนรู้วิธีแยกข้อความและรูปภาพจาก OneNote ใน C#
หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:
- ตัวแยกข้อความและรูปภาพของ OneNote C# API
- แยกข้อความทั้งหมดออกจากเอกสาร OneNote
- รับข้อความจากหน้าเฉพาะของเอกสาร OneNote
- แยกรูปภาพออกจากเอกสาร OneNote
C# API เพื่อแยกข้อความและรูปภาพจาก OneNote
สำหรับการแยกข้อความและรูปภาพจากเอกสาร OneNote เราจะใช้ API ของ Aspose.Note for .NET เป็น API การจัดการเอกสาร OneNote ที่มีคุณลักษณะหลากหลายซึ่งช่วยให้คุณสร้าง อ่าน และแปลงเอกสาร OneNote โดยทางโปรแกรม โปรด ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet
PM> Install-Package Aspose.Note
แยกข้อความทั้งหมดจาก OneNote ใน C
เราสามารถแยกข้อความทั้งหมดจากเอกสาร OneNote ได้อย่างง่ายดายโดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก ให้โหลดไฟล์ OneNote โดยใช้คลาส Document
- หลังจากนั้น ให้เรียกเมธอด GetChildNodes ด้วย RichText เป็น NodeType เพื่อแยกข้อความ
- สุดท้าย แสดงข้อความที่แยกออกมา
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกข้อความทั้งหมดจากไฟล์ OneNote โดยใช้ C#
// ตัวอย่างรหัสนี้สาธิตวิธีการแยกข้อความทั้งหมดจากเอกสาร 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 ใน C
เราสามารถแยกข้อความจากหน้าเฉพาะของเอกสาร OneNote โดยทำตามขั้นตอนด้านล่าง:
- ขั้นแรก ให้โหลดไฟล์ OneNote โดยใช้คลาส Document
- จากนั้น เรียกเมธอด GetChildNodes ด้วย Page เป็น NodeType เพื่อแยกหน้า
- หลังจากนั้น รับรายการข้อความโดยใช้เมธอด GetChildNodes พร้อม RichText เป็น NodeType
- สุดท้าย แสดงข้อความที่แยกออกมา
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกข้อความจากหน้าเฉพาะของไฟล์ OneNote โดยใช้ C#
// ตัวอย่างโค้ดนี้สาธิตวิธีรับข้อความจากหน้าใดหน้าหนึ่ง
// รับหน้าแรกจากรายการโหนดหน้า
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 ใน C
เรายังสามารถแยกรูปภาพจากเอกสาร OneNote โดยทำตามขั้นตอนด้านล่าง:
- ประการแรก โหลดไฟล์ OneNote โดยใช้คลาส Document
- หลังจากนั้น รับรายการรูปภาพโดยใช้เมธอด GetChildNodes โดยมี Image เป็น NodeType
- สุดท้ายแสดงคุณสมบัติของภาพและบันทึกลงในดิสก์ภายในเครื่อง
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกรูปภาพจากไฟล์ OneNote โดยใช้ C#
// ตัวอย่างรหัสนี้สาธิตวิธีการแยกรูปภาพทั้งหมด
// รับโหนดรูปภาพทั้งหมด
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 โดยทางโปรแกรม นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Note for .NET API โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม