java - 如何在java中使用DOCX4J将图片放在Word(.docx)文件的某个地方

标签 java ms-word docx4j

我需要一个 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/

相关文章:

java - 当不同页面之间存在通用组件时,如何对 selenium 页面对象进行建模?

java - Java中的ResultSet到整数数组

excel - 从单元格值填充用户窗体上的组合框

java - docx 转换为 pdf 韩文字体

Java-Web-Start 在我的应用程序中创建 docx 文件时出现 NoClassDefFoundError

java - 从 .apk 读取文件

java - 如何使用idea指定支持java5的javac运行?

vba - Word 2010 VBA - 操作编号列表

c# - 在 MS Word 中加载 Word Addin

java - 如何使用 docx4j api 设置行距?