使用java和xdocreport从odt生成pdf文件

使用java和xdocreport从odt生成pdf文件,java,pdf,itext,pdf-generation,xdocreport,Java,Pdf,Itext,Pdf Generation,Xdocreport,我正在使用Java和xdocreport编辑.odt文件(模板)并将其另存为odt。一切正常,但当我尝试将odt转换为pdf时 我得到这个错误: ODFConverterException:java.lang.ClassCastException:插入非法元素:12 此错误是由我的odt源文件中的文本框引起的 从odt到odt,每件事都很好,它保留了我的文本框 因此,我尝试将pom中的依赖项更改为最新版本。现在我没有这个问题了,但是它生成了一个没有文本框的pdf文件 我真的需要一个带有文本框的p

我正在使用Java和xdocreport编辑.odt文件(模板)并将其另存为odt。一切正常,但当我尝试将odt转换为pdf时 我得到这个错误:

ODFConverterException:java.lang.ClassCastException:插入非法元素:12

此错误是由我的odt源文件中的文本框引起的

从odt到odt,每件事都很好,它保留了我的文本框

因此,我尝试将pom中的依赖项更改为最新版本。现在我没有这个问题了,但是它生成了一个没有文本框的pdf文件

我真的需要一个带有文本框的pdf,在互联网上我发现ODFConvertor是有限的

public void generate(ctModel ctModel)引发异常{
final InputStream in=新文件InputStream(新文件(“C:\\Users\\A\U PC\\Desktop\\AB\\abs templateGenerator\\src\\main\\resources\\ODM.odt”);
final IXDocReport report=XDocReportRegistry.getRegistry().loadReport(在TemplateEngineKind.Velocity中);
//2)创建上下文Java模型并添加模型
final IContext context=report.createContext();
上下文。put(“ct”,ctmodel);
OutputStream out=新文件OutputStream(新文件(“C:\\Users\\ANDRICE\u PC\\Desktop\\ANDRICE-BRAIN\\abs templateGenerator\\src\\main\\resources\\ODM\u final.odt”);
报告。过程(上下文、输出);
//生成PDF
InputStream inPdf=新文件InputStream(新文件(“cdi_final.odt”);
OdfTextDocument document=OdfTextDocument.loadDocument(inPdf);
PdfOptions options=PdfOptions.create().fontEncoding(“”);
OutputStream outPdf=新文件OutputStream(新文件(“cdi_final.pdf”);
PdfConverter.getInstance().convert(文档、输出、选项);
}
我的pom:


fr.opensagres.xdocreport
fr.opensagres.xdocreport.document.odt
1.0.6
fr.opensagres.xdocreport
fr.opensagres.xdocreport.converter.odt.odfdom
1.0.6
fr.opensagres.xdocreport
fr.opensagres.xdocreport.template.velocity
1.0.6
有人能给我一个在pdf中保存我的文本框的解决方案吗 还是另一种将odt与文本框转换为pdf的解决方案