ดึงสื่อจากเอกสาร Word

วิธีการดึงข้อความ รูปภาพ และข้อมูลเมตาจากเอกสาร Word ใน .NET

การดึงข้อความ รูปภาพ และข้อมูลเมตาจากเอกสาร Word เป็นสิ่งสำคัญสำหรับการวิเคราะห์และประมวลผลเอกสาร ด้วย Aspose.Words for .NET นักพัฒนาสามารถเรียกคืนเนื้อหาและคุณสมบัติของเอกสารได้อย่างมีโปรแกรมสำหรับกรณีการใช้งานที่หลากหลาย เช่น การจัดทำดัชนี การเก็บถาวร หรือการแปลงเนื้อหา

ข้อกำหนดเบื้องต้น

  1. ติดตั้ง .NET SDK.
  2. เพิ่มแพ็คเกจ Aspose.Words NuGet: dotnet add package Aspose.Words
  3. เตรียมเอกสาร Word (document.docx) ที่มีข้อความ รูปภาพ และข้อมูลเมตา

คู่มือทีละขั้นตอนในการดึงเนื้อหาจากไฟล์ Word

1. โหลดเอกสาร Word

using System;
using Aspose.Words;

class Program
{
    static void Main()
    {
        // ขั้นตอนที่ 1: โหลดเอกสาร Word
        string filePath = "document.docx";
        Document doc = new Document(filePath);

        // ขั้นตอนที่ 2, 3, และ 4 จะถูกเพิ่มด้านล่าง
    }
}

คำอธิบาย: โค้ดนี้โหลดเอกสาร Word ที่ระบุเข้าไปในหน่วยความจำเพื่อการประมวลผลต่อไป

2. ดึงข้อความจากเอกสาร

using System;
using Aspose.Words;

class Program
{
    static void Main()
    {
        string filePath = "document.docx";
        Document doc = new Document(filePath);

        // ขั้นตอนที่ 2: ดึงข้อความ
        string text = doc.GetText();
        Console.WriteLine("ข้อความที่ดึงออกมา: " + text);

        // ขั้นตอนที่ 3 และ 4 จะถูกเพิ่มด้านล่าง
    }
}

คำอธิบาย: โค้ดนี้ดึงเนื้อหาข้อความทั้งหมดจากเอกสาร Word ที่โหลดและพิมพ์ลงในคอนโซล

3. ดึงข้อมูลเมตาจากเอกสาร

using System;
using Aspose.Words;

class Program
{
    static void Main()
    {
        string filePath = "document.docx";
        Document doc = new Document(filePath);

        string text = doc.GetText();
        Console.WriteLine("ข้อความที่ดึงออกมา: " + text);

        // ขั้นตอนที่ 3: ดึงข้อมูลเมตา
        Console.WriteLine("ชื่อเรื่อง: " + doc.BuiltInDocumentProperties.Title);
        Console.WriteLine("ผู้เขียน: " + doc.BuiltInDocumentProperties.Author);
        Console.WriteLine("วันที่สร้าง: " + doc.BuiltInDocumentProperties.CreatedTime);

        // ขั้นตอนที่ 4 จะถูกเพิ่มด้านล่าง
    }
}

คำอธิบาย: โค้ดนี้ดึงและพิมพ์ชื่อเรื่อง ผู้เขียน และวันที่สร้างข้อมูลเมตาจากเอกสาร Word

4. ดึงรูปภาพจากเอกสาร

using System;
using Aspose.Words;

class Program
{
    static void Main()
    {
        string filePath = "document.docx";
        Document doc = new Document(filePath);

        string text = doc.GetText();
        Console.WriteLine("ข้อความที่ดึงออกมา: " + text);

        Console.WriteLine("ชื่อเรื่อง: " + doc.BuiltInDocumentProperties.Title);
        Console.WriteLine("ผู้เขียน: " + doc.BuiltInDocumentProperties.Author);
        Console.WriteLine("วันที่สร้าง: " + doc.BuiltInDocumentProperties.CreatedTime);

        // ขั้นตอนที่ 4: ดึงรูปภาพ
        int imageCount = 0;
        foreach (var shape in doc.GetChildNodes(NodeType.Shape, true))
        {
            if (shape is Shape { HasImage: true } imageShape)
            {
                string imageFilePath = $"Image_{++imageCount}.png";
                imageShape.ImageData.Save(imageFilePath);
                Console.WriteLine($"บันทึกรูปภาพ: {imageFilePath}");
            }
        }

        Console.WriteLine("การดึงเนื้อหาสำเร็จเสร็จสิ้น");
    }
}

คำอธิบาย: โค้ดนี้ดึงรูปภาพทั้งหมดจากเอกสาร Word และบันทึกเป็นไฟล์ PNG ในโฟลเดอร์โปรเจกต์

5. ทดสอบโซลูชัน

  • ตรวจสอบให้แน่ใจว่า document.docx อยู่ในโฟลเดอร์โปรเจกต์
  • รันโปรแกรมและตรวจสอบ:
    • ข้อความที่ดึงออกมาในผลลัพธ์ของคอนโซล
    • รายละเอียดข้อมูลเมตาที่พิมพ์
    • รูปภาพที่ดึงออกมาถูกบันทึกในโฟลเดอร์โปรเจกต์

วิธีการติดตั้งและรันบนแพลตฟอร์มหลัก

Windows

  1. ติดตั้ง .NET runtime และติดตั้งแอปพลิเคชัน
  2. ทดสอบแอปพลิเคชันโดยการรันผ่านบรรทัดคำสั่ง

Linux

  1. ติดตั้ง .NET runtime
  2. ใช้คำสั่งในเทอร์มินัลเพื่อเรียกใช้แอปพลิเคชันหรือโฮสต์บนเซิร์ฟเวอร์

macOS

  1. รันแอปพลิเคชันโดยใช้ Kestrel หรือติดตั้งบนบริการคลาวด์

ปัญหาทั่วไปและวิธีแก้ไข

  1. รูปภาพไม่ถูกดึงออก:
    • ตรวจสอบว่าเอกสารมีรูปภาพที่ฝังอยู่และไม่ใช่รูปภาพที่เชื่อมโยงจากภายนอก
  2. ข้อมูลเมตาหาย:
    • ตรวจสอบว่าเอกสารมีคุณสมบัติข้อมูลเมตา เช่น ชื่อเรื่องหรือผู้เขียนตั้งค่าไว้
  3. การประมวลผลไฟล์ขนาดใหญ่:
    • ใช้แนวทางที่ประหยัดหน่วยความจำ เช่น การประมวลผลเฉพาะส่วนของเอกสาร

ด้วยคู่มือนี้ คุณสามารถดึงเนื้อหาที่มีค่าออกจากเอกสาร Word โดยใช้ Aspose.Words for .NET ได้อย่างมีโปรแกรม

 แบบไทย