导出文本、表格、图像到PDF格式文件中(学习整理)
2024-09-29 06:10:20
1、测试例子:
需要导入的外部jar包:
相关API
http://www.coderanch.com/how-to/javadoc/itext-2.1.7/com/lowagie/text/package-summary.html
推荐博客相关参考资料:
http://www.cnblogs.com/linjiqin/p/3539283.html
import java.awt.Color;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.net.URL; import javax.imageio.ImageIO; import sun.font.FontFamily; import com.lowagie.text.Cell;
import com.lowagie.text.Document;
import com.lowagie.text.Font;
import com.lowagie.text.FontFactory;
import com.lowagie.text.Image;
import com.lowagie.text.Paragraph;
import com.lowagie.text.Row;
import com.lowagie.text.Table;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter; /**
* 导出数据:
* 输出PDF格式文件:
* Created by Jason 2016-7-17 下午5:01:41
*/
public class PrinterTest { public static void main(String[] args) { /**
* 第一步:创建PDF文档对象
*/
Document doc=new Document();
try {
/**
* 第二步:流对象的准备
*/
FileOutputStream fos= new FileOutputStream("测试pdf格式文件.pdf");
PdfWriter writer=PdfWriter.getInstance(doc,fos); /**
* 第三步:打开文档
*/
doc.open();
/**
* 第四步:设置文档信息输出属性 :下面设置的是中文字体
*/
BaseFont bf=BaseFont.createFont( "STSong-Light", //被封装过的字体类型:字体
"UniGB-UCS2-H", //pdf编码格式和pdf数据显示方向:(xxx-H)水平、(xxx-V)垂直
BaseFont.NOT_EMBEDDED); //boolean值 意义不大 Font font=new Font(bf,,Font.BOLD,Color.green); /**
* 第五步:写入文档内容
*/ /*************************【插入Table表格】******************************************/ Table table=new Table(,);//3列10行 for (int i = ; i <=; i++) {
if(i==){//列标题
table.addCell(new Cell("Name"), ,);
table.addCell(new Cell("Sex"), ,);
table.addCell(new Cell("Hobby"),,);
}else {//行数据
for (int j = ; j <=; j++) {
table.addCell(new Cell("("+i+","+j+")"), i-, j-);
}
} } table.setBorder();
table.setBorderWidthBottom();table.setBorderWidthTop();
table.setBorderColor(Color.green);
table.setBorderColorBottom(Color.red);
table.setBorderColorTop(Color.red);
table.setAlignment();//表格:0:左,1:中,2:右
table.setBackgroundColor(Color.lightGray); doc.add(table); doc.add(new Paragraph("\n\n\n"));
/*************************【插入Image图片】******************************************/
Image png = Image.getInstance("aa.png");
png.setAbsolutePosition(, );//定位原点:屏幕左下角为圆心
doc.add(png); /*************************【插入文本信息】******************************************/
doc.add(new Paragraph("\n\n\n"));
//写入样式1
Paragraph p= new Paragraph("测试标题",font);
p.setAlignment();
doc.add(p); //写入样式2 :
font.setColor(Color.red);
doc.add( new Paragraph("我是小风,我爱彦! \n 信息:123:I am Jason,I love Angle Yan!\n信息:123:I am Jason,I love Angle Yan!",
font));;//字体颜色 //提示导出成功!
System.out.println("导出成功!");
/**
* 第六步:关闭文档
*/
doc.close();
} catch (FileNotFoundException e) {
System.err.println("没有找到文档对象!");
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
}
2、测试输出:
输出样式:
最新文章
- 2014PPTV-题解
- jquery 动画效果插件
- [zt]OpenCV如何获取视频当前的一帧图像
- Server Transfer()和Response.Redirect()的使用
- CSS程序思想
- 细究UTF-8,GB2312及ISO-8859-1区别
- MemCache超详细解读 图
- svn团队环境
- 各系统下设置输入法按键为ctrl+shift+space
- ";严格模式"; use strict 详解
- cx_Oracle使用方法一
- linux下安装NPM管理工具
- SQL Sever2008 新手入门第一天安装软件
- JavaScript编码规范(2)
- Android TV listView焦点平滑移动
- 计算int数组中的最大,最小,平均值
- 初窥Java之六
- Java第一章
- 20165308 学习基础和C语言基础调查
- 【xsy2425】容器 dp
热门文章
- 《C语言程序设计现代方法》第4章 编程题
- Ext.Net中的Task控件的使用
- OpenCL memory object 之 Global memory (1)
- 稀疏矩阵coo_matrix的乘法
- usaco 地震 &;&; 奶牛观光
- repeater灵活运用、repeater的commmand用法、如何不用repeater展示数据
- jquery获取节点的时候获取包含自己在内的HTML标签
- Asp.net mvc 自定义全局的错误事件HandleErrorAttribute无效
- PHP面试题三
- MyEclipse10.0安装jad反编译插件