Код: Выделить всё
17
org.docx4j
docx4j-JAXB-ReferenceImpl
11.4.11
< /code>
import org.docx4j.dml.CTPoint2D;
import org.docx4j.dml.wordprocessingDrawing.Anchor;
import org.docx4j.dml.wordprocessingDrawing.Inline;
import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
import org.docx4j.openpackaging.parts.WordprocessingML.BinaryPartAbstractImage;
import org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart;
import org.docx4j.wml.*;
public void addSealWithAnchor(String inputDocx, String outputDocx, String imagePath) throws Exception {
File imageFile = new File(imagePath);
if (!imageFile.exists()) {
throw new FileNotFoundException("error: " + imagePath);
}
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new File(inputDocx));
MainDocumentPart documentPart = wordMLPackage.getMainDocumentPart();
ObjectFactory factory = new ObjectFactory();
BinaryPartAbstractImage imagePart = BinaryPartAbstractImage.createImagePart(wordMLPackage, imageFile);
long cx = 5 * 360000;
long cy = 5 * 360000;
Inline inline = imagePart.createImageInline("seal", "supplier seal", 1, 2, cx, cy, false);
Anchor anchor = new Anchor();
anchor.setRelativeHeight(0);
anchor.setBehindDoc(false);
anchor.setLocked(false);
anchor.setLayoutInCell(true);
anchor.setAllowOverlap(true);
CTPoint2D position = new CTPoint2D();
position.setX(9500000L);
position.setY(2800000L);
anchor.setSimplePos(position);
anchor.setExtent(inline.getExtent());
anchor.setDocPr(inline.getDocPr());
anchor.setGraphic(inline.getGraphic());
Drawing drawing = factory.createDrawing();
drawing.getAnchorOrInline().add(anchor);
R run = factory.createR();
run.getContent().add(drawing);
P paragraph = factory.createP();
paragraph.getContent().add(run);
documentPart.addObject(paragraph);
wordMLPackage.save(new File(outputDocx));
System.out.println("success: " + outputDocx);
}
< /code>
It seams position.setX(9500000L);Код: Выделить всё
documentPart.addObject(paragraph);Мне нужно вставить изображение в указанное место в файле docx, чтобы сделать его похожим на электронный штамп. Не могу найти закладку.>
Подробнее здесь: https://stackoverflow.com/questions/797 ... ake-effect