C# 获取Word中指定图片的坐标位置(附vb.net代码)

本文内容分享通过C#程序代码来获取Word中指定图片的坐标位置的方法。附VB.NET代码,供参考。

程序运行环境:

  • .NET Framework 4.8

  • Free Spire.Doc for .NET 7.11

  • Word测试文档:.docx 2013

方法步骤:

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

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

程序代码:

C#

using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System;
 
namespace GetCoordinatesOfImg
{
    class Program
    {
        static void Main(string[] args)
        {
            //加载Word测试文档
            Document doc = new Document();
            doc.LoadFromFile("test.docx");
 
            //遍历section
            for (int a = doc.Sections.Count - 1; a >= 0; a--)
            {
                Section section = doc.Sections[a];
 
                //遍历paragraph段落
                for (int j = section.Paragraphs.Count - 1; j >= 0; j--)
                {
                    Paragraph paragraph = section.Paragraphs[j];
 
                    //遍历段落中的对象
                    for (int i = 0; i < paragraph.ChildObjects.Count; i++)
                    {
                        DocumentObject docobj = paragraph.ChildObjects[i];
 
                        //判断对象是否为图片
                        if (docobj.DocumentObjectType == DocumentObjectType.Picture)
                        {
                            DocPicture picture = docobj as DocPicture;
 
                            if (picture.Title.Equals("图片4"))//定位标题为“图片4”的图片
                            {
                                //获取图片坐标位置
                                float x = picture.HorizontalPosition;
                                float y = picture.VerticalPosition;
                                Console.WriteLine("坐标位置为:\n X=" + x + "\n Y=" + y);
                                Console.ReadLine();
                            }
                        }
                    }
                }
            }
        }
    }
}

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测试文档
                            Dim doc As New Document()
                            doc.LoadFromFile("test.docx")
 
                            '遍历section
                            For a As Integer = doc.Sections.Count - 1 To 0 Step -1
                                     Dim section As Section = doc.Sections(a)
 
                                     '遍历paragraph段落
                                     For j As Integer = section.Paragraphs.Count - 1 To 0 Step -1
                                               Dim paragraph As Paragraph = section.Paragraphs(j)
 
                                               '遍历段落中的对象
                                               For i As Integer = 0 To paragraph.ChildObjects.Count - 1
                                                        Dim docobj As DocumentObject = paragraph.ChildObjects(i)
 
                                                        '判断对象是否为图片
                                                        If docobj.DocumentObjectType = DocumentObjectType.Picture Then
                                                                 Dim picture As DocPicture = TryCast(docobj, DocPicture)
 
                                                                 If picture.Title.Equals("图片4") Then
                                                                           '定位标题为“图片4”的图片
                                                                           '获取图片坐标位置
                                                                           Dim x As Single = picture.HorizontalPosition
                                                                           Dim y 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

图片坐标位置读取结果:

测试的Word中的图片

图片坐标获取结果:


原创内容,转载务必注明出处!



请使用浏览器的分享功能分享到微信等