itexpdf自定义中文字体失败解决方法

能正确导出包含中文的pdf的版本:itext-5.5.6.jar和itext-asian-5.2.0.jar

转自https://www.cnblogs.com/cczheng-666/articles/4637530.html

原因在IText5以上版本就换了命名空间(com/itextpdf/text/pdf/fonts/),但是iTextAsian没有更新,还是之前的包名com/lowagie/text/pdf/fonts/)。
手动修改包名方法:
转自https://blog.csdn.net/sds15732622190/article/details/77193315

1.解压ITextAsian.jar包,将解压出来的文件放入一个文件夹中。
2.将com文件夹下面的lowagie修改为itextpdf,如图。
3.更改之后,将其放入一个文件夹中,并cmd到该文件夹目录下,执行命令:jar cvf iTextAsian.jar com/itextpdf/text/pdf/fonts/*,如图。
4.将新生成的jar包替换原来的,导入到项目中。
在这里插入图片描述

参考代码:

// 第一步: Create a Document
        Document document = new Document(PageSize.A4);
        // 第二 步: Get a PdfWriter instance.
        PdfWriter.getInstance(document, new FileOutputStream(pdfPath));
        // 第三步:Open the Document.
        document.open();


        // 第四步:添加内容

        // 添加 Paragraph
        document.add(new Paragraph("Hello iText."));

        document.add(Chunk.NEWLINE);

        // 添加 中文信息
        BaseFont bfCN = BaseFont.createFont("STSongStd-Light", "UniGB-UCS2-H",
                false);
        Font fontCN = new Font(bfCN, 12, Font.NORMAL, BaseColor.BLUE);
        document.add(new Paragraph("这是中文:欢迎来到iText世界。", fontCN));


        // 第五步:Close the Document.
        document.close();
        
        
  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值