java - 如何在动态报告的 pdf 导出中写入 UTF-8(波斯语)字符?

标签 java pdf character-encoding jasper-reports dynamic-reports

我正在尝试使用动态报告将报告导出为 pdf 格式,但波斯语字符未出现在 pdf 文件中。但我在 xls 文件或 jasper 查看器中没有这个问题。我已经尝试过这种方法,但它不起作用。我该怎么办?

public void toPdf(String path){
    JasperPdfExporterBuilder pdfExporter = new ExporterBuilders()
    .pdfExporter(path);
    pdfExporter.setCharacterEncoding("UTF-8");
    try {

        jasperReportBuilder.toPdf(pdfExporter);
    } catch (Exception e1) {
        logger.error("failed to create PDF", e1);
    }
}

excel 导出: excel export

碧 Jade 查看器:

jasper viewer

PDF 导出: enter image description here

最佳答案

我遇到了同样的问题并设法解决了。可以关注我的回答here . 魔鬼是你处理字体的方式。使用 this tutorial并将 fonts.xml 中的编码更改为 Identity-H(区分大小写!)

关于java - 如何在动态报告的 pdf 导出中写入 UTF-8(波斯语)字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20520023/

相关文章:

Eclipse 在 Mac OS X 上找不到已安装的 JRE

pdf - 使用 Itextsharp 裁剪 pdf 的左侧

jquery-mobile - jQuery 移动 utf-8 编码不起作用

node.js - nodejs获取文件字符编码

java - REST GET API 调用期间的字符编码

java - 使用 SQLite 填充 ListView - ListView 附加行但不显示文本

java - 在这种情况下,是否会在同一个 JVM 实例中加载同一个类两次?

php - 在浏览器中查看PDF而无需下载(类似gmail附件)

java - 如何仅通过使用 TestWatcher 来判断 JUnit 何时完成?

java - 两个输入之间的斐波那契数