IText生成doc文档需要三个包:iTextAsian.jar,iText-rtf-2.1.4.jar,iText-2.1.4.jar
亲测无误,代码如下所示:
import com.lowagie.text.*;
import com.lowagie.text.Font;
import com.lowagie.text.Rectangle;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfPCell;
import com.lowagie.text.pdf.PdfPTable;
import com.lowagie.text.rtf.RtfWriter2; import java.awt.*;
import java.io.FileOutputStream; /**
* 生成报修系统的报表doc文档
* User: HYY
* Date: 13-8-1
* Time: 下午9:54
* To change this template use File | Settings | File Templates.
*/
public class GenerateBaoxiu {
public static void main(String[] args) throws Exception {
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED); //设置纸张的大小对象
Rectangle rectangle = new Rectangle(PageSize.A4);
// 创建word文档,并旋转,使其横向
Document document = new Document(rectangle.rotate());
RtfWriter2.getInstance(document, new FileOutputStream("C:/無幽之路IText教程.doc"));
document.open();
//报表标题
Paragraph headTitle = new Paragraph("学期报修报表");
Font headFont = new Font(bfChinese);
headFont.setSize(22);
headFont.setStyle(Font.BOLD);
headTitle.setFont(headFont);
headTitle.setAlignment(1);//居中
document.add(headTitle); //正文表格
PdfPTable table = new PdfPTable(10);
table.setWidths(new float[]{15f,9f,9f,9f,11f,8f,20f,15f,9f,9f});
table.setTotalWidth(114); //设置表头字体样式
Font tableHeadFont = new Font(bfChinese);//表头字体样式
tableHeadFont.setSize(10.5f);//设置表头字体为五号字体
tableHeadFont.setStyle(Font.BOLD);//加粗 //表头第一列:表单申请时间
PdfPCell headCell1 = new PdfPCell();
Paragraph headCell1Phrase = new Paragraph("表单申请时间");
headCell1Phrase.setFont(tableHeadFont);
headCell1.setPhrase(headCell1Phrase);
headCell1Phrase.setAlignment(1);
headCell1.setHorizontalAlignment(1); //表头第二列:申请人
PdfPCell headCell2 = new PdfPCell();
Paragraph headCell2Phrase = new Paragraph("申请人");
headCell2Phrase.setFont(tableHeadFont);
headCell2.setPhrase(headCell2Phrase);
headCell2Phrase.setAlignment(1);
headCell2.setHorizontalAlignment(1); //表头第三列:维修人
PdfPCell headCell3 = new PdfPCell();
Paragraph headCell3Phrase = new Paragraph("维修人");
headCell3Phrase.setFont(tableHeadFont);
headCell3.setPhrase(headCell3Phrase);
headCell3Phrase.setAlignment(1);
headCell3.setHorizontalAlignment(1); //表头第四列:后勤人
PdfPCell headCell4 = new PdfPCell();
Paragraph headCell4Phrase = new Paragraph("后勤人");
headCell4Phrase.setFont(tableHeadFont);
headCell4.setPhrase(headCell4Phrase);
headCell4Phrase.setAlignment(1);
headCell4.setHorizontalAlignment(1); //表头第五列:设备类型
PdfPCell headCell5 = new PdfPCell();
Paragraph headCell5Phrase = new Paragraph("设备类型");
headCell5Phrase.setFont(tableHeadFont);
headCell5.setPhrase(headCell5Phrase);
headCell5Phrase.setAlignment(1);
headCell5.setHorizontalAlignment(1); //表头第六列:维修设备
PdfPCell headCell6 = new PdfPCell();
Paragraph headCell6Phrase = new Paragraph("维修设备");
headCell6Phrase.setFont(tableHeadFont);
headCell6.setPhrase(headCell6Phrase);
headCell6Phrase.setAlignment(1);
headCell6.setHorizontalAlignment(1); //表头第七列:维修地点
PdfPCell headCell7 = new PdfPCell();
Paragraph headCell7Phrase = new Paragraph("维修地点");
headCell7Phrase.setFont(tableHeadFont);
headCell7.setPhrase(headCell7Phrase);
headCell7Phrase.setAlignment(1);
headCell7.setHorizontalAlignment(1); //表头第八列:维修完成时间
PdfPCell headCell8 = new PdfPCell();
Paragraph headCell8Phrase = new Paragraph("维修完成时间");
headCell8Phrase.setFont(tableHeadFont);
headCell8.setPhrase(headCell8Phrase);
headCell8Phrase.setAlignment(1);
headCell8.setHorizontalAlignment(1); //表头第九列:维修评价
PdfPCell headCell9 = new PdfPCell();
Paragraph headCell9Phrase = new Paragraph("维修评价");
headCell9Phrase.setFont(tableHeadFont);
headCell9.setPhrase(headCell9Phrase);
headCell9Phrase.setAlignment(1);
headCell9.setHorizontalAlignment(1); //表头第十列:维修费用
PdfPCell headCell10 = new PdfPCell();
Paragraph headCell10Phrase = new Paragraph("维修费用");
headCell10Phrase.setFont(tableHeadFont);
headCell10.setPhrase(headCell10Phrase);
headCell10Phrase.setAlignment(1);
headCell10.setHorizontalAlignment(1); table.addCell(headCell1);
table.addCell(headCell2);
table.addCell(headCell3);
table.addCell(headCell4);
table.addCell(headCell5);
table.addCell(headCell6);
table.addCell(headCell7);
table.addCell(headCell8);
table.addCell(headCell9);
table.addCell(headCell10);
//表头添加完毕 //添加表格体
for(int i=0; i<1000; i++) {
table.addCell("");
}
document.add(table); //页脚段落
Paragraph paraFooter = new Paragraph();
Font font = new Font();
//页脚的字体大小
font.setSize(12f);
font.setColor(new Color(0, 0, 0));
paraFooter.setFont(font);
paraFooter.setAlignment("center");
//页脚的段落和是否有页码
HeaderFooter footer = new HeaderFooter(paraFooter, true);
//页脚的对齐方式(应该在footer设置而不是段落中设置)
footer.setAlignment(1);
document.setFooter(footer); document.close();
} }
IText 生成简单表格(报表)doc文档 单元居中的更多相关文章
-
itext 生成doc文档 小结(自己备忘)
1.引入maven <dependency> <groupId>com.lowagie</groupId> <artifactId>itext</ ...
-
IText 生成横向的doc文档
IText生成doc文档需要三个包:iTextAsian.jar,iText-rtf-2.1.4.jar,iText-2.1.4.jar 亲测无误,代码如下: import com.lowagie.t ...
-
IText 中文字体解决方案 生成doc文档
IText生成doc文档需要三个包:iTextAsian.jar,iText-rtf-2.1.4.jar,iText-2.1.4.jar 亲测无误,代码如下: import com.lowagie.t ...
-
使用FastReport报表工具生成报表PDF文档
在我们开发某个系统的时候,客户总会提出一些特定的报表需求,固定的报表格式符合他们的业务处理需要,也贴合他们的工作场景,因此我们尽可能做出符合他们实际需要的报表,这样我们的系统会得到更好的认同感.本篇随 ...
-
Java中常用到的文件操作那些事(一)——替换doc文档模板,生成真实合同案例
工作中,我们时常会遇到一些操作文件的操作,比如在线生成合同模板,上传/下载/解析Excel,doc文档转为pdf等操作.本文就已工作中遇到的在线生成合同为例,简要地介绍一种文档替换写法. 本文目的:给 ...
-
doc文档生成带目录的pdf文件方法
准备软件: 福昕PDF阅读器 下载地址:http://rj.baidu.com/soft/detail/12882.html?ald 安装福昕PDF阅读器,会自动安装pdf打印机. 准备好设置好各级标 ...
-
poi读取word2003(.doc文档)中的表格
poi读取word2003(.doc文档)中的表格 Jakarta POI 是apache的子项目,目标是处理ole2对象.它提供了一组操纵Windows文档的Java API.在网上见到好多通过po ...
-
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 ...
随机推荐
-
使用MySql数据库, 浏览器接收返回数据报错SyntaxError: unterminated string literal
用php写了一个很简单的页面, 用来记录常用的oracle的关键字和各种函数, 以后用起来查一下方便, 原来是用java写了一个web项目, 但是用起来太麻烦, 真的不如php方便, 然后就把整理的内 ...
-
Top 10 steps to optimize data access in SQL Server
2009年04月28日 Top 10 steps to optimize data access in SQL Server: Part I (use indexing) 2009年06月01日 To ...
-
hdu1561 The more, The Better 树形DP+分组背包
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1561 思路: 典型的树形背包题目: 定义dp[i][j]表示以i为根节点,攻打j个城堡的获得的财宝的最 ...
-
SQL FOREIGN KEY 约束
SQL FOREIGN KEY 约束 一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY. 让我们通过一个例子来解释外键.请看下面两个表: "Persons&quo ...
-
ES6 —— 数组总结
1. map:映射 一个对一个 arr.map(function(item) { ... }) 可以配合箭头函数:arr.map(item => ... ) let arr1 = [1 ...
-
CF235D Graph Game
CF235D Graph Game 好题 树? 考虑每个点被计算多少次 但是和当前分治中心有关系的 所以,f(a,b),对于a作为中心时候,和b相连的概率 也就是两者必然分离,最后一次连在一起的时候, ...
-
java.io.IOException: Can&#39;t read [\jre\lib\rt.jar]
[proguard] java.io.IOException: Can't read [F:\e\java\jdk1.8.0_101\jre\lib\rt.jar] (Can't process cl ...
-
Newtonsoft.Json日常用法
原文链接:https://www.cnblogs.com/ZengJiaLin/p/9578794.html
-
编写了几个Java类,但是一直运行某一个class,这种是因为:main方法写错
编写了几个Java类,但是一直运行某一个class,这种是因为:main方法写错
-
oracle触发器--if else demo
CREATE OR REPLACE Trigger trig_solr_index_el_lesson After Update of lessonid, lessonname, lessongoal ...