Java 在PDF中绘制多种不同字体

2025-10-17 16:36:55

1、下载jar包到本地,解压。

2、 执行如下步骤导入:

Java 在PDF中绘制多种不同字体

Java 在PDF中绘制多种不同字体

Java 在PDF中绘制多种不同字体

3、jar导入结果:

Java 在PDF中绘制多种不同字体

4、键入如下代码:

import com.spire.pdf.*;


import com.spire.pdf.graphics.*;


public class ApplyDifferentFonts {
   public static void main(String[] args) {
       //创建PdfDocument对象
       PdfDocument pdf = new PdfDocument();


       //添加一页
       PdfPageBase page = pdf.getPages().add();


       //初始化y坐标
       float y = 30;


       //使用standard字体绘制文字
       PdfFont standardFont = new PdfFont(PdfFontFamily.Helvetica, 14f);
       page.getCanvas().drawString("Standard Font - Helvetica", standardFont, PdfBrushes.getBlack(), 0, y);
       standardFont = new PdfFont(PdfFontFamily.Times_Roman, 14f);
       page.getCanvas().drawString("Standard Font - Times_Roman", standardFont, PdfBrushes.getBlack(), 0, (y = y + 16));
       standardFont = new PdfFont(PdfFontFamily.Courier, 14f);
       page.getCanvas().drawString("Standard Font - Courier", standardFont, PdfBrushes.getBlack(), 0, (y = y + 16));


       //使用true type字体绘制文字
       java.awt.Font font = new java.awt.Font("Arial", java.awt.Font.BOLD, 14);
       PdfTrueTypeFont trueTypeFont = new PdfTrueTypeFont(font);
       page.getCanvas().drawString("TrueType Font - Arial", trueTypeFont, PdfBrushes.getBlue(), 0, (y = y + 30f));


       //使用私有字体绘制文字
       String fontFileName = "C:\\Users\\Administrator\\Desktop\\STZHONGS.ttf";
       trueTypeFont = new PdfTrueTypeFont(fontFileName, 14f);
       page.getCanvas().drawString("Private Font: 华文宋体", trueTypeFont, PdfBrushes.getDarkGreen(), 0, (y = y + 30f));


       //使用cjk字体绘制文字
       PdfCjkStandardFont cjkFont = new PdfCjkStandardFont(PdfCjkFontFamily.Monotype_Hei_Medium, 14f);
       page.getCanvas().drawString("你 好", cjkFont, PdfBrushes.getDeepPink(), 0, (y = y + 30f));
       cjkFont = new PdfCjkStandardFont(PdfCjkFontFamily.Hanyang_Systems_Gothic_Medium, 14f);
       page.getCanvas().drawString("こんにちは", cjkFont, PdfBrushes.getOrangeRed(), 0, (y = y + 16f));
       cjkFont = new PdfCjkStandardFont(PdfCjkFontFamily.Hanyang_Systems_Shin_Myeong_Jo_Medium, 14f);
       page.getCanvas().drawString("안녕하세요", cjkFont, PdfBrushes.getPurple(), 0, (y = y + 16f));


       //保存文档
       pdf.saveToFile("ApplyDifferdentFonts.pdf");
       pdf.dispose();
   }
}

5、执行程序,生成PDF文档。在IDEA程序项目文件夹路径下可查看生成的结果文档,字体应用效果如图:

Java 在PDF中绘制多种不同字体

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