Java ApachePOI:Word获取图片维度

Java ApachePOI:Word获取图片维度,java,apache-poi,doc,Java,Apache Poi,Doc,我正在尝试使用以下方法确定MS Word文档中嵌入图像的实际大小: HWPFDocument docB = new HWPFDocument(fileInputStream); PicturesTable picB = docB.getPicturesTable(); List picturesB = picB.getAllPictures(); for (Object o : picturesB) { Pi

我正在尝试使用以下方法确定MS Word文档中嵌入图像的实际大小:

        HWPFDocument docB = new HWPFDocument(fileInputStream);
        PicturesTable picB = docB.getPicturesTable();
        List picturesB = picB.getAllPictures();
        for (Object o : picturesB) {
            Picture pic = (Picture) o;
            int height = pic.getHeight();
            int width = pic.getWidht();
        }
这对于某些图像很好,但对于其他图像,getHeight()和getWidth()将只返回-1,如中所述。 那么,有没有其他方法可以获得文档中这些图片的实际大小?

而不是
getHeight()
getWidth()
,您可以分别使用。这些表示在缩放/裁剪之前图像的原始大小


然后可以将其与
getVerticalScalingFactor()/1000.0
resp相乘
getHorizontalScalingFactor()/1000.0
以获取最终(渲染)大小。除以1000.0是必要的,因为这些比例因子是以每千为单位给出的。

复制它们并保存到磁盘,以便通过另一种方法进行操作,怎么样?我会担心它们是矢量图形,没有可确定的大小。如果我将它们保存为图像,我将无法再分辨它在Word中的大小。即使矢量图形在Word文档中也会有一定的大小。我想知道在知道布局大小之前,是否需要将文档与某种形式的渲染器或打印预览相关联。(很抱歉,我帮不上什么忙)您是否尝试过迭代章节、段落和字符运行?文档表明,这是获得真实图片列表的更好方法。(不确定是否能解决尺寸问题)不,我还没有,但我可以试试。然而,我并不认为这会有什么不同。