java获取word中指定图片的坐标位置

E-iceblue      2022-06-01     466

关键词:

本文介绍通过Java程序获取Word文档中指定图片的坐标位置。

程序运行环境:

  • Word测试文档:.docx 2013
  • Free Spire.doc.jar 3.9.0
  • IntelliJ IDEA
  • JDK 1.8.0

方法步骤:

1. 指定文件路径,本次测试代码路径为项目文件夹路径。即在IDEA项目文件下存入用于测试的Word文档,如:C:\Users\Administrator\IdeaProjects\Picture_Doc\input.docx。文件路径也可自定义为其他路径。

2. 在程序中引入jar文件,如下图:

 

3.Java程序代码

import com.spire.doc.*;
import com.spire.doc.documents.DocumentObjectType;
import com.spire.doc.documents.Paragraph;
import com.spire.doc.fields.DocPicture;

public class GetCoordinatesOfPicture {
    public static void main(String[] args) {
        //加载Word测试文档
        Document doc = new Document();
        doc.loadFromFile("input.docx");

        //遍历section
        for (int a = 0; a<doc.getSections().getCount();a++)
        {
            Section section = doc.getSections().get(a);

            //遍历paragraph段落
            for (int b =0 ;b<section.getParagraphs().getCount();b++)
            {
                Paragraph paragraph = section.getParagraphs().get(b);

                //遍历段落中的对象
                for (int i = 0; i < paragraph.getChildObjects().getCount(); i++)
                {
                    DocumentObject docobj = paragraph.getChildObjects().get(i);

                    //判断对象是否为图片
                    if (docobj.getDocumentObjectType()== DocumentObjectType.Picture)
                    {
                        DocPicture picture = (DocPicture) docobj ;

                        if (picture.getTitle().equals("图片4"))//定位标题为“图片4”的图片
                        {
                            //获取图片坐标位置
                            float x = picture.getHorizontalPosition();
                            float y = picture.getVerticalPosition();
                            System.out.println("坐标位置为:\n X=" + x + " Y=" + y);
                        }
                    }
                }
            }
        }

    }
}

坐标获取结果:

 

原创文章,如需转载请务必注明出处!

 

如何获取整数字符串中指定位置的整数? [复制]

】如何获取整数字符串中指定位置的整数?[复制]【英文标题】:Howtogetanintegerataspecifiedpositioninastringofintegers?[duplicate]【发布时间】:2017-04-0223:03:33【问题描述】:如果我有一个类似StringmyString="12345"的字符串,并且我想返... 查看详情

如何在面板控件中指定图片框的位置而不是使用foreach?

】如何在面板控件中指定图片框的位置而不是使用foreach?【英文标题】:Howtospecifythepositionofpictureboxinpanelcontrolinsteadofusingforeach?【发布时间】:2021-12-1514:36:51【问题描述】:foreach(PictureBoxpictureinpanel1.Controls)if(count==12)break;count=coun... 查看详情

js获取一个字符串中指定字符串第n次出现的位置

1.JS获取一个字符串中指定字符串第n次出现的位置   了解类似的获取字符位置的方法:  1.1 charAt()获取字符串指定位置的字符  用法:strObj是字符串对象,index是指定的位置,(位置从0开始数) strObj.charAt(index)... 查看详情

java示例代码_避免在CXF或JAX-WS生成的webservice客户端中指定WSDL位置

java示例代码_避免在CXF或JAX-WS生成的webservice客户端中指定WSDL位置 查看详情

用javascript,获取table中指定的行列

<html><headrunat="server"><title>演示获取Table的值</title><scripttype="text/javascript"language="javascript">//Description:演示用JavaScript,获取Table中指定行、列元素值//CopyRight:http://www. 查看详情

在构建 Java GraphQL API 时,如何避免从数据库中过度获取(即仅获取查询中指定的字段)?

】在构建JavaGraphQLAPI时,如何避免从数据库中过度获取(即仅获取查询中指定的字段)?【英文标题】:WhenbuildingaJavaGraphQLAPI,howcanIavoidOver-FetchingfromtheDB(i.e.fetchingonlyforthefieldsspecifiedinthequery)?【发布时间】:2019-03-1601:55:21【问题描... 查看详情

