บทความนี้จะอธิบาย วิธีแยกรูปภาพจากเอกสาร Word ใน C# ซึ่งให้รายละเอียดเกี่ยวกับการกำหนดค่าของสภาพแวดล้อมที่จำเป็นสำหรับการทดสอบโค้ดตัวอย่าง ขั้นตอนแบบเป็นขั้นตอน และโค้ดตัวอย่างที่เรียกใช้ได้ซึ่งอ่านไฟล์ DOCX และบันทึกแต่ละภาพเป็นไฟล์ PNG นอกจากนี้ยังมีคำอธิบายเกี่ยวกับคลาส วิธีการ และคุณสมบัติที่จำเป็นในการ แยกรูปภาพทั้งหมดออกจากเอกสาร Word ใน C#
ขั้นตอนในการแยกรูปภาพออกจาก Word ใน C#
- สร้างสภาพแวดล้อมเพื่อเพิ่ม Aspose.Words for .NET เพื่อแยกรูปภาพ
- โหลดไฟล์ Word ต้นฉบับพร้อมรูปภาพในวัตถุคลาส Document
- รับชุดรูปร่างจากเอกสาร Word โดยใช้วิธี GetChildNodes()
- วนซ้ำองค์ประกอบทั้งหมดในคอลเลกชันรูปร่าง
- บันทึกแต่ละรูปร่างที่มีรูปภาพเป็นภาพแยกต่างหาก
ขั้นตอนเหล่านี้ให้รายละเอียดในการ แยกรูปภาพจากเอกสาร Word ใน C# ขั้นแรก ไฟล์ Word ต้นทางจะถูกโหลดลงในออบเจกต์คลาส Document จากนั้นจึงเข้าถึงคอลเลกชันรูปร่างได้โดยใช้เมธอด GetChildNodes() ที่ใช้ตัวแจงนับ NodeType.Shape เป็นอาร์กิวเมนต์ ในขั้นตอนถัดไป คอลเลกชันนี้จะถูกวนซ้ำและแต่ละรูปร่างจะได้รับการทดสอบว่ามีรูปภาพหรือไม่ และหากพบ ให้บันทึกเป็นไฟล์รูปภาพแยกต่างหาก
รหัสเพื่อแยกรูปภาพจากไฟล์ Word ใน C
using System; | |
using Aspose.Words; | |
using Aspose.Words.Drawing; | |
namespace AsposeProjects | |
{ | |
class Program | |
{ | |
static void Main(string[] args) // Main function to extract all the images from a Word document | |
{ | |
// Initialize licenses | |
Aspose.Words.License licWords = new Aspose.Words.License(); | |
licWords.SetLicense("Aspose.Total.lic"); | |
// Load a document having images in it | |
Document wordDocument = new Document("WordFileWithImages.docx"); | |
// Get collection of pictures from the Word document | |
NodeCollection allShapes = wordDocument.GetChildNodes(NodeType.Shape, true); | |
int index = 0; | |
// Iterate through all the pictures and save as a separate image file | |
foreach (Shape shape in allShapes) | |
{ | |
if (shape.HasImage) | |
{ | |
string imageFile = "Aspose_" + (index++).ToString() + "_" + shape.Name + ".png"; | |
shape.ImageData.Save(imageFile); | |
} | |
} | |
Console.WriteLine("Done"); | |
} | |
} | |
} |
โค้ดนี้สาธิตขั้นตอนการ แยกรูปภาพจากเอกสาร Word ใน C# ที่ใช้ออบเจกต์คลาส Document ซึ่งมีฟังก์ชันโอเวอร์โหลดที่แตกต่างกันซึ่งรองรับฟีเจอร์มากมาย เช่น การตั้งค่าการเข้ารหัส การตั้งค่าแบบอักษร การตั้งค่าภาษา และอื่นๆ อีกมากมาย ในทำนองเดียวกัน คุณสามารถดึงโหนดย่อยประเภทอื่นๆ โดยใช้เมธอด GetChildNodes() เช่น ส่วน ส่วนหัว/ส่วนท้าย ตาราง แถว เซลล์ และย่อหน้า เพื่อระบุชื่อไม่กี่รายการ
บทความนี้จะอธิบายวิธีการแยกรูปภาพออกจากไฟล์ Word หากคุณต้องการเรียนรู้ขั้นตอนการเพิ่มรูปภาพ โปรดดูบทความใน วิธีเพิ่มรูปภาพในเอกสาร Word โดยใช้ C#