2014-04-22 4 views
1

내가아파치 POI : 말씀 얻을 사진

 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 (일부 이미지 만 다른 사람을 위해 잘 작동 사용하여 MS Word 문서에 포함 된 이미지의 실제 크기를 결정하는 것을 시도하고있다) 것 치수 documentation에 명시된대로 -1 만 반환합니다. 문서의 실제 크기를 가져 오는 다른 방법이 있습니까?

+0

다른 방법을 사용하여 디스크를 복사하고 디스크에 저장하는 방법은 무엇입니까? 나는 그들이 결정할만한 크기가없는 벡터 그래픽이라고 걱정할 것입니다. – Kieveli

+0

잘 이미지로 저장하면 더 이상 Word에서 크기를 알 수 없게됩니다. 심지어 벡터 그래픽도 Word 문서에서 크기가 있습니다. – silent

+0

레이아웃 크기를 알기 전에 문서를 렌더러 또는 인쇄 미리보기 형식과 연결해야하는지 궁금합니다. (미안하지만 더 도움이되지 않습니다) – Kieveli

답변

0

getHeight()getWidth() 대신 getDxaGoal()으로 연락하십시오. getDyaGoal(). 이는 확대/잘라 내기 전의 이미지의 원래 크기를 twips으로 나타냅니다.

그러면 이것을 getVerticalScalingFactor()/1000.0 resp로 곱할 수 있습니다. getHorizontalScalingFactor()/1000.0을 사용하여 최종 (렌더링 된) 크기를 얻습니다. 이러한 스케일링 요소는 밀 단위로 주어지기 때문에 1000.0으로 나누는 것이 필요합니다.