文檔首頁(yè)>>Aspose中文文檔>>從 NPOI 中的 Word 文檔中提取圖像
從 NPOI 中的 Word 文檔中提取圖像
Aspose.Words是一種高級(jí)Word文檔處理API,用于執(zhí)行各種文檔管理和操作任務(wù)。API支持生成,修改,轉(zhuǎn)換,呈現(xiàn)和打印文檔,而無(wú)需在跨平臺(tái)應(yīng)用程序中直接使用Microsoft Word。
Aspose API支持流行文件格式處理,并允許將各類文檔導(dǎo)出或轉(zhuǎn)換為固定布局文件格式和最常用的圖像/多媒體格式。
Aspose.Words
要從文檔中提取所有圖像或具有特定類型的圖像,請(qǐng)按照下列步驟操作:
-
使用 Document.GetChildNodes 方法選擇所有 Shape 節(jié)點(diǎn)。
- 迭代結(jié)果節(jié)點(diǎn)集合。
- 檢查 Shape.HasImage 布爾屬性。
- 使用Shape.ImageData屬性提取圖像數(shù)據(jù) 。
- 將圖像數(shù)據(jù)保存到文件中。
Document wordDocument = new Document("Extract Images from Word Document.doc"); NodeCollection pictures = wordDocument.GetChildNodes(NodeType.Shape, true); int imageindex = 0; foreach (Shape shape in pictures) { if (shape.HasImage) { string imageFileName = "data/Aspose_" + (imageindex++).ToString() + "_" + shape.Name; shape.ImageData.Save(imageFileName); } }
點(diǎn)擊復(fù)制
NPOI
XWPFDocument doc = new XWPFDocument(new FileStream("data/Extract Images from Word Document.doc",FileMode.Open)); IList<XWPFPictureData> pics = doc.AllPictures; foreach (XWPFPictureData pic in pics) { FileStream outputStream = new FileStream("data/NPOI_" + pic.FileName,FileMode.OpenOrCreate); byte[] picData= pic.Data; outputStream.Write(picData, 0, picData.Length); outputStream.Close(); }
點(diǎn)擊復(fù)制
下載運(yùn)行代碼
下載示例代碼