itexpdf同一个段落不同文字,如何设置不同的格式

Paragraph paragraphBlue = new Paragraph(“我是蓝色字体”, blueFont);
document.add(paragraphBlue);

效果如下:

但是这样整个段落只能是一个格式,如果我想让前面的字是蓝色,后面的字是红色,中间还插一张图片,这样的方法就无法做到了

后来发现,这时就用到了com.itextpdf.text.Chunk这个类了

效果如下:

代码为:

import com.itextpdf.text.*;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.PdfWriter;

import java.io.FileOutputStream;
import java.io.IOException;

public class TestDemo {
public static void main(String[] args) throws DocumentException, IOException {
//创建文件
Document document = new Document();
//建立一个书写器
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(“E:/test.pdf”));
//打开文件
document.open();

    //中文字体,解决中文不能显示问题
    BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);

    //蓝色字体
    Font blueFont = new Font(bfChinese);
    blueFont.setColor(BaseColor.BLUE);
    //红色字体
    Font redFont = new Font(bfChinese);
    redFont.setColor(BaseColor.RED);

    //段落文本
    Paragraph paragraph = new Paragraph();

    Chunk chunkBlue = new Chunk("我是蓝色字体", blueFont);
    Chunk chunkRed = new Chunk("我是红色字体", redFont);

    paragraph.add(chunkBlue);
    paragraph.add(chunkRed);

    document.add(paragraph);

    //关闭文档
    document.close();
    //关闭书写器
    writer.close();
}

}

当然也可以在段落中添加图片

在这里插入图片描述

Image image = Image.getInstance(“E:/test.gif”);
Chunk chunkImage = new Chunk(image,0,0);
paragraph.add(chunkImage);

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值