itext 生成doc文档 小结(自己备忘)
1、引入maven
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext</artifactId>
<version>2.1.7</version>
</dependency>
<dependency>
<groupId>com.lowagie</groupId>
<artifactId>itext-rtf</artifactId>
<version>2.1.7</version>
</dependency>
2、大致流程
//创建一条文本对象(A4纸张)
Document document = new Document(PageSize.A4); //创建一个DOC文档(根据指定的路径)
RtfWriter2.getInstance(document, new FileOutputStream(file_url)); //打开文本对象
document.open(); //添加一个简单的段落
document.add(new Paragraph("Hello World!")); //结束编写
document.close();
3、字体
//设置基础字体 -- 宋体
BaseFont bfChinese = BaseFont.createFont("C:/Windows/Fonts/simfang.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED); //设置字体 (含有大小、颜色……)
Font titleFont = new Font(bfChinese, 14.0F, 1); //字体:宋体 大小:14.0F 加粗
Font contextFont = new Font(bfChinese, 14.0F, 0); //字体:宋体 大小:14.0F 不加粗
Font contextFont_red = new Font(bfChinese, 14.0F, 0, Color.red); //字体:宋体 大小:14.0F 不加粗 字体颜色:红色
Font contextFont_black = new Font(bfChinese, 14.0F, 0, Color.black);//字体:宋体 大小:14.0F 不加粗 字体颜色:黑色
Font headerFooterFont = new Font(bfChinese, 9.0F, 0);//字体:宋体 大小:9.0F 不加粗
4、设置头 和 页码数
全局变量
private static String TECH_INFO = "这里是顶部"; //头部标语
private static String FOOT_INFO = "这里是底部"; //底部标语
头部
Table header = new Table(2);
header.setBorder(0);
header.setWidth(100.0F); Paragraph address = new Paragraph(TECH_INFO);
address.setFont(headerFooterFont);
Cell cell01 = new Cell(address);
cell01.setBorder(0);
header.addCell(cell01); Paragraph date = new Paragraph("生成日期: " +
new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
date.setAlignment(2);
date.setFont(headerFooterFont);
cell01 = new Cell(date);
cell01.setBorder(0);
header.addCell(cell01);
document.setHeader(new RtfHeaderFooter(header));
底部(页码数)
Table footer = new Table(2);
footer.setBorder(0);
footer.setWidth(100.0F); Paragraph company = new Paragraph(FOOT_INFO);
company.setFont(headerFooterFont);
Cell cell02 = new Cell(company);
cell02.setBorder(0);
footer.addCell(cell02); Paragraph pageNumber = new Paragraph("第 ");
pageNumber.add(new RtfPageNumber());
pageNumber.add(new Chunk(" 页"));
pageNumber.setAlignment(2);
pageNumber.setFont(headerFooterFont);
cell02 = new Cell(pageNumber);
cell02.setBorder(0);
footer.addCell(cell02); document.setFooter(new RtfHeaderFooter(footer));
5、表格
Table table1 = new Table(4);//创建表格
int width[] = {18,32,18,32};//设置每列宽度比例
table1.setWidths(width);//设置每列宽度比例
table1.setWidth(95);//占页面宽度比例
//第一行 第一个
Cell cell11 = new Cell(new Paragraph("11",contextFont));
cell11.setVerticalAlignment(Element.ALIGN_TOP); //垂直 居上
cell11.setHorizontalAlignment(Element.ALIGN_RIGHT); //水平 居右
cell11.setBorder(0);
//第一行 第二个
Cell cell12 = new Cell("12");
cell12.setVerticalAlignment(Element.ALIGN_BOTTOM); //垂直 居下
cell12.setHorizontalAlignment(Element.ALIGN_LEFT); //水平 居左
cell12.setBorder(0);
//第一行 第三个
Cell cell13 = new Cell(new Paragraph("13",contextFont));
cell13.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直 居中
cell13.setHorizontalAlignment(Element.ALIGN_RIGHT); //水平 居右
cell13.setBorder(0);
//第一行 第四个
Cell cell14 = new Cell(new Paragraph("14",contextFont));
cell14.setVerticalAlignment(Element.ALIGN_MIDDLE); //垂直 居中
cell14.setHorizontalAlignment(Element.ALIGN_LEFT); //水平 居左
cell14.setBorder(0);
table1.addCell(cell11);
table1.addCell(cell12);
table1.addCell(cell13);
table1.addCell(cell14);
document.add(table1);
6、插入图片
//图片路径
String URL = "http://www.baidu.com/img/bd_logo1.png";
//创建图片
Image img = null;
try {
img = Image.getInstance(URL);
img.scalePercent(10);
} catch (BadElementException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
//内容
Paragraph context = new Paragraph();
context.setAlignment(1);
context.setFont(contextFont);
if(img == null){
context.add("没有图片");
}else{
context.add(img);
}
document.add(context);
itext 生成doc文档 小结(自己备忘)的更多相关文章
- itext 生成pdf文档 小结(自己备忘)
1.引入maven <dependency> <groupId>com.itextpdf</groupId> <artifactId>itextpdf& ...
- IText 中文字体解决方案 生成doc文档
IText生成doc文档需要三个包:iTextAsian.jar,iText-rtf-2.1.4.jar,iText-2.1.4.jar 亲测无误,代码如下: import com.lowagie.t ...
- java基础---->使用Itext生成数据库文档
这里简单的介绍一下使用Itext生成数据库表的文档.于是我们领教了世界是何等凶顽,同时又得知世界也可以变得温存和美好. 生成数据库的文档 一.maven项目需要引入的jar依赖 <depende ...
- java标识符,关键字,注释及生成Doc文档
# java语法基础 ## 标识符,关键字与注释 ### 标识符 1.类名,变量名,方法名都称为标识符. 2.命名规则:(1):所有的标识符都应该以字母(AZ,或者az)美元符($)或者下划线(_)开 ...
- Java eclipse生成doc文档
这里讲解下eclipse成为doc文档,首先代码: /** * @author szy * @version 1.0 */ package com.founder.sun; class Cat{ pu ...
- Java多种方式动态生成doc文档
转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/5280272.html 本来是要在Android端生成doc的(这需求...),最后方法没有好的方法能够在An ...
- 【PDF】java使用Itext生成pdf文档--详解
[API接口] 一.Itext简介 API地址:javadoc/index.html:如 D:/MyJAR/原JAR包/PDF/itext-5.5.3/itextpdf-5.5.3-javadoc/ ...
- IDEA生成doc文档-生成chm文档
首先,打开IDEA,并找到Tools -> Generate JavaDoc- 可供查询的chm比那些HTML页面好看多了. 如果您用过JDK API的chm文档,那么您一定不会拒绝接受其它第三 ...
- 如何在使用itext生成pdf文档时给文档添加背景图片
这个问题我在网上搜了很久,没有找到什么解决方案,需求其实很简单,就是添加背景图片.在解决这个问题之前,我们需要了解什么是背景图片?背景图片就是位于文档最底层的图片,文字和其他内容可以浮在它的上面.这又 ...
随机推荐
- python socket 接口
一.简介 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求.socket起 ...
- java静态变量、实例变量和局部变
实例变量又称成员变量: 1⃣️成员变量定义在类中,在整个类中都可以被访问 2⃣️成员变量随着对象的建立而建立,随对象的消失而消失,存在于对象所在的对内存中 3⃣️成员变量有默认初始值 局部变量: 1⃣ ...
- thinkphp里模版文件js无法使用if condition的问题
/** * @example thinkphp里模版文件js无法使用if condition的问题 * @example 参考地址:https://segmentfault.co ...
- hstack()与vstack()函数
ref: https://blog.csdn.net/csdn15698845876/article/details/73380803 1. hstack()函数 a,b只有一个维度:对第一个维度拼接 ...
- 二叉堆 及 大根堆的python实现
Python 二叉堆(binary heap) 二叉堆是一种特殊的堆,二叉堆是完全二叉树或者是近似完全二叉树.二叉堆满足堆特性:父节点的键值总是保持固定的序关系于任何一个子节点的键值,且每个节点的左子 ...
- 36.分组聚合操作—bucket进行多层嵌套
主要知识点: 分组聚合操作-嵌套bucket. 本讲以前面电商实例,从颜色到品牌进行下钻分析,每种颜色的平均价格,以及找到每种颜色每个品牌的平均价格. 比如说,现在红色的电视有4台,同 ...
- Python3 编写登陆接口
题目选自 Alex Python自动化开发之路的题目,我是从C++转学Python的,编写的水平有限,轻喷. 输入用户名密码 认证成功后显示欢迎信息 输错三次后锁定 首先应该有2个txt文件,包含用户 ...
- BZOJ 1631 Usaco 2007 Feb. Cow Party
[题解] 最短路裸题.. 本题要求出每个点到终点走最短路来回的距离,因此我们先跑一遍最短路得出每个点到终点的最短距离,然后把边反向再跑一遍最短路,两次结果之和即是答案. #include<cst ...
- ssm 数据库连接池配置
1.工程引入druid-1.1.2.jar包2.修改spring-common.xml文件 <!-- 1. 数据源 : DruidDataSource--> <bean id=&qu ...
- JavaScript基本知识----操作符,流程控制,循环,字符串方法,数组方式,补充方法
操作符 算术运算 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...