使用xdocreport转换后损坏的PDF

时间:2016-08-12 08:25:09

标签: pdf docx xdocreport

我使用xdoc报告库将文件从docx转换为PDF。当我在本地服务器上运行appl时,我得到了一个很好的结果。当我在具有Linux shell输出的生产服务器上运行时,pdf被破坏,它打开了,但没有文本,但只有部分存在。 POM:

   <dependency>
        <groupId>fr.opensagres.xdocreport</groupId>
       <artifactId>fr.opensagres.xdocreport.converter.docx.xwpf</artifactId>
        <version>1.0.6</version>            
    </dependency>
    <dependency>
        <groupId>fr.opensagres.xdocreport</groupId>
        <artifactId>org.apache.poi.xwpf.converter.pdf</artifactId>
        <version>1.0.6</version>
   </dependency>
        <dependency>
        <groupId>fr.opensagres.xdocreport</groupId>
        <artifactId>fr.opensagres.xdocreport.document.docx</artifactId>
        <version>1.0.6</version>
    </dependency>
  <dependency>
        <groupId>fr.opensagres.xdocreport</groupId>
        <artifactId>fr.opensagres.xdocreport.template.velocity</artifactId>
        <version>1.0.6</version>
  </dependency>
  <dependency>
        <groupId>com.itextpdf</groupId>
        <artifactId>itextpdf</artifactId>
        <version>5.4.2</version>
    </dependency>

Java代码:

    InputStream in = new FileInputStream(getTemplatePath());
    IXDocReport report = XDocReportRegistry.getRegistry().loadReport(in,
            TemplateEngineKind.Velocity);
    IContext context = report.createContext();
    FieldsMetadata metadata = report.createFieldsMetadata();

    fillContext(context, metadata, data);

    Options options = Options.getTo(ConverterTypeTo.PDF).via(
            ConverterTypeVia.XWPF);
    report.convert(context, options, stream);

    byte[] toByteArray = stream.toByteArray();
    return toByteArray;
}

感谢您的建议

0 个答案:

没有答案