2017-02-16 2 views
0

Я пытаюсь использовать XDocReport для нагнетающим ODT и преобразовать его в PDF, вот мой Java-код:XDocReport: XDocConverterException: Не удается найти конвертеры из = ODT

InputStream in= new FileInputStream(new File("D:\\exemple.odt")); 
       IXDocReport report = XDocReportRegistry.getRegistry().loadReport(in,TemplateEngineKind.Velocity); 

IContext context = report.createContext(); 
context.put("bean", "myMonthReport2016"); 

Options options = Options.getTo(ConverterTypeTo.PDF); 
OutputStream out = new FileOutputStream(new File("exemple_Out.odt")); 
report.convert(context, options, out); 

версия 1.0.6 используется, моя зависимость в pom.xml:

<!-- XDocReport --> 
      <dependency> 
       <groupId>fr.opensagres.xdocreport</groupId> 
       <artifactId>fr.opensagres.xdocreport.core</artifactId> 
       <version>${xdocreport.version}</version> 
      </dependency> 

      <dependency> 
       <groupId>fr.opensagres.xdocreport</groupId> 
       <artifactId>fr.opensagres.xdocreport.document</artifactId> 
       <version>${xdocreport.version}</version> 
      </dependency> 

      <dependency> 
       <groupId>fr.opensagres.xdocreport</groupId> 
       <artifactId>fr.opensagres.xdocreport.template</artifactId> 
<version>${xdocreport.version}</version> 
      </dependency> 

      <dependency> 
       <groupId>fr.opensagres.xdocreport</groupId> 
       <artifactId>fr.opensagres.xdocreport.converter</artifactId> 
       <version>${xdocreport.version}</version> 
      </dependency> 

      <dependency> 
       <groupId>fr.opensagres.xdocreport</groupId> 
       <artifactId>fr.opensagres.xdocreport.document.odt</artifactId> 
       <version>${xdocreport.version}</version> 
      </dependency> 

      <dependency> 
       <groupId>fr.opensagres.xdocreport</groupId> 
       <artifactId>fr.opensagres.xdocreport.converter.odt.odfdom</artifactId> 
       <version>${xdocreport.version}</version> 
      </dependency> 

      <dependency> 
       <groupId>fr.opensagres.xdocreport</groupId> 
       <artifactId>org.odftoolkit.odfdom.converter</artifactId> 
       <version>0.9.8</version> 
      </dependency> 

      <dependency> 
       <groupId>org.odftoolkit</groupId> 
       <artifactId>odfdom-java</artifactId> 
       <version>0.8.7</version> 
      </dependency> 

      <dependency> 
       <groupId>fr.opensagres.xdocreport</groupId>   <artifactId>fr.opensagres.xdocreport.template.velocity</artifactId> 
       <version>${xdocreport.version}</version> 
      </dependency> 

      <!-- Velocity --> 
      <dependency> 
       <groupId>org.apache.velocity</groupId> 
       <artifactId>velocity</artifactId> 
       <scope>provided</scope> 
      </dependency> 

я получил эту ошибку после испытания:

fr.opensagres.xdocreport.converter.XDocConverterException: не удается найти конвертеры из = ODT

я следовал этот вопрос, но оленья кожа ошибка решена Проблема: https://github.com/ricochango1/xdocreport/issues/20

ответ

0

Я была такая же проблема, и решение изменить версию xdocreport, как показано ниже:

<dependency> 
<groupId>fr.opensagres.xdocreport</groupId> 
<artifactId>org.apache.poi.xwpf.converter.pdf</artifactId><version>1.0.6</version> 
</dependency> 

В другая сторона попробует что-то вроде этого:

URL url = new File("D:\\exemple.odt").toURI().toURL(); 
InputStream documentAsStream = url.openStream(); 
IXDocReport xdocReport = ocReportRegistry.getRegistry().loadReport(inputStream, templateEngine); 
Смежные вопросы