醉百书

C# 获取Word中的指定图片坐标位置(附VB.NET)

醉百书 2021-07-20 10:00:11
语音朗读

以下内容通过C#以及VB.NET代码示例来介绍获取Word文档中指定图片的坐标位置。

工具/材料

.Net Framework4.8

Visual Studio2013

Free Spire.Doc for.NET7.11

Word测试文档:.docx2013

方法步骤

01.

指定文件路径,本次测试代码路径为项目文件夹路径。即在Visual Studio项目文件下存入用于测试的Word文档,如:C:\Users\Administrator\Documents\Visual Studio2013\Projects\ExtractTextandImage_Doc\GetCoordinatesOfImg\bin\Debug\test.docx。文件路径也可自定义为其他路径。

02.

在“解决方案资源管理器”中引入必要程序集文件,如下图:

03.

在程序中键入如下C#代码:

using Spire.Doc;

using Spire.Doc.Documents;

using Spire.Doc.Fields;

using System;

namespace GetCoordinatesOfImg

{

class Program

{

static void Main(string[]args)

{

//加载Word测试文档

Documentdoc=new Document();

doc.LoadFromFile("test.docx");

//遍历section

for(inta=doc.Sections.Count-1;a>=0;a--)

{

Sectionsection=doc.Sections[a];

//遍历paragraph段落

for(intj=section.Paragraphs.Count-1;j>=0;j--)

{

Paragraphparagraph=section.Paragraphs[j];

//遍历段落中的对象

for(inti=0;i

{

DocumentObjectdocobj=paragraph.ChildObjects[i];

//判断对象是否为图片

if(docobj.DocumentObjectType==DocumentObjectType.Picture)

{

DocPicturepicture=docobjas DocPicture;

if(picture.Title.Equals("图片4"))//定位标题为“图片4”的图片

{

//获取图片坐标位置

float x=picture.HorizontalPosition;

floaty=picture.VerticalPosition;

Console.WriteLine("坐标位置为:\nX=" +x+ "\nY=" +y);

Console.ReadLine();

}

}

}

}

}

}

}

}

04.

完成代码后,执行程序,输出图片坐标获取结果,如下图:

05.

附VB.NET代码:

Imports Spire.Doc

Imports Spire.Doc.Documents

Imports Spire.Doc.Fields

Namespace GetCoordinatesOfImg

Class Program

Private Shared Sub Main(args As String())

'加载Word测试文档

Dimdoc As New Document()

doc.LoadFromFile("test.docx")

'遍历section

ForaAs Integer=doc.Sections.Count-1To0Step-1

Dimsection As Section=doc.Sections(a)

'遍历paragraph段落

ForjAs Integer=section.Paragraphs.Count-1To0Step-1

Dimparagraph As Paragraph=section.Paragraphs(j)

'遍历段落中的对象

ForiAs Integer=0Toparagraph.ChildObjects.Count-1

Dimdocobj As DocumentObject=paragraph.ChildObjects(i)

'判断对象是否为图片

Ifdocobj.DocumentObjectType=DocumentObjectType.Picture Then

Dimpicture As DocPicture=TryCast(docobj,DocPicture)

Ifpicture.Title.Equals("图片4")Then

'定位标题为“图片4”的图片

'获取图片坐标位置

DimxAs Single=picture.HorizontalPosition

Dimy As Single=picture.VerticalPosition

Console.WriteLine("坐标位置为:" &vbLf& "X=" +x+vbLf& "Y=" +y)

Console.ReadLine()

End If

End If

Next

Next

Next

End Sub

End Class

End Namespace

相关推荐