itextpdf添加非自带字体(例如微软雅黑)

找到需要的字体,例如 在windows系统中找到需要字体,本例使用微软雅黑,使用C:\Windows\Fonts\msyh.ttf。

代码如下:

/**
     * 创建pdf,使用微软雅黑字体
     * 
     * @return
     */
    public static void createPDF() {
        String outputPath = "D:\test1.pdf";
        Document doc = new Document(PageSize.A4, 0, 0, 0, 0);
        try {
            PdfWriter.getInstance(doc, new FileOutputStream(outputPath));
            doc.open();
            log.info("打开文件成功");
            doc.newPage();

            /**
             * fontPath字体位置正确即可
             */
            String fontPath = "C:\Windows\Fonts\msyh.ttf";
            BaseFont baseFont1 = BaseFont.createFont(fontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
            Font yahei12 = new Font(baseFont1, 12f);
            doc.add(new Paragraph("这是微软雅黑字体!!!", yahei12));
            doc.close();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

 生成的pdf截图如下:

限时领取免费Java相关资料,涵盖了Java、Redis、MongoDB、MySQL、Zookeeper、Spring Cloud、Dubbo/Kafka、Hadoop、Hbase、Flink等高并发分布式、大数据、机器学习等技术。

资料传送门:https://mp.weixin.qq.com/s/u2b_NVNuMuAPE0w4lc45fw

 

关注下方公众号即可免费领取:

Java碎碎念公众号

原文地址:https://www.cnblogs.com/haha12/p/8039214.html