当我将图像合并到 word 文件中时,图像正在缩放(缩放)



我正在使用以下代码合并word文档中的图像.它不适用于宽度为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

@jason - 请检查附加图像,当我运行上面的代码时,您可以清楚地看到本地机器上的区别,当我尝试在 VM 机器或 Ubuntu 服务器上运行时,代码相同。

图像之前

之后的图像正在缩放。

最新更新