如何在 web.config 中指定根 (/) 位置?

】如何在web.config中指定根(/)位置?【英文标题】:Howtospecifyroot(/)locationinweb.config?【发布时间】:2012-03-1014:37:08【问题描述】:如何在web.config中指定根位置以允许未经身份验证的用户访问它?根位置由default.aspx提供,但用户通常... 查看详情

如何在 CATransition 中指定开始和结束位置?

】如何在CATransition中指定开始和结束位置?【英文标题】:Howcanispecifystart&endpositioninCATransition?【发布时间】:2011-08-0407:03:43【问题描述】:我想在我的应用程序中使用CATransition动画,但我不知道如何指定CATransition动画的开始... 查看详情

pandas使用drop函数删除dataframe中指定索引位置的数据行(droprowindataframewithintegerindex)

pandas使用drop函数删除dataframe中指定索引位置的数据行(droprowindataframewithintegerindex)目录pandas使用drop函数删除dataframe中指定索引位置的数据行(droprowindatafram 查看详情

查找列表中指定的所有元素的位置

问题:查找列表中指定的值的所有元素使用list的index方法1deffind_index(src,key):2start_pos=03foriinrange(src.count(key)):4ifstart_pos==0:5start_pos=src.index(key)6else:7start_pos=src.index(key,start_pos+1)8print(start_pos)910 查看详情

在 geom_text 中指定标签的位置

】在geom_text中指定标签的位置【英文标题】:Specifyingthepositionofalabelingeom_text【发布时间】:2021-03-1215:26:39【问题描述】:我创建了一个条形图,后来添加了geom_text。我想让标签从每个条的底部开始,我尝试使用位置vjust和hjust,... 查看详情

外部数据源中指定的错误或不可访问的位置

】外部数据源中指定的错误或不可访问的位置【英文标题】:Badorinaccessiblelocationspecifiedinexternaldatasource【发布时间】:2020-11-0505:25:45【问题描述】:我正在尝试将Azure文件存储中的文件保存到AzureSQL数据库表varbinary(max)列(按照建... 查看详情

java反射之调用运行时类中指定的属性(代码片段)

...上篇文章已经详细给出的Person类文章地址:Java反射–获取类的内部结构详解一、可以通过调用运行时类中指定的属性,获取,设置属性的值。代码如下:@Testpublicvoidtest()throwsExceptionClass<Person>clazz=Per 查看详情

如何在频道列表中指定语音频道的位置?不和谐.py

】如何在频道列表中指定语音频道的位置?不和谐.py【英文标题】:Howtospecifythepositionofavoicechannelinthelistofchannels?discord.py【发布时间】:2021-04-0603:03:54【问题描述】:我正在尝试使用机器人在我的discord服务器上创建一个语音频道... 查看详情

ios获取label中指定行的文本信息

参考技术AiOS获取一串字符中指定行数的文本,及其文本行数 查看详情

如何在 Spark 结构化流中指定 deltalake 表的位置?

】如何在Spark结构化流中指定deltalake表的位置?【英文标题】:Howtospecifythelocationofadeltalaketableinsparkstructuredstreaming?【发布时间】:2019-06-2714:51:28【问题描述】:我有一个流数据传入,我使用以下代码将其保存为deltalake表:cast_data... 查看详情

java要怎么修改csv中指定行列位置的值

参考技术A  java读取csv文件,按照指定格式:  importjava.io.IOException;  importjava.nio.charset.Charset;  importjava.util.ArrayList;  importcom.csvreader.CsvReader;  importcom.csvreader.CsvWriter;  /**  *读取CSV文件  *所谓"CSV",是Co... 查看详情

java获取数据库中指定格式的日期

newSimpleDateFormat("yyyy-MM-ddHH:mm:ss").parse(rs.getString("postTime"))这是我写的输出为MonMar0500:00:00CST2012我要的是这种格式,yyyy-MM-ddHH:mm:ss,要怎么写参考技术Aimportjava.text.DateFormat;importjava.text.ParseException;importjava.text.SimpleDateFormat;... 查看详情