diff --git a/src/main/java/com/emr/util/Jpg2PdfUtil.java b/src/main/java/com/emr/util/Jpg2PdfUtil.java index c1fb0747..cc8dfed8 100644 --- a/src/main/java/com/emr/util/Jpg2PdfUtil.java +++ b/src/main/java/com/emr/util/Jpg2PdfUtil.java @@ -7,10 +7,12 @@ import org.apache.commons.lang3.StringUtils; import org.apache.log4j.Logger; import org.springframework.util.CollectionUtils; +import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.awt.*; import java.io.ByteArrayOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; @@ -74,18 +76,21 @@ public class Jpg2PdfUtil { List pdfReaders = new ArrayList<>(); //遍历删除,除去损坏,文件不存在,抛异常就是空白页 Iterator iterator = files.iterator(); + PdfReader pdfReader = null; while (iterator.hasNext()) { - PdfReader pdfReader = check(iterator.next()); + pdfReader = check(iterator.next()); if(null != pdfReader){ pdfReaders.add(pdfReader); pdfReader.close(); } } if(!CollectionUtils.isEmpty(pdfReaders)){ + OutputStream outputStream = null; //创建文档容器 Document document = new Document(PageSize.A4,0,0,0,0); PdfCopy copy = null; try { + outputStream = response.getOutputStream(); copy = new PdfCopy(document,response.getOutputStream()); document.open(); for (PdfReader reader : pdfReaders) { @@ -101,6 +106,14 @@ public class Jpg2PdfUtil { if(null != document){ document.close(); } + if(null != outputStream){ + try { + outputStream.flush(); + outputStream.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } } } } @@ -115,8 +128,9 @@ public class Jpg2PdfUtil { private static void copy2Pdf(PdfCopy copy, PdfReader reader) throws IOException, BadPdfFormatException { try { int n = reader.getNumberOfPages(); + PdfImportedPage page = null; for (int j = 1; j <= n; j++) { - PdfImportedPage page = copy.getImportedPage(reader, j); + page = copy.getImportedPage(reader, j); if(null != page) { copy.addPage(page); }