1

嗨,我正在尝试将 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);
  }

}
4

0 回答 0