Oracle BI Publisher Java API 将汉字转换为问号 (?)

Oracle BI Publisher Java APIs convert Chinese characters to question marks (?)

我已经安装了 BI publisher Desktop,它可以帮助我们从带有示例数据的 RTF 文件生成 PDF 并将其可视化。我们正在使用的 RTF 文件是中英文混合字符和样本 XML 数据,我们可以根据需要查看 PDF。

当我们在 java 代码(使用 BI publisher Java API)中使用相同的 RTF 来创建 PDF 时,所有的中文字符都会被问号 (?) 替换。

下面是我们将 RTF 转换为 PDF 的代码

        RTFProcessor rtfp = new RTFProcessor(pTemplate);
        ByteArrayOutputStream xslOutStream = new ByteArrayOutputStream();
        rtfp.setOutput(xslOutStream);
        
        rtfp.process();

        //Use XSL Template and Data from the VO to generate report and return the OutputStream of report
        ByteArrayInputStream xslInStream = new ByteArrayInputStream(xslOutStream.toByteArray());

        FOProcessor processor = new FOProcessor();
        ByteArrayInputStream dataStream =
            new ByteArrayInputStream((byte[])pXmlOut); ///amDpc.getXMLData(pVoInstName));
        processor.setData(dataStream);
        processor.setTemplate(xslInStream);
        
        ByteArrayOutputStream pdfOutStream = new ByteArrayOutputStream();
        processor.setOutput(pdfOutStream);
        byte outFileTypeByte = FOProcessor.FORMAT_PDF;
        
        processor.setOutputFormat(outFileTypeByte); 
        processor.generate();

        dataBytes = pdfOutStream.toByteArray();

谷歌搜索建议将字体文件添加到 BI 发布者 $oracle_top 位置或 $java_home/jre/lib/fonts 位置。由于不直接使用 BI publisher,选项 1 ($oracle_top) 被排除,选项 2 需要测试部署在 PROD 服务器上的所有 ADF 应用程序,我想避免这种情况。

关于如何打印汉字有什么建议吗?

软件版本:Oracle BI Publisher Desktop 12.2.1.4.0

这是通过将字体放在 $java_home/jre/lib/fonts 下实现的 location.No 需要服务器反弹。