(2)iText生成PDF

利用iText编写并生成PDF文件,可以写入段落、章节、定位符(链接)、列表、图片。
iText的UML图如下:
这里写图片描述

import java.io.FileOutputStream;
import java.io.IOException;
import java.net.MalformedURLException;

import com.itextpdf.text.Anchor;
import com.itextpdf.text.BaseColor;
import com.itextpdf.text.Chapter;
import com.itextpdf.text.Chunk;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Font;
import com.itextpdf.text.FontFactory;
import com.itextpdf.text.Image;
import com.itextpdf.text.List;
import com.itextpdf.text.ListItem;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Phrase;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.Section;
import com.itextpdf.text.pdf.BaseFont;
import com.itextpdf.text.pdf.CMYKColor;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;

public class ITextTest {

    public static void main(String[] args) throws DocumentException,
    MalformedURLException, IOException {
        //Step 1: 实例化文档对象,设置文档背景,大小等
        Rectangle rectPageSize = new Rectangle(PageSize.A4);// A4纸张 
        rectPageSize.setBackgroundColor(BaseColor.BLUE);//文档的背景色
        //创建一个文档对象,设置初始化大小和页边距
        Document document = new Document(rectPageSize, 40, 40, 40, 40);// 上、下、左、右间距  
        //Document document = new Document(PageSize.A4, 50, 50, 50, 50);
        //Step 2: 创建 PdfWriter 对象:第一个参数是文档对象的引用,第二个参数是输出将写入的文件的绝对名称
        PdfWriter writer = PdfWriter.getInstance(document,new FileOutputStream("./ITextTest.pdf"));
        //Step 3: 打开文档对象
        document.open();
        //Step 4: 向文档中添加内容
        //iText中用文本块(Chunk)、短语(Phrase)和段落(paragraph)处理文本。
        //1. 创建文本块对象
        //文本块(Chunk)是处理文本的最小单位,有一串带格式(包括字体、颜色、大小)的字符串组成。
        Chunk chunk1 = new Chunk("This text is underlined", FontFactory.getFont(FontFactory.HELVETICA, 12, Font.UNDERLINE));
        document.add(chunk1);
        //2. 创建短语对象
        //短语(Phrase)由一个或多个文本块(Chunk)组成,短语(Phrase)也可以设定字体,但对于其中已设定过字体的文本块(Chunk)无效。
        //通过短语(Phrase)成员函数add可以将一个文本块(Chunk)加到短语(Phrase)中,如:phrase.add(chunk);
        Phrase phrase1 = new Phrase("The first Phrase");
        document
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值