如何在 Apache POI(java) 中读取 .docx 中的字体大小和字体名称

2023-12-20

这是我的代码。

XWPFRun run = runlist.get(0);
double fontsize = (double)(run.getFontSize());
String fontfamily = (String)run.getFontFamily();

当它读取 .docx 文件时,有时会在字体大小中返回 -1,在字体系列中返回 null。

我知道这是因为它们是默认值,但我不需要 -1 和 null 我只想要该默认值的名称。

我怎样才能阅读它?


字体/字符属性XWPFRun https://poi.apache.org/apidocs/org/apache/poi/xwpf/usermodel/XWPFRun.html仅返回覆盖详细信息,因此运行时的设置与周围的文本不同

如果运行使用默认样式,您需要向上移动到XWFP段落 https://poi.apache.org/apidocs/org/apache/poi/xwpf/usermodel/XWPFParagraph.html它属于(或表等),然后调用获取样式Id() https://poi.apache.org/apidocs/org/apache/poi/xwpf/usermodel/XWPFParagraph.html#getStyleID%28%29获取适用于该段落的样式。

然后,在文档上调用XWPFDocument.getStyles() https://poi.apache.org/apidocs/org/apache/poi/xwpf/usermodel/XWPFDocument.html#getStyles%28%2.获取样式(样式ID) https://poi.apache.org/apidocs/org/apache/poi/xwpf/usermodel/XWPFStyles.html#getStyle%28java.lang.String%29得到XWPF风格 https://poi.apache.org/apidocs/org/apache/poi/xwpf/usermodel/XWPFStyle.html适用于感兴趣的段落的对象。

从样式中,您可以获取该样式中定义的属性,例如字体。如果样式继承自一种样式,您可能还需要获取父级。

