由於要把多個PDF合併成同一個,為了解決此需求所以創造了這篇
要透過PDFMergerUtility此套件來完成(下載頁面: https://pdfbox.apache.org/download.cgi)
接檔案是透過spring擁有的org.springframework.web.multipart.commons.CommonsMultipartResolver來完成
以下為簡易版本不含任何錯誤處理
@RequestMapping(value = "/getFile")
public void getFile(HttpServletResponse response, @RequestParam("file") MultipartFile[] file) throws Exception {
ServletOutputStream out = response.getOutputStream();
PDFMergerUtility ut = new PDFMergerUtility();
for(int i = 0 ; i < file.length; i++){
ut.addSource(file[i].getInputStream());
System.out.println("file size = " +file[i].getSize());
}
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ut.setDestinationStream(bos);
ut.mergeDocuments();
ut.getDestinationStream().flush();
response.setHeader("Content-Disposition", "attachment;filename=allList.pdf");
response.getOutputStream().write(bos.toByteArray());;
response.flushBuffer();
}