嗨,我正在尝试将 docx 文件转换为 pdf。但低于错误。我做了很多谷歌搜索,但没有得到正确的解决方案。我添加了以下罐子
- poi-scratchpad-3.16.jar
- poi-3.16.jar
- poi-ooxml-3.16.jar
- poi-ooxml-schemas-3.16.jar
- poi-examples-3.16.jar
- poi-excelant-3.16.jar
- fr.opensagres.xdocreport.itext.extension-2.0.0.jar
- fr.opensagres.xdocreport.samples.docxandvelocity.converters-0.9.0-sources.jar
itext-2.1.7.jar
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.poi.xwpf.converter.core.XWPFDocumentVisitor.getBodyElements(Lorg/apache/poi/xwpf/usermodel/XWPFHeaderFooter;)Ljava/util/List; at org.apache.poi.xwpf.converter.pdf.internal.PdfMapper.visitHeader(PdfMapper.java:182) at org.apache.poi.xwpf.converter.pdf.internal.PdfMapper.visitHeader(PdfMapper.java:111) at org.apache.poi.xwpf.converter.core.XWPFDocumentVisitor.visitHeaderRef(XWPFDocumentVisitor.java:1083) at org.apache.poi.xwpf.converter.core.MasterPageManager.visitHeadersFooters(MasterPageManager.java:197) at org.apache.poi.xwpf.converter.core.MasterPageManager.addSection(MasterPageManager.java:166) at org.apache.poi.xwpf.converter.core.MasterPageManager.compute(MasterPageManager.java:113) at org.apache.poi.xwpf.converter.core.MasterPageManager.initialize(MasterPageManager.java:83) at org.apache.poi.xwpf.converter.core.XWPFDocumentVisitor.visitBodyElements(XWPFDocumentVisitor.java:219) at org.apache.poi.xwpf.converter.core.XWPFDocumentVisitor.start(XWPFDocumentVisitor.java:186) at org.apache.poi.xwpf.converter.pdf.PdfConverter.doConvert(PdfConverter.java:56) at org.apache.poi.xwpf.converter.pdf.PdfConverter.doConvert(PdfConverter.java:38) at org.apache.poi.xwpf.converter.core.AbstractXWPFConverter.convert(AbstractXWPFConverter.java:45) at com.eko.app.agreement.business.service.EsignTest.main(EsignTest.java:36)
下面是我的Java代码
public class EsignTest {
public static void main(String[] args) throws InvalidFormatException, IOException {
// TODO Auto-generated method stub
XWPFDocument doc = new XWPFDocument(OPCPackage.open(new File("/home/optimus/Desktop/ee.docx")));
for (XWPFParagraph p : doc.getParagraphs()) {
List<XWPFRun> runs = p.getRuns();
if (runs != null) {
for (XWPFRun r : runs) {
String text = r.getText(0);
System.out.println("Row : "+text);
if (text != null && text. contains("«Company_Name»")) {
text = text.replace("«Company_Name»", "Rohit Communication");
r.setText(text, 0);
}
}
}
}
PdfConverter.getInstance().convert(doc, new FileOutputStream("/home/optimus/Desktop/output.pdf"), null);
}
}