[JAVA]PDF 合併與下載

由於要把多個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();
}