您的位置:首页 > 其它

关于使用itext导出PDF的具体实践

2016-01-27 17:41 232 查看


关于使用itext导出PDF的具体实践

博客分类:

JAVA应用

itext

javaitext

对于JAVA导出PDF文档查找了一下相关内容,发现网上大多数的关于itext导出PDF的文档均是com.lowagie.itext而目前该Api高版本已经使用com.itextpdf.itext公共JAR包,因此在这边记录下关于使用新版本itext导出PDF的实际运用。

个人对于ITEXT的了解而言,主要分为5个步骤:

a、建立Documnet对象;

Java代码


Document document = new Document();

b、建立读写器(PDFWriter)并与Document对象关联

Java代码


PdfWriter.getInstance(document, new FileOutputStream("d://test6.pdf"));

c、打开文档;

document.open();

d、写内容进入文档;

Java代码


document.add(new Paragraph("test"));

e、关闭文档;

Java代码


document.close();

这是一个相对简单的DPF导出。

下面对于写内容进入文档部分进行稍详细的几记录:

1、插入表格

2、插入图片

3、插入中文字体不识别问题

插入表格主要分表头与表内容,相当于插入两张表来实现。首先新建PDFPTABLE对象。

Java代码


PdfPTable table = new Table();

PdfPCell cell = new PdfPCell(),

循环数据插入到每个cell

Java代码


for(User user ;list){

cell.setPhrase(new Paragraph(user.getName));

table.addCell(cell);//注:每个cell加入内容时及时加入到table中,否则cell内容将会被覆盖

}

插入图片:简单的处理可以使用PdfPCell,

在新建PdfPCell对象存在new PdfPCell(Image image)构造器或者直接使用

Java代码


PdfPtable.addCell(Image image),eg:table.addCell(Image. getInstance( "d://test.jpg"));

中文问题,由于itext不支持中文的显示,因此需要使用到itext- asian字体转换API,

通过Font对象来设置字体

Java代码


new Font(BaseFont. createFont( "STSong-Light", "UniGB-UCS2-H" ,BaseFont. NOT_EMBEDDED), 12, Font. NORMAL )

附简单的代码文件若有错误,请各位斧正。

以下是需要使用的maven包

Java代码


<dependency>

<groupId>com.itextpdf</groupId>

<artifactId>itextpdf</artifactId>

<version>5.5.1</version>

</dependency>

<dependency>

<groupId>com.itextpdf</groupId>

<artifactId>itext-asian</artifactId>

<version>5.2.0</version>

</dependency>

simpleDemo.rar (2.1 KB)
下载次数: 10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: