XDocReport Java API: problem converting ODT to PDF

841 views Asked by At

Problem trying to convert a simple ODT to PDF, when a table is present in the ODT. The table does not appear and the characters appear scrambled across the document.

XDocReport: https://github.com/opensagres/xdocreport

The code:

  /**
   * https://github.com/opensagres/xdocreport/wiki
   */
  public OdtBuilder gravaPdf(File fileDest) throws Exception {
    File file = new File(fileName);

    if (!file.exists()) {
      throw new RuntimeException("Documento precisa ser gravado antes de exportar para PDF");
    }

    // 1) Create options ODT to PDF
    Options options = Options.getFrom(DocumentKind.ODT).to(ConverterTypeTo.PDF);

    // 2) Get the converter from the registry
    IConverter converter = ConverterRegistry.getRegistry().getConverter(options);

    InputStream in = new FileInputStream(file);
    OutputStream out = new FileOutputStream(fileDest);

    // 3) Convert ODT to PDF
    converter.convert(in, out, options);

    in.close();
    out.close();

    return this;
  }

pom.xml:

<!-- https://mvnrepository.com/artifact/fr.opensagres.xdocreport/xdocreport -->
<dependency>
    <groupId>fr.opensagres.xdocreport</groupId>
    <artifactId>xdocreport</artifactId>
    <version>2.0.2</version>
</dependency>

The ODT:

ODT

The resulting PDF:

PDF

1

There are 1 answers

0
ceklock On

It was a problem with styles in my document. Solved.