导出文本、表格、图像到PDF格式文件中(学习整理)
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、测试输出:

输出样式:

导出文本、表格、图像到PDF格式文件中(学习整理)的更多相关文章
- JSP页面导出PDF格式文件
JSP页面导出PDF格式文件基本在前端页面可以全部完成 <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/ ...
- confluence导出PDF格式文件不显示中文解决
由于confluence导出PDF格式文件需要应用字体文件,下载字体文件在confluence管理员界面安装即可. 我这里使用从simhei.ttf楷体,可以从windowns主机里下载(c:/win ...
- 【NLP】Tika 文本预处理:抽取各种格式文件内容
Tika常见格式文件抽取内容并做预处理 作者 白宁超 2016年3月30日18:57:08 摘要:本文主要针对自然语言处理(NLP)过程中,重要基础部分抽取文本内容的预处理.首先我们要意识到预处理的重 ...
- winform利用itextsharp.dll实现图片文件转换PDF格式文件
1.利用itextsharp.dll实现单个图片文件转换为PDF格式文件, 可以使用以下类: void ConvertJPG2PDF(string jpgfile, string pdf) { var ...
- [R] venn.diagram保存pdf格式文件?
vennDiagram包中的主函数绘图时,好像不直接支持PDF格式文件: dat = list(a = group_out[[1]][,1],b = group_out[[2]][,1]) names ...
- 前端实现docx、pdf格式文件在线预览
theme: vuepress highlight: atelier-heath-light 介绍 在业务中,如果遇到文档管理类的功能,会出现需要在线预览的业务需求,本文主要是通过第三方库来实现文档预 ...
- mysql导出指定字段或指定数据到文件中
使用mysqldump把mysql数据库的数据导出到文件中还是挺方便的:比如说要导出baijunyao数据库: // mysqldump -u用户名 -p 数据库名 [表名]> 导出的文件名 m ...
- perl练习——FASTA格式文件中序列GC含量计算&perl数组排序如何获得下标或者键
一.关于程序: FUN:计算FASTA文件中每条序列中G和C的含量百分比,输出最大值及其id INPUT:FASTA格式文件 >seq1 CGCCGAGCGCTTGACCTCCAGCAAGACG ...
- 页面打开pdf格式文件的方法
<embed width=500 height=300 fullscreen=yes src="1.pdf" />
随机推荐
- 《C语言程序设计现代方法》第4章 表达式
C语言的一个特点就是它更多地强调表达式而不是语句,表达式是表示如何计算值的公式. 当表达式包含两个或更多个相同优先级的运算符时,运算符的结合性(associativity)开始发挥作用.如果运算符是从 ...
- HDOJ/HDU 1180 诡异的楼梯(经典BFS-详解)
Problem Description Hogwarts正式开学以后,Harry发现在Hogwarts里,某些楼梯并不是静止不动的,相反,他们每隔一分钟就变动一次方向. 比如下面的例子里,一开始楼梯在 ...
- php class中public,private,protected的区别,以及实例
一,public,private,protected的区别 public:权限是最大的,可以内部调用,实例调用等. protected: 受保护类型,用于本类和继承类调用. private: 私有类型 ...
- fzu 2135 数字游戏 【水题】
Problem 2135 数字游戏 Accept: 253 Submit: 392Time Limit: 1000 mSec Memory Limit : 32768 KB Problem ...
- 源泉书签,助您管理海量收藏。www.yuanquanshuqian.com,今日更新:多标签功能已实现
源泉书签.助您管理海量收藏.www.yuanquanshuqian.com,今日更新:多标签功能已实现
- mac下mysql5.6字符集设置
http://geeksblog.cc/2016/05/28/mac-mysql-unicode/ mac下mysql5.6字符集设置: 在mac下设置mysql5.6字符集时踩过的坑,百分百保证 ...
- /bin/bash^M: bad interpreter: 没有那个文件或目录--转载
运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就是linux和windows之间的不完全兼容...具体细节不管,如果验证: vim test.sh: ...
- PureMVC(JS版)源码解析(五):SimpleCommand类
之前我们对PureMVC中涉及到观察者模式的三个基本类(Notification/Observer/Notifier)进行了分析,接下来将对PureMVC源码中的其他类进行分析,首先我们讲 ...
- VC++文件相关操作的函数封装实现
在开发编译工具中,需要用到文件的相关操作,于是就封装了相关的函数实现: //判断文件是否存在 BOOL FileIsExist(CString strFileName) { CFileFind fin ...
- GUI编程笔记(java)03:GUI的组件继承图
1.组件继承图: 2.分析上面的组件继承图 (1)Component:public abstract class Component extends Object implements ImageOb ...