中易网

JAVA itext一行设置两种字体 我用的是生成pdf

答案:2  悬赏:70  
解决时间 2021-01-13 14:40
  • 提问者网友:风月客
  • 2021-01-12 16:58
JAVA itext一行设置两种字体 我用的是生成pdf
最佳答案
  • 二级知识专家网友:猎心人
  • 2021-01-12 18:06


BaseFont bfChinese = BaseFont.createFont("STSongStd-Light",
"UniGB-UCS2-H", false);

Font fontChinese = new Font(bfChinese,12, Font.NORMAL, Color.GREEN);追问不能用啊,字体还是一样大小
全部回答
  • 1楼网友:大漠
  • 2021-01-12 18:11
在使用itext打印pdf时,如果希望一行内出现两种字体,需要注意Paragraph与Chunk 的配合使用。其中Paragraph是段落,Chunk表示块,可以理解成一个词组之类的。其中Chunk的使用非常灵活,可以实现上标、角标等效果。针对于你的问题,可参照如下代码(注意,代码是示意性的,只是一个思路,可以仿照着来写):
Paragraph largeText = new Paragraph();
Chunk chunk1 = new Chunk(“第一种字体”, getFontChineseFun(ts1));
Chunk chunk2 = new Chunk(“第二种字体”, getFontChineseFun(ts2));
largeText.add(chunk1);
largeText.add(chunk2);追问ts1是什么追答这个是我自己封装的一个class,可以忽略,主要是理解“getFontChineseFun(ts1)”是表示用户获得字体的一个方法,你可以自己准备。追问如何设置chunk的位置追答通过Paragraph设置就可以了,因为chunk是需要add到Paragraph中的。追问能给出代码吗?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息