package com.java.pdfzip;
import java.io.File;
import java.io.FileOutputStream;
import net.lingala.zip4j.core.ZipFile;
import net.lingala.zip4j.model.ZipParameters;
import net.lingala.zip4j.util.Zip4jConstants;
import com.lowagie.text.Document;
import com.lowagie.text.Font;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.BaseFont;
import com.lowagie.text.pdf.PdfWriter;
public class PdfUtilTest {
Document document = new Document();// 建立一个Document对象
private static Font headfont;// 设置字体大小
private static Font keyfont;// 设置字体大小
static {
BaseFont bfChinese;
try {
bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H",
BaseFont.NOT_EMBEDDED);
headfont = new Font(bfChinese, 18, Font.BOLD);// 设置字体大小
keyfont = new Font(bfChinese, 12, Font.NORMAL);// 设置字体大小
} catch (Exception e) {
e.printStackTrace();
}
}
public PdfUtilTest(){}
public PdfUtilTest(File file) {
document.setPageSize(PageSize.A4);// 设置页面大小
try {
PdfWriter.getInstance(document, new FileOutputStream(file));
document.open();
} catch (Exception e) {
e.printStackTrace();
}
}
private void generatePDF() {
try {
Paragraph paragraph = new Paragraph("测试标题", headfont);
document.add(paragraph);
paragraph = null;
for (int i = 0; i < 10; i++) {
paragraph = new Paragraph("测试正文内容,第 "+i+" 条..........", keyfont);
document.add(paragraph);
paragraph = null;
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (null != document) {
document.close();
document = null;
}
}
}
/**
* @功能 将数据导出PDF
* @param exportPath pdf文件存放路径
*/
public String exportPDF(String exportPath,String filename) {
File file = null;
PdfUtilTest pdfutil = null;
String zippath = null;
try {
zippath = exportPath+"\\"+filename+".zip";
//生成PDF文件
file = new File(exportPath+"\\"+filename+".pdf");
file.createNewFile();
pdfutil = new PdfUtilTest(file);
pdfutil.generatePDF();
//压缩加密
ZipFile zipFile = new ZipFile(zippath);
ZipParameters parameters = new ZipParameters();
parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);
parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);
parameters.setEncryptFiles(true);
parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_AES);
parameters.setAesKeyStrength(Zip4jConstants.AES_STRENGTH_256);
parameters.setPassword("laiyakannicaijiubuxingleninengcaidedao");//压缩密码
zipFile.addFile(file, parameters);
} catch (Exception e) {
e.printStackTrace();
} finally {
pdfutil = null;
file = null;
if(null != document){
document.close();
}
}
return zippath;
}
public static void main(String[] args) throws Exception {
PdfUtilTest util = new PdfUtilTest();
util.exportPDF("C:\\","aaaa");//存放路径 文件名
}
}
java生成PDF,java加密压缩文件
4星 · 超过85%的资源 需积分: 35 120 浏览量
2015-01-12
18:24:39
上传
评论
收藏 3.26MB ZIP 举报
鹏鹏
- 粉丝: 0
- 资源: 6
最新资源
- 细胞的奇迹:吃出来的免疫力(美亚畅销书!作者的TED演讲播放量超300万次!《谷物大脑》作者、《三联生活周刊》推荐!吃下对的食物,改善你的... (Z-Library).azw3
- 智能手机产品拆解,使用mindmaster打开
- 11111111111111
- 统信系统ARM64依赖openssl-1.0.2版本的libssl.so.10和libcrypto.so.10文件
- 奥比中光python sdk
- 冯超楠17.py
- OCR识别-基于视觉注意力机制Attention实现的OCR识别算法-附项目源码-优质项目实战.zip
- Java 使用蒙特卡洛方法估算PI的近似值(源代码)
- main.cpp
- 电子木鱼小程序源码电子木鱼小程序源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