diff --git a/WebRoot/Excel/06856ad1-50e0-4078-af05-b9ac27f27f4f.pdf b/WebRoot/Excel/06856ad1-50e0-4078-af05-b9ac27f27f4f.pdf index cb427cac..496c45dc 100644 Binary files a/WebRoot/Excel/06856ad1-50e0-4078-af05-b9ac27f27f4f.pdf and b/WebRoot/Excel/06856ad1-50e0-4078-af05-b9ac27f27f4f.pdf differ diff --git a/WebRoot/Excel/1c646d50-25c0-4b72-9495-3cc05e93bebc.xlsx b/WebRoot/Excel/1c646d50-25c0-4b72-9495-3cc05e93bebc.xlsx new file mode 100644 index 00000000..fe5314d4 Binary files /dev/null and b/WebRoot/Excel/1c646d50-25c0-4b72-9495-3cc05e93bebc.xlsx differ diff --git a/WebRoot/Excel/26770952-de93-4390-af10-41597bb45a30.xlsx b/WebRoot/Excel/26770952-de93-4390-af10-41597bb45a30.xlsx new file mode 100644 index 00000000..fe5314d4 Binary files /dev/null and b/WebRoot/Excel/26770952-de93-4390-af10-41597bb45a30.xlsx differ diff --git a/WebRoot/Excel/87ab1a2e-9252-48f3-96d3-5b6c6f0871e9.xlsx b/WebRoot/Excel/87ab1a2e-9252-48f3-96d3-5b6c6f0871e9.xlsx new file mode 100644 index 00000000..fe5314d4 Binary files /dev/null and b/WebRoot/Excel/87ab1a2e-9252-48f3-96d3-5b6c6f0871e9.xlsx differ diff --git a/WebRoot/Excel/e736ae1a-4980-4978-a058-260819b9f09e.xlsx b/WebRoot/Excel/e736ae1a-4980-4978-a058-260819b9f09e.xlsx new file mode 100644 index 00000000..fe5314d4 Binary files /dev/null and b/WebRoot/Excel/e736ae1a-4980-4978-a058-260819b9f09e.xlsx differ diff --git a/WebRoot/view/tb/school/report_excel.html b/WebRoot/view/tb/school/report_excel.html index 99a19794..31c2cb98 100644 --- a/WebRoot/view/tb/school/report_excel.html +++ b/WebRoot/view/tb/school/report_excel.html @@ -52,12 +52,11 @@ icon: 2, time: 2000 }, function () { - console.log(res.upload_excel_filename_user) - window.location = "/QingLong/Excel/" + res.upload_excel_filename_user; + if (res.upload_excel_filename_user) { + window.location = "/QingLong/Excel/" + res.upload_excel_filename_user; + } }); } - - } }); diff --git a/pom.xml b/pom.xml index 48794887..27b652aa 100644 --- a/pom.xml +++ b/pom.xml @@ -82,6 +82,13 @@ cos 2022.2 + + + org.apache.pdfbox + pdfbox + 2.0.27 + + com.github.icecooly FastHttpClient diff --git a/src/main/java/com/dsideal/QingLong/Collect/Controller/CollectController.java b/src/main/java/com/dsideal/QingLong/Collect/Controller/CollectController.java index c9286510..158bafd4 100644 --- a/src/main/java/com/dsideal/QingLong/Collect/Controller/CollectController.java +++ b/src/main/java/com/dsideal/QingLong/Collect/Controller/CollectController.java @@ -23,6 +23,8 @@ import com.jfinal.kit.StrKit; import com.jfinal.plugin.activerecord.Page; import com.jfinal.plugin.activerecord.Record; import com.jfinal.upload.UploadFile; +import org.apache.pdfbox.pdmodel.PDDocument; +import org.apache.pdfbox.pdmodel.PDDocumentInformation; import org.apache.poi.openxml4j.util.ZipSecureFile; import org.apache.poi.ss.usermodel.IndexedColors; import org.apache.poi.xssf.usermodel.XSSFCell; @@ -30,6 +32,7 @@ import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; import java.io.*; import java.net.URLEncoder; import java.text.ParseException; @@ -802,7 +805,7 @@ public class CollectController extends Controller { //文件名称 String excel_filename = job_name + "【" + bureau_name + "】.xlsx"; - String pdf_filename = job_name + "【" + bureau_name + "】.pdf"; + String pdfName = job_name + "【" + bureau_name + "】"; //1、找到upload_excel_filename_user Record record = cm.viewFilledJob(job_id, bureau_id); @@ -830,11 +833,21 @@ public class CollectController extends Controller { if (type_id == 2) { String pdfPath = excelPath.replace(".xlsx", ".pdf"); AsposeUtil.xls2pdf(excelPath, pdfPath); - Kv kv = Kv.create(); - kv.set("success", true); - kv.set("pdf_name", pdf_filename); - kv.set("pdf_url", FileUtil.getName(pdfPath)); - renderJson(kv); + + //提供带中文文件名的pdf流 + HttpServletResponse response = getResponse(); + response.reset(); + response.setContentType("application/pdf;charset=UTF-8"); + response.setHeader("Content-Disposition", "inline;filename=" + URLEncoder.encode(pdfName, "UTF-8"));//这里的名字并不起作用 + OutputStream out = response.getOutputStream(); + PDDocument document = PDDocument.load(FileUtil.readBytes(pdfPath)); //加载pdf + PDDocumentInformation info = document.getDocumentInformation(); //获得文档属性对象 + info.setTitle(pdfName); //修改标题属性 这个标题会被展示 + document.setDocumentInformation(info); + document.save(out); //修改完直接输出到响应体中 + document.close(); + out.close(); + renderNull(); } }