优化pdf加载

master
zengwh 2 years ago
parent fada340b89
commit cbe34c436d

@ -1,6 +1,7 @@
package com.emr.controller;
import com.emr.service.ipml.CaSignServiceImpl;
import com.emr.util.Jpg2PdfUtil;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.util.FileSystemUtils;
@ -8,13 +9,16 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.IOException;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
/**
* @author
@ -38,6 +42,21 @@ public class TestController {
return "完成";
}
@RequestMapping("font/testPdf")
@ResponseBody
public String testPdf(HttpServletResponse response) throws Exception {
String path = "F:\\isDelete\\mr_file\\pdf\\pdf";
File file = new File(path);
File[] files = file.listFiles();
List<String> list = new ArrayList<>();
for(File file1 : files){
String absolutePath = file1.getAbsolutePath();
list.add(absolutePath);
}
Jpg2PdfUtil.mulFile2One(response,list,null);
return "完成";
}
/**
*
@ -45,37 +64,12 @@ public class TestController {
* @param args liuyu
*/
public static void main(String[] args) {
Date date1 = new Date();
Calendar calendar = Calendar.getInstance(); //得到日历
calendar.setTime(date1);//把当前时间赋给日历
calendar.add(calendar.DATE, -15); //设置为前15天
Date date2 = calendar.getTime();//获取15天前的时间
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Date date;
//转换成时间戳
long t1 = date2.getTime();
try {
File f = new File("D:\\docus\\caCopy");
File[] files = f.listFiles();
for (int i = 0; i < files.length; i++) {
//获取文件路径
String filePath = files[i].getCanonicalPath();
//获取文件名,文件名为yyyy--mm--dd格式时间
String lastTime = files[i].getName();
//将lastTime时间转为long类型
try {
date = format.parse(lastTime);
} catch (ParseException e) {
throw new RuntimeException(e);
}
Long timestamp = date.getTime();
if (timestamp < t1) {
//删除
FileSystemUtils.deleteRecursively(new File(filePath));
}
}
} catch (IOException e) {
e.printStackTrace();
String path = "F:\\isDelete\\mr_file\\pdf\\pdf";
File file = new File(path);
File[] files = file.listFiles();
for(File file1 : files){
String absolutePath = file1.getAbsolutePath();
System.out.println(absolutePath);
}
}
}

@ -157,6 +157,8 @@ public class CaSignServiceImpl {
* @return: void
* @author
* @createTime 2023/7/25 10:30
*
* z:docus/caTemp/masterId/
*/
private boolean caSign(String fileSrc,Archive_Detail_ca_reqParam caReqParam) throws Exception {
System.out.println("fileSrc:"+fileSrc);

@ -75,37 +75,26 @@ public class Jpg2PdfUtil {
//遍历删除,除去损坏,文件不存在,抛异常就是空白页
Iterator<String> iterator = files.iterator();
while (iterator.hasNext()) {
PdfReader check = check(iterator.next());
if(null != check){
pdfReaders.add(check);
PdfReader pdfReader = check(iterator.next());
if(null != pdfReader){
pdfReaders.add(pdfReader);
pdfReader.close();
}
}
if(!CollectionUtils.isEmpty(pdfReaders)){
//创建文档容器
Document document = new Document(PageSize.A4,0,0,0,0);
PdfCopy copy = null;
ByteArrayOutputStream bos = null;
try {
copy = new PdfCopy(document,response.getOutputStream());
document.open();
for (PdfReader reader : pdfReaders) {
bos = new ByteArrayOutputStream();
//判断是否加水印
if (StringUtils.isNotBlank(waterMarkName)) {
reader = new PdfReader(bos.toByteArray());
}
//复制合并pdf
copy2Pdf(copy, reader);
}
}catch (Exception e){
e.printStackTrace();
}finally {
try {
bos.flush();
bos.close();
}catch (Exception e){
e.printStackTrace();
}
if(null != copy){
copy.close();
}

@ -8,23 +8,27 @@ import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import java.io.File;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"classpath:config/applicationContext.xml"})
public class MapperTest {
@Autowired
/*@Autowired
PaperDao paperDao;
/**
*//**
* mapper
*/
@Test
public void testCRUD(){
//1、创建SpringIOC容器
ApplicationContext ioc=new FileSystemXmlApplicationContext("classpath:config/applicationContext.xml");
PaperDao paper=ioc.getBean(PaperDao.class);
//System.out.println(paper);
//System.out.println(123);
String path = "F:\\isDelete\\mr_file\\pdf\\pdf";
File file = new File(path);
File[] files = file.listFiles();
for(File file1 : files){
String absolutePath = file1.getAbsolutePath();
System.out.println(absolutePath);
}
}
}

Loading…
Cancel
Save