JAVA itext一行设置两种字体 我用的是生成pdf
2个回答
展开全部
在使用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);
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)”是表示用户获得字体的一个方法,你可以自己准备。
展开全部
/** 新建一个字体,iText的方法
* STSongStd-Light 是字体,在iTextAsian.jar 中以property为后缀
* UniGB-UCS2-H 是编码,在iTextAsian.jar 中以cmap为后缀
* H 代表文字版式是横版,相应的 V 代表竖版
*/
BaseFont bfChinese = BaseFont.createFont("STSongStd-Light",
"UniGB-UCS2-H", false);
Font fontChinese = new Font(bfChinese,12, Font.NORMAL, Color.GREEN);
* STSongStd-Light 是字体,在iTextAsian.jar 中以property为后缀
* UniGB-UCS2-H 是编码,在iTextAsian.jar 中以cmap为后缀
* H 代表文字版式是横版,相应的 V 代表竖版
*/
BaseFont bfChinese = BaseFont.createFont("STSongStd-Light",
"UniGB-UCS2-H", false);
Font fontChinese = new Font(bfChinese,12, Font.NORMAL, Color.GREEN);
追问
不能用啊,字体还是一样大小
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |