请教大神POI解析word文档,如何获取标题前的数字(标题前的数字)。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教大神POI解析word文档,如何获取标题前的数字(标题前的数字)。相关的知识,希望对你有一定的参考价值。

参考技术A 如下:
1、这个确实没有好的办法,只能复制,粘贴值。
2、之后可以到EXCEL中使用数据,分列进行处理。
3、但部分内容还是要手动删除的。
自己试下吧。追问

不好意思,你可能没有明白我的意思。这个是Java使用poi解析word文档。

追答

SORRY~~

如何使用 POI 读取 word 文档中每个单词的字体大小?

【中文标题】如何使用 POI 读取 word 文档中每个单词的字体大小?【英文标题】:How to read font size of each word in a word document using POI? 【发布时间】:2013-07-09 04:41:54 【问题描述】:

我试图找出 word 文档中是否存在字体为 2 的任何内容。但是,我无法做到这一点。首先,我尝试在只有一行和 7 个单词的示例 Word 文档中读取每个单词的字体。我没有得到正确的结果。

这是我的代码:

HWPFDocument doc = new HWPFDocument (fileStream);
WordExtractor we = new WordExtractor(doc);
Range range = doc.getRange()
String[] paragraphs = we.getParagraphText();
for (int i = 0; i < paragraphs.length; i++) 
  Paragraph pr = range.getParagraph(i);
  int k = 0
  while (true) 
     CharacterRun run = pr.getCharacterRun(k++);
     System.out.println("Color: " + run.getColor());
     System.out.println("Font: " + run.getFontName());
     System.out.println("Font Size: " + run.getFontSize());
     if (run.getEndOffSet() == pr.getEndOffSet())
       break;
  

但是,上面的代码总是将字体大小加倍。即如果文档中的实际字体大小为 12,则输出 24,如果实际字体为 8,则输出 16。

这是从word文档中读取字体大小的正确方法吗??

【问题讨论】:

你可以尝试使用this Word-VBA logic(如果可能在java中)... 【参考方案1】:

是的,这是正确的方法;测量值是半点。

在 docx 中,你会有类似的东西:

<w:rPr>

  <w:sz w:val="28" /> 

</w:rPr>

ECMA 376 spec on @sz 定义单位为ST_HpsMeasure (Measurement in Half-Points)

它与 HWPF 支持的二进制文档格式相同。如果您查看[MS-DOC],您会发现它还以半磅为单位指定了文本的大小。

【讨论】:

以上是关于请教大神POI解析word文档,如何获取标题前的数字(标题前的数字)。的主要内容,如果未能解决你的问题,请参考以下文章

我想用poi解析word文档,文档的内容基本是若干个标题,每个标题下面跟一段内容,内容包括文字图片表格

如何去掉wordpress文章标题前的文章分类?

ueditor如何实现word文档的导入和下载功能?

关于poi读和写word文档

java解析word文档都有哪些方法

java 用POI 解析word中的表格,POI只能识别word中创建的表格。 如果表格是从Excel中copy过来的, POI无法识