main
黄海 2 years ago
commit f3f7245443

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

@ -82,6 +82,13 @@
<artifactId>cos</artifactId>
<version>2022.2</version>
</dependency>
<!--生成PDF时写入中文名-->
<dependency>
<groupId>org.apache.pdfbox</groupId>
<artifactId>pdfbox</artifactId>
<version>2.0.27</version>
</dependency>
<dependency>
<groupId>com.github.icecooly</groupId>
<artifactId>FastHttpClient</artifactId>

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

Loading…
Cancel
Save