2017-03-20 24 views
0

以下のコードを使用してワードドキュメント内のイメージをマージします。サイズが377と高さ650のイメージでは機能しません。 Word形式の画像としてこの問題を解決するには、高さ123%、幅123%のズームが使用されています。イメージをワードファイルにマージすると、画像が拡大縮小(拡大)されます

      private void createImage(){ 
          List<Object> objects = sourceDocumentEl.getBody().getEGBlockLevelElts(); 

          ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
          ImageIO.write(bufferedImage, extension, baos); 
          baos.flush(); 

          byte[] imageInByte = baos.toByteArray(); 

          String filenameHint = null; 
          String altText = null; 
          int id1 = 0; 
          int id2 = 1; 


          org.docx4j.wml.P p = newImage(wordML, imageInByte, 
            filenameHint, altText, id1, id2); 
          objects .add(p); 
         } 

        public static org.docx4j.wml.P newImage(WordprocessingMLPackage wordMLPackage, 
          byte[] bytes, 
          String filenameHint, String altText, 
          int id1, int id2) throws Exception { 

         BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, bytes); 

         Inline inline = imagePart.createImageInline(filenameHint, altText, 
           id1, id2); 

         // Now add the inline in w:p/w:r/w:drawing 
         org.docx4j.wml.ObjectFactory factory = new org.docx4j.wml.ObjectFactory(); 
         org.docx4j.wml.P p = factory.createP(); 
         org.docx4j.wml.R run = factory.createR();  
         p.getParagraphContent().add(run);   
         org.docx4j.wml.Drawing drawing = factory.createDrawing();  
         run.getRunContent().add(drawing);  
         drawing.getAnchorOrInline().add(inline); 

         return p; 

        } 

enter code here 
+3

なぜこれはc#とjavaの両方としてタグ付けされていますか?不必要なタグを迷惑メールしないでください – RoXX

+0

問題の画像へのリンクを提供してください – JasonPlutext

+1

こんにちはJasonPlutext、コメントに画像を添付するオプションがないので、私は答えに添付しました。一度チェックしてください – user3471982

答えて

0

@jasonは、私は上記のコードを実行し、後にされており、同じコードとき、私はVMマシンやUbuntuのサーバー上で実行しようとすると、uは、ローカルマシン上の違いをはっきりと見ることができます添付画像をご確認願い。画像をズームなっているザ・後AfterImage

Before Image

関連する問題