我正在使用以下代码合并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 服务器上运行时,代码相同。
图像之前
之后的图像正在缩放。