资源简介
通过SQL及JDBC模式导出各类业务数据,以PDF文件格式存放,要求该文件只能查看和打印(不能编辑和篡改),要有公司相关标志和水印功能。
1、生成PDF文件
2、PDF文件注明版权
3、PDF增加文字和图片水印
4、PDF表格列数可能很多,比如1-50列信息,导出时需判断A4纸格式或其他格式宽度。
5、PDF表格行数量可能超大,比如10万以上,甚至100万以上。
代码片段和文件信息
package com.fruitking.testpdf.util;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import com.lowagie.text.Document;
import com.lowagie.text.DocumentException;
import com.lowagie.text.Font;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.baseFont;
import com.lowagie.text.pdf.PdfWriter;
public class PDFCreate1File {
/**
* 创建一份PDF文档
* @param fullFilePath
*/
public boolean createPDFFile(String fullFilePath){
Document pdfDocument = new Document();
try {
//构建一个PDF文档输出流程
OutputStream pdfFileOutputStream = new FileOutputStream(new File(fullFilePath));
PdfWriter.getInstance(pdfDocumentpdfFileOutputStream);
//设置中文字体和字体样式
baseFont bfChinese = baseFont.createFont(“STSong-Light“ “UniGB-UCS2-H“ baseFont.NOT_embedDED);
Font f2 = new Font(bfChinese 2 Font.NORMAL);
Font f6 = new Font(bfChinese 6 Font.NORMAL);
Font f10 = new Font(bfChinese 10 Font.NORMAL);
Font f12 = new Font(bfChinese 12 Font.BOLD);
//打开PDF文件流
pdfDocument.open();
//设置PDF文件正文内容
pdfDocument.add(new Paragraph(“中国程序员周报“ f12));
//换行
pdfDocument.add(new Paragraph(“ “f6));
//换行
pdfDocument.add(new Paragraph(“中国程序员工作时间调查报告“ f10));
//换行
pdfDocument.add(new Paragraph(“ “ f2));
return true;
}catch(FileNotFoundException de) {
de.printStackTrace();
System.err.println(“pdf file: “ + de.getMessage());
return false;
}catch(DocumentException de) {
de.printStackTrace();
System.err.println(“document: “ + de.getMessage());
return false;
}catch(IOException de) {
de.printStackTrace();
System.err.println(“pdf font: “ + de.getMessage());
return false;
}finally{
//关闭PDF文档流,OutputStream文件输出流也将在PDF文档流关闭方法内部关闭
if(pdfDocument!=null){
pdfDocument.close();
}
}
}
/**
* 创建一份PDF文档,且标注作者等信息
* @param fullFilePath
*/
public boolean createPDFFileWithCreatorInfo(String fullFilePath){
Document pdfDocument = new Document();
try {
//构建一个PDF文档输出流程
OutputStream pdfFileOutputStream = new FileOutputStream(new File(fullFilePath));
PdfWriter pdfWriter = PdfWriter.getInstance(pdfDocumentpdfFileOutputStream);
//PDF版本(默认1.4)
pdfWriter.setPdfVersion(PdfWriter.PDF_VERSION_1_4);
//文档属性
pdfDocument.addtitle(“水果大王信息技术有限公司数据安全产品“);
pdfDocument.addAuthor(“杭州水果大王信息技术有限公司“);
pdfDocument.addSubject(“文件导出的信息安全管控“);
pdfDocument.addKeywords(“文件导出信息安全“);//文档关键字信
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2014-03-27 10:34 lib\
文件 1825962 2013-10-18 12:10 lib\bcprov-ext-jdk15-1.46.jar
文件 331811 2014-03-27 09:38 lib\iTextAsian.jar
文件 1130070 2014-03-27 09:38 lib\itext-2.1.7.jar
文件 2243307 2013-10-18 10:47 lib\itext-4.2.1.jar
文件 157360 2013-10-18 10:46 lib\itext-rtf-2.1.7.jar
文件 72229 2013-10-18 10:47 lib\itext-rups-2.1.7.jar
文件 13862 2013-10-20 23:53 pfd大量数据的表格及水印.docx
目录 0 2014-03-27 10:25 testpdf\
文件 483 2013-10-18 12:10 testpdf\.classpath
文件 383 2013-10-18 10:19 testpdf\.project
目录 0 2013-10-21 00:00 testpdf\src\
目录 0 2013-10-21 00:00 testpdf\src\com\
目录 0 2013-10-21 00:00 testpdf\src\com\fruitking\
目录 0 2013-10-21 00:00 testpdf\src\com\fruitking\testpdf\
目录 0 2014-03-27 10:25 testpdf\src\com\fruitking\testpdf\util\
文件 14350 2013-10-20 23:09 testpdf\src\com\fruitking\testpdf\util\PDFCreate1File.java
文件 16335 2013-10-20 21:41 testpdf\src\com\fruitking\testpdf\util\PDFCreate2Table.java
文件 29857 2013-10-20 23:31 testpdf\src\com\fruitking\testpdf\util\PDFCreate2WaterMark.java
文件 5697 2013-10-20 23:42 testpdf\src\com\fruitking\testpdf\util\PdfFileExport.java
文件 9656 2013-10-20 23:28 testpdf\src\com\fruitking\testpdf\util\PdfFileExportUtil.java
相关资源
- Java TCP-IP Socket编程(原书第2版)
- 基于JSP的实验教学管理系统
- java图书管理系统源码
- 基于JAVA JMF 的MP3播放器及简单视频播
- aspose cells for java 8.6.2 最新完美破解版
- Aspose-cells-for java-8.5.2-最新完美破解版
- aspose cells for java 18.9 最新完美破解版
- uvpv统计的Java实现UVPVCount
- 航空订票系统java源码
- 网盘开发 java项目
- java和 js实现图片上传和裁剪
- 清华大学JAVA教程(绝对经典)
- Visualizing Data-Ben Fry-可视化数据 英文高
- Java雷电游戏教学用
- JSP/Java网络编程课程设计/登录注册
- 战舰游戏设计课程报告+源码
- JAVA一个简单的教案生成软件
- linux版本libevent和memcached(附带安装教
- java网上商城毕业论文
- Java调用Labview生成的DLL文件
- jsp在线投票系统源代码
- mongo-java-driver-3.4.2.jar
- 2016秋广工数据库课程设计学生信息管
- corejava9 源代码
- 强大的纯Java车牌识别程序源码
- JAVA RFID 开发API
- JavaWeb课设--网上商城购物.zip
- 基于Android系统的华容道游戏的开发
- 家庭理财工具java实现
- 基于JAVA的图书馆管理系统设计(毕业
评论
共有 条评论