我需要一个 Word(.DOCX) 文件。通过使用 java 程序,我需要使用 DOCX4J 将图像放在文档中的某个位置。谁能帮帮我!!!
我正在尝试使用以下代码...
final String XPATH = "//w:t";
String image_Path = "D:\\Temp\\ex.png";
String template_Path = "D:\\Temp\\example.docx";
WordprocessingMLPackage package = WordprocessingMLPackage.createPackage();
List texts = package.getMainDocumentPart().getJAXBNodesViaXPath(XPATH, true);
for (Object obj : texts) {
Text text = (Text) ((JAXBElement) obj).getValue();
ObjectFactory factory = new ObjectFactory();
P paragraph = factory.createP();
R run = factory.createR();
paragraph.getContent().add(run);
Drawing drawing = factory.createDrawing();
run.getContent().add(drawing);
drawing.getAnchorOrInline().add(image_Path);
package.getMainDocumentPart().addObject(paragraph);
package.save(new java.io.File("D:\\Temp\\example.docx"));here
最佳答案
您只是使用该代码将图像附加到文档的末尾。如果您需要在文档中的某个位置使用它,则需要获取位置的句柄(例如,您可能使用 MainDocumentPart.getJAXBNodesViaXPath()
定位特定的 P 节点),然后只需插入文档中该“索引”处的新内容,如下所示:
package.getMainDocumentPart().getContent().add(index, imageParagraph);
(您将通过使用诸如 MainDocumentPart.getContent().indexOf(oldParagraph)
之类的东西来导出“索引”的值,并且可能还想删除您找到的节点,这是可能的通过 remove()
调用)。
关于java - 如何在java中使用DOCX4J将图片放在Word(.docx)文件的某个地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16983020/