Extract Images from Word in C#

บทนำ

เอกสาร Word มักมี ภาพที่ฝังอยู่ ที่อาจต้องการ การดึงออกมาเพื่อนำกลับมาใช้ใหม่, ประมวลผล, หรือเก็บรักษา ในคู่มือนี้ เราจะสำรวจ วิธีการดึงภาพจากไฟล์ DOCX และ DOC โดยใช้โปรแกรมใน C# โดยใช้ Aspose.Words for .NET

ทำไมต้องดึงภาพจาก Word?

การดึงภาพจากเอกสาร Word สามารถเป็นประโยชน์ได้จากหลายเหตุผล:

  • อัตโนมัติกระบวนการดึงภาพจำนวนมาก จากเอกสาร Word หลายไฟล์
  • ดึงภาพความละเอียดสูง โดยไม่สูญเสียคุณภาพ
  • บันทึกภาพที่ดึงออกมา ในรูปแบบต่างๆ รวมถึง JPEG, PNG, และ BMP

สารบัญ

  1. การตั้งค่าการดึงภาพจาก Word ใน C#
  2. คู่มือทีละขั้นตอนในการดึงภาพ
  3. การบันทึกภาพที่ดึงออกมาในรูปแบบที่แตกต่างกัน
  4. การดึงภาพจากเอกสาร Word หลายไฟล์
  5. การขอใบอนุญาต API ฟรี
  6. บทสรุปและทรัพยากรเพิ่มเติม

1. การตั้งค่าการดึงภาพจาก Word ใน C#

ในการดึงภาพจาก เอกสาร Word เราใช้ Aspose.Words for .NET ไลบรารีที่ทรงพลังนี้มี:

  • การดึงภาพอัตโนมัติ จาก DOCX, DOC และรูปแบบอื่นๆ
  • การสนับสนุนรูปแบบภาพหลายรูปแบบ (PNG, JPG, BMP, ฯลฯ)
  • การประมวลผลที่มีประสิทธิภาพ สำหรับเอกสาร Word ขนาดใหญ่

การติดตั้ง

คุณสามารถติดตั้ง Aspose.Words ผ่าน NuGet ได้อย่างง่ายดายด้วยคำสั่งต่อไปนี้:

PM> Install-Package Aspose.Words

หรือดาวน์โหลด DLL จาก Aspose Downloads Page


2. คู่มือทีละขั้นตอนในการดึงภาพ

ทำตามขั้นตอนเหล่านี้เพื่อ ดึงภาพจากเอกสาร Word โดยใช้โปรแกรม:

  1. โหลด ไฟล์ Word โดยใช้คลาส Document
  2. ดึง รูปทรงทั้งหมดที่มีภาพ
  3. ดึงและ บันทึกแต่ละภาพ ไปยังตำแหน่งที่กำหนด

ตัวอย่างโค้ด

นี่คือตัวอย่างโค้ดง่ายๆ ที่จะช่วยให้คุณเริ่มต้น:

// โหลดเอกสาร
Document doc = new Document("input.docx");

// รับรูปทรงทั้งหมดที่มีภาพ
NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);

// ดึงและบันทึกแต่ละภาพ
int imageIndex = 1;
foreach (Shape shape in shapes)
{
    if (shape.HasImage)
    {
        string imagePath = $"Image_{imageIndex}.png";
        shape.ImageData.Save(imagePath);
        imageIndex++;
    }
}

วิธีนี้ ช่วยในการดึงภาพจากเอกสาร Word ได้อย่างมีประสิทธิภาพ


3. การบันทึกภาพที่ดึงออกมาในรูปแบบที่แตกต่างกัน

Aspose.Words ช่วยให้คุณสามารถบันทึกภาพที่ดึงออกมาในรูปแบบต่างๆ ซึ่งให้ความยืดหยุ่นตามความต้องการของคุณ:

รูปแบบประโยชน์
JPEGรูปแบบบีบอัดที่เหมาะสำหรับการใช้งานบนเว็บ
PNGรูปแบบที่ไม่สูญเสียข้อมูลสำหรับภาพคุณภาพสูง
BMPรูปแบบที่ไม่บีบอัดเพื่อให้รายละเอียดสูงสุด

เพื่อบันทึกภาพในรูปแบบเฉพาะ เพียงปรับเปลี่ยนส่วนขยายไฟล์ในวิธีการบันทึก


4. การดึงภาพจากเอกสาร Word หลายไฟล์

เพื่อ ดึงภาพจากไฟล์ Word หลายไฟล์ คุณสามารถวนลูปผ่านโฟลเดอร์ตามที่แสดงด้านล่าง:

string[] files = Directory.GetFiles("input_docs", "*.docx");
foreach (string file in files)
{
    Document doc = new Document(file);
    NodeCollection shapes = doc.GetChildNodes(NodeType.Shape, true);

    int index = 1;
    foreach (Shape shape in shapes)
    {
        if (shape.HasImage)
        {
            string imagePath = $"Extracted_{Path.GetFileNameWithoutExtension(file)}_{index}.jpg";
            shape.ImageData.Save(imagePath);
            index++;
        }
    }
}

วิธีนี้ ช่วยในการดึงภาพจำนวนมากจากเอกสาร Word ช่วยประหยัดเวลาและความพยายามอย่างมาก


5. การขอใบอนุญาต API ฟรี

เพื่อปลดล็อก ฟีเจอร์ทั้งหมดของ Aspose.Words คุณสามารถขอ ใบอนุญาตชั่วคราวฟรี ซึ่งจะให้คุณเข้าถึงความสามารถทั้งหมดของไลบรารีเพื่อการประเมินผล

สำหรับเอกสารประกอบที่ละเอียดมากขึ้น โปรดเยี่ยมชม Aspose.Words Guide หรือเข้าร่วมกับชุมชนใน Aspose forum สำหรับคำถามหรือการสนับสนุนใดๆ


6. บทสรุปและทรัพยากรเพิ่มเติม

สรุป

ในคู่มือนี้ เราได้ครอบคลุม:

วิธีการดึงภาพจากเอกสาร Word ใน C#
การบันทึกภาพในรูปแบบต่างๆ (JPEG, PNG, BMP)
การประมวลผลหลายไฟล์ Word


ด้วย Aspose.Words for .NET คุณสามารถ ดึงและจัดการภาพ ในเอกสาร Word ได้อย่างมีประสิทธิภาพ เริ่มต้น การดึงภาพจาก Word อัตโนมัติ วันนี้และปรับปรุงกระบวนการจัดการเอกสารของคุณ!