JasperReport - 生成pdf的中文字体问题

Summary

  • 导出的 pdf 文件中,中文部分不显示

方法1:使用“华文宋体”

  • 将STSONG.TTF直接引入到我们的项目中,或者安装到我们的服务器上。
  • 修改文本域中的字体为“华文宋体(STsong)”
  • 问题是:虽然该字体使用广泛,但是涉及版权问题。

方法2:开源字体“NotoSerifCJKsc-Regular.otf”

  • 将该字体上传到运行环境的 /opt/jdk1.8.0_241/jre/lib/fonts 目录中。
  • 在jrxml中修改对应文件字体路径
<textField>
    <reportElement x="347" y="84" width="100" height="30" uuid="3f9d084d-3581-43a3-b638-f62834410bcf"/>
    <textElement>
        <font fontName="Noto Serif CJK SC" pdfFontName="/opt/jdk1.8.0_241/jre/lib/fonts/NotoSerifCJKsc-Regular.otf" pdfEncoding="Identity-H" isPdfEmbedded="true"/>
    </textElement>
    <textFieldExpression><![CDATA["中文w测试"]]></textFieldExpression>
</textField>
  • 留意 pdfEncoding 和 isPdfEmbedded 参数必须设置。
  • 最后重启项目即可。

原文地址:https://www.cnblogs.com/duchaoqun/p/12692137.html

时间: 2024-10-30 07:01:55

JasperReport - 生成pdf的中文字体问题的相关文章

生成PDF,中文失踪问题

使用itext生成pdf,在linux环境下,中文全部失踪,因为itext要在linux下支持中文字体需要引入itext-asian,并添加一个字体类. 字体类 1 import com.itextpdf.text.Font; 2 import com.itextpdf.text.pdf.BaseFont; 3 import com.itextpdf.tool.xml.XMLWorkerFontProvider; 4 5 public class PdfFont extends XMLWorke

PHP生成PDF支持中文,解决TCPDF乱码

找到$pdf->SetFont 这一行,修改为: $pdf->SetFont(‘stsongstdlight’, ”, 20); 假如你的网站源码为GBK格式 输出的PDF内容为乱码的话 就需要做个简单的转换了,把需要打出的中文文字做 iconv(“gb2312//TRANSLIT”,’utf-8′,$str); $pdf->Write(0,iconv(“gb2312//TRANSLIT”,’utf-8′,’解决GBK网站输出中文乱码问题‘), ”, 0, ’L', true, 0, f

jasperreports-5.6 + jaspersoftstudio-5.6 生成pdf 文件中文无法正常显示问题

jrxml字段属性设置: <textElement> <font fontName="宋体" pdfFontName="STSong-Light" pdfEncoding="UniGB-UCS2-H" isPdfEmbedded="true"/> </textElement> 在工程lib中引入itextasian-1.5.2.jar文件,注意该文件的目录结构为com/lowagie/tex

Freemarker+IText生成pdf文件

最近项目中遇到要用html生成pdf文件的需求,一开始研究了下前端插件jspdf,使用h5 canvas绘图生成图片,再把图片生成pdf文件,遇到了各种各样的问题,生成的pdf文件达到20多M,height超过5000浏览器就崩溃,有兴趣的童鞋可以尝试一下,该方案LZ最终放弃了. 接着开始尝试服务端生成,使用freemaker模板生成静态html文件,通过iext生成pdf,网上很多关于renderer.setDocument(dom,null)的用法,LZ尝试后发现效率奇低,最后放弃了,直接使

jsPDF生成pdf文件和中文编码

jsPDF的简单使用以及中文编码问题的解决 文中js通过CDN引入,若是为了加载时间最好下载至本地. jsPDF的使用 jsPDF简介 jsPDF 是一个基于 HTML5 的客户端解决方案,用于在客户端JavaScript中生成PDF的库. 有着方法简单,易于实现的优点. 简单使用 因为为了页面美观,使用bootstrap进行简单设计,所以要先引入bootstrap相关的css和javascript. css: <!-- Bootstrap CSS --> <link rel="

Gitbook 生成 pdf 中文字体错乱问题解决办法

Gitbook 生成 pdf 中文字体错乱问题解决办法 用过 Gitbook 的都知道, Gitbook 会自动生成 pdf 以提供下载, 但十分遗憾的是自动生成的 pdf 对中文的支持并不好, 经常出现字体不一致的现象, 影响阅读, 强迫症更是难以忍受. 示例: 下面针对这一问题提供简单的解决办法: 本地命令行生成 pdf 文件. 当然这种方法有一定局限性, 你需要找到托管在 github 对应的源码仓库且转换过程中不出错. (由于水平有限未能解决在线生成的pdf中文字体错乱问题, 见谅. 也

iText生成pdf中文字体解决方案

相信用过itext的朋友都知道,中文显示一直都是个问题(最新版5.5.7官方也没直接集成中文字体). 当然这样的问题,早就有高手解决了,那就是使用iTextAsian.jar. 但是本文介绍的,不是使用iTextAsian.jar,而是另一种解决方法. 在此之前,需要准备的仅仅为itextpdf-5.x.jar 和一个 ttf格式的中文字体.比如我们常用的宋体simsun.ttf. 我们首先要做的,就是将simsun.ttf集成到我们的项目中: 测试例子: package com.example

JasperReport4.6生成PDF中文

Web项目中PDF显示中文 本人无奈使用JasperReport4.6,因为这本书(好像也是唯一的一本国内的介绍JasperReport的书), 选择"文件"→New命令,弹出一个新建打印有关资源的向导 在这里选择Report中的B lank A4,含义是创建一个A4幅面纸张大小的模板文件, 1.2.1  创建模板文件(2) 选中后单击右下角的 按钮,即打开这个模板,并且设置保存模板文件的路径,效果如图1.6所示. 模板文件的扩展名为jrxml,单击"下一步"按钮出

使用TCPDF插件生成pdf以及pdf的中文处理

目录(?)[+] 多种多样的pdf开发库 WKHTMLTOPDF 2FPDF 3TCPDF 中文问题 做了这么多年项目,以前只是在别人的项目中了解过PHP生成pdf文件,知道并不难,但是涉及到了pdf开发库,首先介绍pdf库. 多种多样的pdf开发库 1.WKHTMLTOPDF wkhtmltopdf是一个很好的解决方案,基本上可以原样输出html页面中的内容,包括:图片/代码高亮部分css/页头/页尾等.有php和命令行方式,大概思路如下: 1) 先获取所有的远程html,然后生成wkhtml