Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转换和打印Word/PDF/Excel等格式文件处理,小巧便捷。在 C#、VB.NET 中从 Word 中提取图像。

Spire.Doc for.NET 最新下载(767755948)https://www.evget.com/product/3368/download

让我们看看 Spire.Doc 是如何帮助开发人员解决与 Office 技术编程相关的问题。根据描述,发帖人希望将Word文件中的每张图片对应替换为“Here was image {image index}”。但是,我们想提供一个带有以下示例代码的解决方案。

测试文件

用文本替换图像的代码片段;

第 1 步:创建一个新的 Word 文档并加载测试文件。

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 步:保存并启动文件。

document.SaveToFile(@"..\..\result.docx", FileFormat.Docx);
System.Diagnostics.Process.Start(@"..\..\result.docx");

结果:

完整的 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 中的指定位置插入图像,如果您有其他问题也可以继续浏览本系列文章,获取相关教程,你还可以给我留言或者加入我们的官方技术交流群。

Word控件Spire.Doc 【图像形状】教程(4) 用 C# 中的文本替换 Word 中的图像相关推荐

  1. Word控件Spire.Doc 【图像形状】教程(8): 如何借助C#/VB.NET在 Word 中插入艺术字

    Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Micr ...

  2. Word控件Spire.Doc 【图像形状】教程(2) ;在 C#、VB.NET 中从 Word 中提取图像

    Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Micr ...

  3. Word控件Spire.Doc 转换教程(十八): 将 RTF 转换为图像并重置图像分辨率

    Spire.Doc具有在 C# 和 VB.NET 中操作 RTF 文件格式的强大能力.通过使用 Spire.Doc,开发人员可以将 RTF 转换为 PDF.HTML和 .doc..docx 格式的 w ...

  4. Word控件Spire.Doc 【页面背景】教程(9) ;C#/VB.NET:从 Word 文档中删除文本或图像水印

    可以将水印添加到 Word 文档中,以告知其他人文档的所有权或状态.有时,您可能希望删除 Word 文档中的现有水印.本文将演示如何使用Spire.Doc for .NET从 C# 和 VB.NET ...

  5. Word控件Spire.Doc 【文本】教程(14) ;如何用图片替换Word中的文字

    在 Spire.Doc 的教程部分,我们介绍了"用 C# 中的表格替换 Word 中的文本"和"用 C# 中的文本替换 Word 中的图像"的简单方法.有时,我 ...

  6. Word控件Spire.Doc 【页眉页脚】教程(4): 从C#中的word文档中删除标题

    Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Micr ...

  7. Word控件Spire.Doc 【超链接】教程(4):如何修改Word文档中的超文本

    Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Micr ...

  8. Word控件Spire.Doc 【书签】教程(1):在C#/VB.NET:在 Word 中插入书签

    Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Micr ...

  9. Word控件Spire.Doc 【书签】教程(4): 使如何在 DOCX 到 PDF 转换中保留书签

    Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Micr ...

  10. Word控件Spire.Doc 【Table】教程(7): 如何在C#中用表格替换word文档中的文本

    Spire.Doc for .NET 是一款专门对 Word 文档进行操作的 .NET 类库.在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建.编辑.转换和打印 Mic ...

最新文章

  1. JTable表头排序后,row获取错乱的问题解决
  2. jvm性能调优实战 -51修复栈内存区域内存溢出问题 StackOverFlow
  3. Linux 内核链表 【转】
  4. python接口自动化用例管理_python接口自动化测试(六)-unittest-单个用例管理
  5. WEB-INF 目录下的文件无法直接浏览器访问
  6. c语言蓝色字体,C 语言输出不同颜色字体
  7. Warning: Data truncated for column #39;AirPress#39; at row 1
  8. ARM开发经典学习网站推荐【转】
  9. java redo_redo和undo区别讨论
  10. jeecms 取附件
  11. 晚上思考人生千条路,白天走原路
  12. 深入理解计算机系统第四章(4.55-4.58)
  13. Mac Excel快捷键
  14. 耐心排序之最长递增子序列(LIS)
  15. java实现图片反色
  16. 【博弈】叉圈棋永远都是平局
  17. RSA的非对称加密,公钥加密私钥解密,本地测试
  18. 2020-08-17:为什么HashMap中数组的容量为2的次幂?
  19. Redmi11T Pro +值不值得买 Redmi11T Pro +配置如何
  20. 应对项目严重滞后4大有效补救方法

热门文章

  1. 实现企业邮箱登录验证功能
  2. C++的异常[转载]
  3. 为什么毫米波雷达无法识别静态物体?
  4. 什么是面向对象 什么是面向过程 面向对象和面向过程的区别
  5. Mysql查询各门课程成绩大于85分的学生名单—纠正网上大部分文章的错误
  6. 关于win10打印机设置错误,无法打印的解决办法
  7. Spark常见面试题及解答
  8. Java内存结构模型
  9. 机器学习之GD、SGD
  10. 不改HOST,另类打开谷歌搜索的方法