Java 使用ApachePOI将图像添加到XWPFDocument
我尝试将图像添加到XWPFDocument的标题中,但没有成功。我正在使用ApachePOI 以下是我目前使用的解决方案: 标题创建Java 使用ApachePOI将图像添加到XWPFDocument,java,apache-poi,Java,Apache Poi,我尝试将图像添加到XWPFDocument的标题中,但没有成功。我正在使用ApachePOI 以下是我目前使用的解决方案: 标题创建 XWPFDocument document = new XWPFDocument(OPCPackage.open(docxInputStream)); CTP headerCtp = CTP.Factory.newInstance(); CTR headerCtr = headerCtp.addNewR(); XWPFParagraph headerParagr
XWPFDocument document = new XWPFDocument(OPCPackage.open(docxInputStream));
CTP headerCtp = CTP.Factory.newInstance();
CTR headerCtr = headerCtp.addNewR();
XWPFParagraph headerParagraph = new XWPFParagraph(headerCtp, document);
XWPFRun run = headerParagraph.getRun(headerCtr);
InputStream pictureInputStream = new FileInputStream("D:\\logo.jpg");
run.addPicture(pictureInputStream, XWPFDocument.PICTURE_TYPE_JPEG, "logo.jpg", 300, 150);
pictureInputStream.close();
run.addTab();
run.setText(contentName);
setTabStop(headerCtp, STTabJc.Enum.forString("right"), BigInteger.valueOf(9000));
XWPFParagraph[] headerParagraphs = {headerParagraph};
CTSectPr sectPr = document.getDocument().getBody().addNewSectPr();
XWPFHeaderFooterPolicy headerFooterPolicy = new XWPFHeaderFooterPolicy(document, sectPr);
headerFooterPolicy.createHeader(STHdrFtr.DEFAULT, headerParagraphs);
设置停止方法
private static void setTabStop(CTP oCTP, STTabJc.Enum oSTTabJc, BigInteger oPos) {
CTPPr oPPr = oCTP.getPPr();
if (oPPr == null) {
oPPr = oCTP.addNewPPr();
}
CTTabs oTabs = oPPr.getTabs();
if (oTabs == null) {
oTabs = oPPr.addNewTabs();
}
CTTabStop oTabStop = oTabs.addNewTab();
oTabStop.setVal(oSTTabJc);
oTabStop.setPos(oPos);
}
我遇到的问题是,图像是在运行时加载的,这意味着图片数组的大小是1,但是它没有显示在文档中
我尝试过许多解决方案,例如以下几种:
欢迎任何关于我可能做错了什么的提示和想法
谢谢。哪一版本的Apache POI?如果它不是最新的,升级时会发生什么?我使用的是3.11版。如图所示,它绝对不是最新的。。。如前所述,当你升级时会发生什么?我已经更新到3.13,但没有用。图像仍无法显示。请阅读POI草稿行