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();
}
}