Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jasper报告PDF格式不';t导出西里尔值_Java_Jasper Reports_Export To Pdf - Fatal编程技术网

Java Jasper报告PDF格式不';t导出西里尔值

Java Jasper报告PDF格式不';t导出西里尔值,java,jasper-reports,export-to-pdf,Java,Jasper Reports,Export To Pdf,我试图将jasper导出为pdf格式,但它不显示西里尔字母值。当我将其导出为excel时,它确实会显示出来,并且输出良好,但当我尝试将其导出为PDF时,它不会导出西里尔字母值。西里尔字母值不是用西里尔字母书写的,而是用西里尔字母键盘书写的 我用于导出的代码是: JRExporter e = new JRPdfExporter(); e.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint);

我试图将jasper导出为pdf格式,但它不显示西里尔字母值。当我将其导出为excel时,它确实会显示出来,并且输出良好,但当我尝试将其导出为PDF时,它不会导出西里尔字母值。西里尔字母值不是用西里尔字母书写的,而是用西里尔字母键盘书写的

我用于导出的代码是:

JRExporter e = new JRPdfExporter();
                e.setParameter(JRPdfExporterParameter.JASPER_PRINT, jasperPrint);
                e.setParameter(JRPdfExporterParameter.OUTPUT_STREAM, outStream);
                e.setParameter(JRPdfExporterParameter.OUTPUT_FILE_NAME, NAME);
我甚至尝试指定以下参数:

e.setParameter(JRPdfExporterParameter.CHARACTER_ENCODING, "UTF-8");
但没有成功。有什么建议吗?

Jasper report使用,并且总是在pdf中未呈现字符时,这应该是检查表:

  • 是否支持我的实际
    .tff
    以及字体是否能够实际呈现字符。并不是所有的字体都可以渲染
    UTF-8中的所有字符,请参阅
  • 我是否将正确编码传递给iText。在有疑问的情况下(或一般情况下)使用编码
    Identity-H
    这是推荐用于较新的PDF标准的,并使您能够混合不同的编码
  • 我的字体是否嵌入了,这样如果我共享pdf,没有该字体的计算机也可以显示内容
  • 我如何确保这是JasperReport? 不推荐的方法是在
    textElement

    <textElement>
      <font pdfFontName="Helvetica" pdfEncoding="Identity-H" isPdfEmbedded="true"/>
      <paragraph lineSpacing="Single"/>
    </textElement>
    
    
    
    当前未弃用的方法是添加字体扩展,这可以通过使用或之类的工具轻松实现,这些工具可以生成字体扩展的
    .jar
    ,以便直接将其包含在类路径中

    < >编辑:<强> OP的问题在检查表上是1(TTF字体不能渲染),但是他肯定应该考虑2和3使用非贬低的方法。

    < P>蟑螂合唱团报告使用和总是在PDF 字符时,这应该是检查表:

  • 是否支持我的实际
    .tff
    以及字体是否能够实际呈现字符。并不是所有的字体都可以渲染
    UTF-8中的所有字符,请参阅
  • 我是否将正确编码传递给iText。在有疑问的情况下(或一般情况下)使用编码
    Identity-H
    这是推荐用于较新的PDF标准的,并使您能够混合不同的编码
  • 我的字体是否嵌入了,这样如果我共享pdf,没有该字体的计算机也可以显示内容
  • 我如何确保这是JasperReport? 不推荐的方法是在
    textElement

    <textElement>
      <font pdfFontName="Helvetica" pdfEncoding="Identity-H" isPdfEmbedded="true"/>
      <paragraph lineSpacing="Single"/>
    </textElement>
    
    
    
    当前未弃用的方法是添加字体扩展,这可以通过使用或之类的工具轻松实现,这些工具可以生成字体扩展的
    .jar
    ,以便直接将其包含在类路径中


    <强>编辑:检查表上的OP问题为1(TTF字体不能呈现),但他肯定要考虑2和3两种非弃用方法。

    输出结果在这里:您需要添加字体扩展类似的问题。请告知我们,在添加字体扩展(Idenity-H,嵌入式)后,您是否仍然存在问题我的问题与向iReport或JasperSoft添加字体扩展有什么关系?我的导出是通过执行jasper报告的java代码完成的。尽管如此,jasperreports字体的依赖关系在maven中指定,而iReport或JasperSoft只是作为一种工具来生成需要包含在java代码中的字体扩展的jar(答案的第3点和第4点)。。但是如果你确定你的项目中包含了正确的字体扩展名(包括支持你的字符的.ttf字体),我想这不是问题所在,但我还是会打赌字体扩展名有问题……我建议你编辑你的问题,使用fontsFamily.xml和jasperreports_extension.properties指示您正在使用的.ttf。(如果可以下载.ttf)输出结果如下:您需要添加字体扩展名,类似问题。请告知我们,在添加字体扩展(Idenity-H,嵌入式)后,您是否仍然存在问题我的问题与向iReport或JasperSoft添加字体扩展有什么关系?我的导出是通过执行jasper报告的java代码完成的。尽管如此,jasperreports字体的依赖关系在maven中指定,而iReport或JasperSoft只是作为一种工具来生成需要包含在java代码中的字体扩展的jar(答案的第3点和第4点)。。但是如果你确定你的项目中包含了正确的字体扩展名(包括支持你的字符的.ttf字体),我想这不是问题所在,但我还是会打赌字体扩展名有问题……我建议你编辑你的问题,使用fontsFamily.xml和jasperreports_extension.properties指示您正在使用的.ttf。(如果可以下载.ttf)