4

有人有使用 Apache poi 解析 docx 文件的经验吗?CharacterRun从使用中提取图像时

paragraph.getRun().getEmbeddedPictures();

我无法找到一种方法来获取图片的缩放或/和宽度/高度数据。

有这方面的功能吗?

谢谢你。

4

1 回答 1

9

想通了!

我不确定这是否是官方方式,但是,您可以这样做。

XWPFRun 并没有专门给你任何信息,但是 XWPFPicture 有一个名为 getCTPicture 的方法,它将在 docx 文件中返回图片的 XML 部分,使用你最喜欢的 XML 解析器,你只需要找到这个“/xml-fragment/pic:spPr /a:xfrm/a:ext" (xpath) 在 XML 结构中,该标签将具有 cx 和 cy 属性,这些基本上是 EMU 英制单位中图像的显示宽度和高度。如果你用谷歌搜索,你可以找到 EMUS_PER_INCH = 914400 所以你可以将它转换为英寸(或者稍后将英寸转换为像素,如果我没记错的话应该是每英寸 96 像素)所以做一些计算你可以计算出新的宽度和图片高度。

有点复杂,但就是这样。它有效。

希望对某人有所帮助。

于 2013-04-22T14:06:10.940 回答