替換 Word 中的圖像
Spire.Doc for .NET是一款專門對(duì) Word 文檔進(jìn)行操作的 .NET 類庫(kù)。在于幫助開發(fā)人員無(wú)需安裝 Microsoft Word情況下,輕松快捷高效地創(chuàng)建、編輯、轉(zhuǎn)換和打印 Microsoft Word 文檔。擁有近10年專業(yè)開發(fā)經(jīng)驗(yàn)Spire系列辦公文檔開發(fā)工具,專注于創(chuàng)建、編輯、轉(zhuǎn)換和打印Word/PDF/Excel等格式文件處理,小巧便捷。在 C#、VB.NET 中從 Word 中提取圖像。
讓我們看看 Spire.Doc 是如何幫助開發(fā)人員解決與 Office 技術(shù)編程相關(guān)的問題。根據(jù)描述,發(fā)帖人希望將Word文件中的每張圖片對(duì)應(yīng)替換為“Here was image {image index}”。但是,我們想提供一個(gè)帶有以下示例代碼的解決方案。
測(cè)試文件:
用文本替換圖像的代碼片段;
第 1 步:創(chuàng)建一個(gè)新的 Word 文檔并加載測(cè)試文件。
Document document = new Document(@"..\..\test.docx");
第 2 步:獲取Word文檔中的所有圖片并將它們替換為文本“Here was image {image index}”。
int j = 1; foreach (Section sec in document.Sections) { foreach (Paragraph para in sec.Paragraphs) { List pictures = new List(); foreach (DocumentObject docObj in para.ChildObjects) { if (docObj.DocumentObjectType == DocumentObjectType.Picture) { pictures.Add(docObj); } } foreach (DocumentObject pic in pictures) { int index = para.ChildObjects.IndexOf(pic); TextRange range = new TextRange(document); range.Text = string.Format("Here was image {0}", j); para.ChildObjects.Insert(index, range); para.ChildObjects.Remove(pic); j++; } } }
第 3 步:保存并啟動(dòng)文件。
document.SaveToFile(@"..\..\result.docx", FileFormat.Docx); System.Diagnostics.Process.Start(@"..\..\result.docx");
結(jié)果:
完整的 C# 代碼:
[C#]
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fields; using Spire.Doc.Interface; using System.Drawing; namespace ReplaceImageWithText { class Program { static void Main(string[] args) { Document document = new Document(@"..\..\test.docx"); int j = 1; foreach (Section sec in document.Sections) { foreach (Paragraph para in sec.Paragraphs) { List pictures = new List(); foreach (DocumentObject docObj in para.ChildObjects) { if (docObj.DocumentObjectType == DocumentObjectType.Picture) { pictures.Add(docObj); } } foreach (DocumentObject pic in pictures) { int index = para.ChildObjects.IndexOf(pic); TextRange range = new TextRange(document); range.Text = string.Format("Here was image {0}", j); para.ChildObjects.Insert(index, range); para.ChildObjects.Remove(pic); j++; } } } document.SaveToFile(@"..\..\result.docx", FileFormat.Docx); System.Diagnostics.Process.Start(@"..\..\result.docx"); } } }
以上便是如何在 C#/VB.NET 中的指定位置插入圖像,如果您有其他問題也可以繼續(xù)瀏覽本系列文章,獲取相關(guān)教程,你還可以給我留言或者加入我們的官方技術(shù)交流群(767755948)