目前,XWPFStyle 对象的级别有点低,因此可以通过补丁来改进它非常感谢收到! http://poi.apache.org/guidelines.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Apache POI(java) 中读取 .docx 中的字体大小和字体名称 的相关文章

  • 如何将画廊意图中的“打开”更改为“完成”?

    我使用以下意图打开画廊来选择多个图像和视频 Intent intent new Intent intent setType image video intent putExtra Intent EXTRA ALLOW MULTIPLE tr
  • Java Runtime.getRuntime().freeMemory() 问题

    我搜索并看到了一些线程 但没有一个能够解决我遇到的具体问题 我正在尝试使用以下方式监视我的内存使用情况Runtime getRuntime freeMemory Runtime getRuntime maxMemory and Runtim
  • @RestController 没有 @ResponseBody 方法工作不正确

    我有以下控制器 RestController RequestMapping value base url public class MyController RequestMapping value child url method Req
  • 通过SOCKS代理连接Kafka

    我有一个在 AWS 上运行的 Kafka 集群 我想用标准连接到集群卡夫卡控制台消费者从我的应用程序服务器 应用程序服务器可以通过 SOCKS 代理访问互联网 无需身份验证 如何告诉 Kafka 客户端通过代理进行连接 我尝试了很多事情 包
  • “java.net.MalformedURLException:未找到协议”读取到 html 文件

    我收到一个错误 java net MalformedURLException Protocol not found 我想读取网络上的 HTML 文件 mainfest uses permission android name android
  • GWT - 如何组织项目以拥有多个网页以及它们之间的导航

    我是 GET 的新手 顺便说一句 它给我留下了深刻的印象 并且发现它对于像我这样熟悉 C NET 桌面技术并愿意编写 Web 应用程序的人来说非常有吸引力 我根据 GWT Eclipse 向导生成的示例启动了自己的项目 该项目生成带有面板的
  • 如何将 Mat (opencv) 转换为 INDArray (DL4J)?

    我希望任何人都可以帮助我解决这个任务 我正在处理一些图像分类并尝试将 OpenCv 3 2 0 和 DL4J 结合起来 我知道DL4J也包含Opencv 但我认为它没什么用 谁能帮我 如何转换成 INDArray 我尝试阅读一些问题here
  • Jackson XML ArrayList 输出具有两个包装器元素

    我在 Jackson 生成的 XML 输出中得到了两个包装器元素 我只想拥有一个 我有一个 Java bean Entity Table name CITIES JacksonXmlRootElement localName City pu
  • 自动生成Flyway的迁移SQL

    当通过 Java 代码添加新模型 字段等时 JPA Hibernate 的自动模式生成是否可以生成新的 Flyway 迁移 捕获自动生成的 SQL 并将其直接保存到新的 Flyway 迁移中 以供审查 编辑 提交到项目存储库 这将很有用 预
  • 从 GitHub 上托管的 Spring Cloud Config Server 访问存储库的身份验证问题

    我在 GitHub 上的存储库中托管配置 如果我将回购公开 一切都好 但如果我将其设为私有 我将面临 org eclipse jgit errors TransportException https github com my user m
  • 在 Windows 7 上的 Sourcetree 中比较 Word docx 文件

    我一直在尝试获取在 Windows 7 上的 Sourcetree 中工作的 Word docx 文件的文本差异 我已按照此处的说明进行操作将 Microsoft Word 与 git 结合使用 http blog martinfenner
  • Docker 和 Eureka 与 Spring Boot 无法注册客户端

    我有一个使用 Spring Boot Docker Compose Eureka 的非常简单的演示 我的服务器在端口 8671 上运行 具有以下应用程序属性 server port 8761 eureka instance prefer i
  • @font-face 和 font-variant 是个坏主意吗?

    如果我使用 font face字体和font variant small caps对于相同的选择器 字体将回退到 Safari 中的下一个系统默认字体 我该如何解决这个问题 我一开始在创建一个示例来复制您的问题时遇到了一些麻烦 这让我意识到
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • “无法实例化活动”错误

    我的一个 Android 应用程序拥有大约 100 000 个用户 每周大约 10 次 我会通过 Google 的市场工具向我报告以下异常情况 java lang RuntimeException Unable to instantiate
  • Spring-ws:如何从没有“Request”元素的 xsd 创建 Wsdl

    尝试为客户端实现 SOAP Web 服务 我需要一个 wsdl 文件来通过soapUI 测试该服务 但正如您在下面看到的 这个 xsd 没有 Request 和 Response 方法 所有请求和响应都被定义为基本 ServiceProvi
  • Hamcrest Matchers - 断言列表类型

    问题 我目前正在尝试使用 Hamcrest Matchers 来断言返回的列表类型是特定类型 例如 假设我的服务调用返回以下列表 List
  • 使用按钮作为列表的渲染器

    我想使用一个更复杂的渲染器 其中包含列表的多个组件 更准确地说 类似于this https stackoverflow com questions 10840498 java swing 1 6 textinput like firefox
  • Java中HashMap和ArrayList的区别?

    在爪哇 ArrayList and HashMap被用作集合 但我不明白我们应该在哪些情况下使用ArrayList以及使用时间HashMap 他们两者之间的主要区别是什么 您具体询问的是 ArrayList 和 HashMap 但我认为要完
  • Java EE 目录结构

    我对以下教程有疑问 http www mkyong com jsf2 jsf 2 internationalization example http www mkyong com jsf2 jsf 2 internationalizatio

