C# 获取word中的指定图片坐标位置(附) word怎么批量调整图片位置。以下内容通过C#以及代码示例来介绍获取Word文档中指定图片的坐标位置。
工具/材料
.NetFramework4.8
VisualStudio2013
FreeSpire.Docfor.NET7.11
Word测试文档:.docx2013
操作方法
01
指定文件路径,本次测试代码路径为项目文件夹路径。即在VisualStudio项目文件下存入用于测试的Word文档,如:C:\Users\Administrator\Documents\VisualStudio2013\Projects\ExtractTextandImage_Doc\GetCoordinatesOfImg\bin\Debug\test.docx。文件路径也可自定义为其他路径。
02
在“解决方案资源管理器”中引入必要程序集文件,如下图:
03
在程序中键入如下C#代码:
usingSpire.Doc;
usingSpire.Doc.Documents;
usingSpire.Doc.Fields;
usingSystem;
namespaceGetCoordinatesOfImg
{
classProgram
{
staticvoidMain(string[]args)
{
//加载Word测试文档
Documentdoc=newDocument();
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--)
{
Paragra
phparagraph=section.Paragraphs[j];
//遍历段落中的对象
for(inti=0;i<paragraph.ChildObjects.Count;i++)
{
DocumentObjectdocobj=paragraph.ChildObjects[i];
//判断对象是否为图片
if(docobj.DocumentObjectType==DocumentObjectType.Picture)
{
DocPicturepicture=docobjasDocPicture;
if(picture.Title.Equals("图片4"))//
定位标题为“图片4”的图片
{
//获取图片坐标位置
floatx=picture.HorizontalPosition;
floaty=picture.VerticalPosition;
Console.WriteLine("坐标位置为:\nX="+x+"\nY="+y);
Console.ReadLine();
}
}
}
}
}
}
}
}
04
完成代码后,执行程序,输出图片坐标获取结果,如下图:
05
附代码:
ImportsSpire.Doc
ImportsSpire.Doc.Documents
ImportsSpire.Doc.Fields
NamespaceGetCoordinatesOfImg
ClassProgram
PrivateSharedSubMain(argsAsString())
'加载Word测试文档
DimdocAsNewDocument()
doc.LoadFromFile("test.docx")
'遍历section
ForaAsInteger=doc.Sections.Count-1To0Step-1
DimsectionAsSection=doc.Sections(a)
'遍历paragraph段落
ForjAsInteger=section.Paragraphs.Count-1To0Step-1
DimparagraphAsParagraph=section.Paragraphs(j)
'遍历段落中的对象
ForiAsInteger=0Toparagraph.ChildObjects.Count-1
DimdocobjAsDocumentObject=paragraph.ChildObjects(i)
'判断对象是否为图片
Ifdocobj.DocumentObjectType=DocumentObjectType.PictureThen
DimpictureAsDocPicture=TryCast(docobj,DocPicture)
Ifpicture.Title.Equals("图片4")Then
'定位标题为“图片4”的图片
'获取图片坐标位置
DimxAsSingle=picture.HorizontalPosition
DimyAsSingle=picture.VerticalPosition
Console.WriteLine("坐标位置为:"&vbLf&"X="+x+vbLf&"Y="+y)
Console.ReadLine()
EndIf
EndIf
Next
Next
Next
EndSub
EndClass
EndNamespace