这篇文章主要介绍了Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)使用iTextPDF生成便携文档格式文件的实现方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
iText介绍和说明
因为项目需要生成便携文档格式文件,所以去找了一下能够生成便携文档格式的Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)工具,看到了iText可以说好评如潮。
如果你想通过Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)操作便携文档格式文件,那么iText绝对是你的首选。
引入依赖
这里使用的是iText5
属国
groupIdcom.itextpdf/groupId
artifactIditextpdf/artifactId
版本5 .5 .10/版本
/依赖关系
属国
groupIdcom.itextpdf/groupId
人工文本-亚洲/artifactId
版本5 .2 .0/版本
/依赖关系
使用步骤简单介绍
快速入手iText拢共需要5步:
创建文档实例文件
获取PdfWriter实例(需要指定文件实例和可移植文档格式文件的扩展名(可移植文档格式的缩写)生成的磁盘路径)
打开文档
添加段落内容
关闭操作文档实例(操作完成后必须执行文档关闭操作)
创建工具类
公共类PdfUtil {
//标准字体
公共静态字体普通字体
//加粗字体
公共静态字体粗体字体
//固定高
公共静态浮动固定高度=27f
//间距
公共静态int间距=5;
静态{
尝试{
BaseFont BF中文=基本字体。创建字体(' ST song-Light ',' UniGB-UCS2-H ',基本字体.未_嵌入);
NORMALFONT=new FONT(bfChinese,10,FONT .正常);
BOLDFONT=新字体(BF中文,14,字体。粗体);
} catch(异常e) {
e。printstacktrace();
}
}
公共静态文档createDocument() {
//生成可移植文档格式文件的扩展名(可移植文档格式的缩写)
Document=新文档();
//页面大小
矩形矩形=新矩形(页面大小.a4);
//页面背景颜色
长方形。设置背景色(基色.白色);
document.setPageSize(矩形);
//页边距左,右,上,下
document.setMargins(20,20,20,20);
返回文档;
}
/**
* @param text段落内容
* @返回
*/
公共静态段落创建段落(字符串文本,字体字体){
段落元素=新段落(文本、字体);
元素。set spacing before(5);
元素。setspacingfafter(5);
元素。setspacingfafter(间距);
返回元素;
}
公共静态字体createFont(int fontNumber,int fontSize,BaseColor fontColor) {
//中文字体-不然中文会乱码
BaseFont bf=null
尝试{
BF=BaseFont。创建字体(' ST song-Light ',' UniGB-UCS2-H ',基本字体.未_嵌入);
返回新字体(bf,fontNumber,fontSize,字体颜色);
} catch(异常e) {
e。printstacktrace();
}
返回新字体(bf,Font .默认大小,字体。正常,基色。黑色);
}
/**
* 隐藏表格边框线
*
* @param单元格单元格
*/
公共静态无效禁用边框(pdf单元格单元格){
如果(细胞!=null) {
细胞。禁用border side(1);
细胞。禁用border side(2);
细胞。禁用border side(4);
细胞。禁用border side(8);
}
}
/**
* 创建居中得单元格
*
* @返回
*/
公共静态pdf单元格createCenterPdfPCell(){
pdf cell cell=new pdf cell();
cell.setVerticalAlignment(元素. ALIGN _ MIDDLE);
cell.setHorizontalAlignment(元素. ALIGN _ CENTER);
细胞。setfixedheight(固定高度);
返回单元格;
}
/**
* 创建指定文字得单元格
*
* @param text
* @返回
*/
公共静态pdf单元格createcenterpdfcell(String text,int rowSpan,int colSpan,Font font) {
pdf cell单元格=新的pdf cell(新段落(文本,字体));
cell.setVerticalAlignment(元素. ALIGN _ MIDDLE);
cell.setHorizontalAlignment(元素. ALIGN _ LEFT);
细胞。setfixedheight(固定高度);
细胞。setrowspan(行跨度);
细胞。setcolspan(科尔斯潘);
返回单元格;
}
/**
* @param len表格列数
* @返回
*/
公共静态pdf表格createPdfPTable(int len){
pdf FP table pdf FP table=new pdf FP table(len);
pdfPTable.setSpacingBefore
pdf表格。设置水平对齐方式(元素.ALIGN _ CENTER);
返回pdf表格
}
}
创建controller进行测试
/**
* @作者王
* @版本1.0
* @日期2020年6月28日3时17分下午
*/
@RestController
@RequestMapping('/pdf ')
公共类PdfController {
@RequestMapping('/generate ')
公共响应生成pdf(http servlet响应响应)引发异常{
字符串文件名='测试' pdf ';
//设置下载格式为可移植文档格式文件的扩展名(可移植文档格式的缩写)
回应。设置内容类型(“应用程序/x-下载”);
回应。添加标头(' Content-Disposition ',' attachment filename=' URL encoder . encode(文件名,‘UTF-8’)’.pdf’);
输出流OS=new BufferedOutputStream(响应。获取输出流());
//1.Document=新文档();
document=pdfutil。创建文档();
//2.获取作者
PdfWriter.getInstance(文档,OS);
//3.打开()
文档。open();
//设置字体
Font black Font=pdfutil。创建字体(10,字体.正常,基色。黑色);
Font blue Font=pdfutil。创建字体(10,字体.正常,基色。蓝色);
Font big Font=pdfutil。创建字体(14,字体.正常,基色。黑色);
Font little Font=pdfutil。创建字体(10,字体.正常,基色。黑色);
paragraph title=pdfutil。创建段落('测试pdf ',大字体);
title.setAlignment(元素. ALIGN _ CENTER);
//4.添加段落内容
文档.添加(标题);
//5.关闭()
document.close().
OS。close();
返回新响应()。setContent("成功");
}
}
运行结果
下载页面:
下载的文件效果:
到此这篇关于Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)使用iTextPDF生成便携文档格式文件的实现方法的文章就介绍到这了,更多相关Java 语言(一种计算机语言,尤用于创建网站)语言(一种计算机语言,尤用于创建网站)使用iTextPDF生成便携文档格式内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。