随机推荐

  • Objective-c 中的自定义属性

    可以像在 VB NET 中一样在 Objective C 中创建自定义属性吗 例如 在 VB NET 中 您可以创建 Browsable 属性并在运行时读取它以确定是否应该显示属性 Public Class Employee
  • 关闭文件而不使用 using

    我有一个类 它从一个文件流读取数据并写入另一个文件流 我担心在 closeFiles 中处理完成后关闭流 您将如何处理一个流的处置可能引发异常以阻止调用另一流的处置的可能性 我应该关闭并在流中进行处理还是只处理一个 如果我从流处理中发现任何
  • 如何检测输入是否是引号?

    我有以下代码 if userInput do something 我希望它能够检测 userInput is a quote 但是 此代码会引发错误 如何检测是否输入is a quote 正如你所问的 如果输入contains引用 只是fi
  • Jssor 全宽滑块 - 连续循环/下一张/上一张图像部分可见

    有没有办法在滑块中部分显示上一张和下一张图像 IE 如果您有 3 张固定宽度的幻灯片 您可以部分看到其中一张的一部分 被不透明度和后退按钮覆盖 另一张幻灯片的整张 然后部分看到最 后一张 再次被不透明度和后退按钮覆盖 下一个按钮 然后您可以
  • usr/bin/env: 错误的解释器权限被拒绝 --> 如何更改 fstab

    我在 Windows 7 上使用 cygwin 运行激活 python 脚本的 bash 脚本 但出现以下错误 myscript script cydrive c users mydrive folder myscript py usr b
  • 如何从抽象类扩展枚举类?

    有这样的东西 public enum Token FOO foo f QUIT quit q UNKNOWN public parse String s for Token token values return token return
  • VHDL 中的行为模型程序和数据流模型程序之间的混淆

    我正在使用 Douglas L Perry 所著的教科书 VHDL 示例编程 第四版 他在第 4 页给出了 Dataflow 编程模型的示例 Code I ENTITY mux IS PORT a b c d IN BIT s0 s1 IN
  • 如何解决安卓验证错误?

    我正在工作 android 应用程序 当我运行该应用程序时出现以下错误 occred 请帮助我 01 20 20 39 02 955 WARN dalvikvm 5690 VFY arbitrarily rejecting large me
  • 输入框中占位符旁边的红色星号

    我已经做了很多谷歌搜索 但我找不到任何适合我的答案 我正在创建一个表单 有史以来第一次 并且我需要在输入框中的占位符文本旁边添加一个红色星号 尴尬的是 这是迄今为止我能得到的最接近的结果 form margin 0 auto backgro
  • f# 中受保护的虚拟方法

    F 不支持定义protected方法 这里解释一下why https stackoverflow com questions 2390515 why isnt there a protected access modifier in f F
  • xcode - 无效的位码

    我收到这个错误 错误 无效的位码签名 clang 错误 链接器命令失败 退出代码为 1 使用 v 查看调用 我正在使用 cocoapods 并且已经验证所有启用位码都匹配 我已经尝试了启用位码字段的所有选项 是 否 和 inherited
  • 按名称和按值类型的多态类型推断

    我一直遇到类型推断问题 我不确定我是否做错了什么 编译器中存在错误 或者是语言的限制 我创建了一个虚拟示例来显示问题 该用例没有任何意义 但相信我 我有一个有效的用例 假设我有这个代码 val function Int String gt
  • 使用 python 生成随机数的大数组

    我需要生成一个包含随机数 10 数字 的大数组 或列表 我就是这样尝试的 vet random sample range 10 100000 但是当我尝试运行时 vet random sample range 10 10000 文件 usr
  • 在 Ruby 中对数组进行排序

    我有一个数组数组 如下所示 irb main 028 0 gt device array gt name1 type1 A N N Attribute device attribute 9 name2 type2 A N N Attribu
  • 如何构建这个复杂的 Linq 表达式?

    我想构建一个 System Linq Expression来自字符串列表像这样 System Linq Expressions Expression x null foreach string s in GetWords input Cre
  • “删除文件时出错:权限被拒绝”并在 C++ 中删除

    当我编译并运行 C 程序时 它删除了一个名为 example txt 的文件 如下 include
  • 我应该使用 %$% 而不是 %>% 吗?

    最近我发现了 管道运算符 但我忽略了它与 gt 如果它可以完全取代它 使用动机 运营商 可以取代 gt 在许多情况下 mtcars gt summary mtcars summary mtcars gt head 10 mtcars hea
  • Gadfly 图目前可以组合吗?

    目前有没有办法在 Gadfly jl 中将绘图元素添加在一起 例如 在 R 中 如果我有另一个返回 ggplot 的函数并且我想为其添加标题 我会执行以下操作 p lt makeMyPlot p ggtitle Now it has a t
  • 将 SafeArgs 与 Proguard 和导航架构组件一起使用时出现 ClassNotFoundException?

    我在用着SafeArgs插件和Navigation Architecture Component但应用程序崩溃了 Caused by java lang ClassNotFoundException Didn t find class co
  • 如何在 Apache POI(java) 中读取 .docx 中的字体大小和字体名称

    这是我的代码 XWPFRun run runlist get 0 double fontsize double run getFontSize String fontfamily String run getFontFamily 当它读取