Apache POI: Word получить размеры изображения
Я пытаюсь определить фактический размер встроенных изображений в документах 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, как указано в документации. Так есть ли другой способ получить фактический размер этих картинок в документе?
1 ответ
Вместо getHeight()
а также getWidth()
Вы можете прибегнуть к getDxaGoal()
соответственно getDyaGoal()
, Они представляют исходный размер изображения до масштабирования / кадрирования в два раза.
Затем вы можете умножить это на getVerticalScalingFactor() / 1000.0
соответственно getHorizontalScalingFactor() / 1000.0
получить окончательный (обработанный) размер. Деление на 1000.0 необходимо, потому что эти коэффициенты масштабирования приведены в промилле.