แยกข้อความและรูปภาพจาก OneNote ใน C#

เรารวบรวม จัดระเบียบ และทำงานร่วมกันบันทึกย่อและแนวคิดในเอกสาร OneNote เป็นสมุดบันทึกดิจิทัลประเภทหนึ่งที่ใช้จดบันทึกและแชร์กับผู้ใช้ OneNote รายอื่น ในบางกรณี เราอาจต้องแยกข้อความหรือรูปภาพออกจากเอกสาร OneNote โดยทางโปรแกรมโดยไม่ใช้ MS OneNote ในบทความนี้ เราจะเรียนรู้วิธีแยกข้อความและรูปภาพจาก OneNote ใน C#

หัวข้อต่อไปนี้จะครอบคลุมในบทความนี้:

C# API เพื่อแยกข้อความและรูปภาพจาก OneNote

สำหรับการแยกข้อความและรูปภาพจากเอกสาร OneNote เราจะใช้ API ของ Aspose.Note for .NET เป็น API การจัดการเอกสาร OneNote ที่มีคุณลักษณะหลากหลายซึ่งช่วยให้คุณสร้าง อ่าน และแปลงเอกสาร OneNote โดยทางโปรแกรม โปรด ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet

PM> Install-Package Aspose.Note

แยกข้อความทั้งหมดจาก OneNote ใน C

เราสามารถแยกข้อความทั้งหมดจากเอกสาร OneNote ได้อย่างง่ายดายโดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก ให้โหลดไฟล์ OneNote โดยใช้คลาส Document
  2. หลังจากนั้น ให้เรียกเมธอด GetChildNodes ด้วย RichText เป็น NodeType เพื่อแยกข้อความ
  3. สุดท้าย แสดงข้อความที่แยกออกมา

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกข้อความทั้งหมดจากไฟล์ 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

แยกข้อความทั้งหมดออกจากเอกสาร OneNote

แยกข้อความจากหน้าเฉพาะของ OneNote ใน C

เราสามารถแยกข้อความจากหน้าเฉพาะของเอกสาร OneNote โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก ให้โหลดไฟล์ OneNote โดยใช้คลาส Document
  2. จากนั้น เรียกเมธอด GetChildNodes ด้วย Page เป็น NodeType เพื่อแยกหน้า
  3. หลังจากนั้น รับรายการข้อความโดยใช้เมธอด GetChildNodes พร้อม RichText เป็น NodeType
  4. สุดท้าย แสดงข้อความที่แยกออกมา

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกข้อความจากหน้าเฉพาะของไฟล์ 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 โดยทำตามขั้นตอนด้านล่าง:

  1. ประการแรก โหลดไฟล์ OneNote โดยใช้คลาส Document
  2. หลังจากนั้น รับรายการรูปภาพโดยใช้เมธอด GetChildNodes โดยมี Image เป็น NodeType
  3. สุดท้ายแสดงคุณสมบัติของภาพและบันทึกลงในดิสก์ภายในเครื่อง

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแยกรูปภาพจากไฟล์ 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

รับใบอนุญาตฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อทดลองใช้ห้องสมุดโดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีแยกข้อความจากเอกสาร OneNote หรือจากหน้าเฉพาะของเอกสาร เราได้เห็นวิธีการแยกรูปภาพจากเอกสาร OneNote โดยทางโปรแกรม นอกจากนี้ คุณสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.Note for .NET API โดยใช้ เอกสารประกอบ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัม

ดูสิ่งนี้ด้วย