Commit 1242de35 authored by wujiang's avatar wujiang

添加word转pdf

parent 66fdf612
...@@ -11,6 +11,12 @@ ...@@ -11,6 +11,12 @@
<dependencies> <dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>15.8.0</version>
<classifier>jdk16</classifier>
</dependency>
<dependency> <dependency>
<groupId>org.jfree</groupId> <groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId> <artifactId>jfreechart</artifactId>
......
package com.yeejoin.equipmanage.common.utils; package com.yeejoin.equipmanage.common.utils;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File; import java.io.File;
import java.io.FileInputStream; import java.io.FileInputStream;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
...@@ -9,9 +10,11 @@ import java.io.IOException; ...@@ -9,9 +10,11 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.io.OutputStream; import java.io.OutputStream;
import java.io.OutputStreamWriter; import java.io.OutputStreamWriter;
import java.io.StringWriter;
import java.io.Writer; import java.io.Writer;
import java.net.URL; import java.net.URL;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.Locale;
import java.util.Map; import java.util.Map;
import java.util.Properties; import java.util.Properties;
...@@ -25,6 +28,10 @@ import org.apache.commons.fileupload.disk.DiskFileItemFactory; ...@@ -25,6 +28,10 @@ import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.springframework.core.io.support.PropertiesLoaderUtils; import org.springframework.core.io.support.PropertiesLoaderUtils;
import org.springframework.http.MediaType; import org.springframework.http.MediaType;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import com.itextpdf.text.pdf.BaseFont;
import freemarker.template.Configuration; import freemarker.template.Configuration;
import freemarker.template.Template; import freemarker.template.Template;
import sun.misc.BASE64Encoder; import sun.misc.BASE64Encoder;
...@@ -76,11 +83,12 @@ public class WordTemplateUtils { ...@@ -76,11 +83,12 @@ public class WordTemplateUtils {
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8");
response.setContentType("application/msword"); response.setContentType("application/msword");
// 设置浏览器以下载的方式处理该文件名 // 设置浏览器以下载的方式处理该文件名
String fileName = (StringUtil.isNotEmpty(title) ? title : FileUtil.getUUID()) + ".doc"; String fileName = (StringUtil.isNotEmpty(title) ? title : FileUtil.getUUID()) + ".pdf";
response.setHeader("Content-Disposition", response.setHeader("Content-Disposition",
"attachment;filename=".concat(String.valueOf(URLEncoder.encode(fileName, "UTF-8")))); "attachment;filename=".concat(String.valueOf(URLEncoder.encode(fileName, "UTF-8"))));
out = response.getOutputStream(); out = response.getOutputStream();
byte[] buffer = new byte[512]; // 缓冲区 byte[] buffer = new byte[512]; // 缓冲区
int bytesToRead = -1; int bytesToRead = -1;
// 通过循环将读入的Word文件的内容输出到浏览器中 // 通过循环将读入的Word文件的内容输出到浏览器中
...@@ -114,6 +122,7 @@ public class WordTemplateUtils { ...@@ -114,6 +122,7 @@ public class WordTemplateUtils {
file = createDoc(map, freemarkerTemplate); file = createDoc(map, freemarkerTemplate);
fin = new FileInputStream(file); fin = new FileInputStream(file);
os = item.getOutputStream(); os = item.getOutputStream();
wordTopdfByAspose(fin, os);
while ((bytesRead = fin.read(buffer,0,8192)) != -1) { while ((bytesRead = fin.read(buffer,0,8192)) != -1) {
os.write(buffer,0,bytesRead); os.write(buffer,0,bytesRead);
} }
...@@ -127,6 +136,7 @@ public class WordTemplateUtils { ...@@ -127,6 +136,7 @@ public class WordTemplateUtils {
file.delete(); }// 删除临时文件 file.delete(); }// 删除临时文件
} }
} }
private static File createDoc(Map<?, ?> dataMap, Template template) { private static File createDoc(Map<?, ?> dataMap, Template template) {
String name = "sellPlan.doc"; String name = "sellPlan.doc";
......
...@@ -298,9 +298,10 @@ public class FilePatrolReportServiceImpl implements IFirePatrolReportService { ...@@ -298,9 +298,10 @@ public class FilePatrolReportServiceImpl implements IFirePatrolReportService {
WordTemplateUtils instance = WordTemplateUtils.getInstance(); WordTemplateUtils instance = WordTemplateUtils.getInstance();
Map<String, Object> map = getWordMap(code, startDate, endDate); Map<String, Object> map = getWordMap(code, startDate, endDate);
try { try {
//instance.pdfCreate(map, (String) map.get("document_number"), WordTemplateTypeEum.firePatrolReport.getTemplateFile());
FileItem item = instance.getWordFileItem(map,(String) map.get("document_number"), WordTemplateTypeEum.firePatrolReport.getTemplateFile()); FileItem item = instance.getWordFileItem(map,(String) map.get("document_number"), WordTemplateTypeEum.firePatrolReport.getTemplateFile());
MultipartFile file = new CommonsMultipartFile(item); MultipartFile file = new CommonsMultipartFile(item);
//FeignClientResult<java.util.Map<String, String>> result = Systemctl.fileStorageClient.updateCommonFile(file); FeignClientResult<java.util.Map<String, String>> result = Systemctl.fileStorageClient.updateCommonFile(file);
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
......
...@@ -1136,10 +1136,10 @@ ...@@ -1136,10 +1136,10 @@
</w:tblCellMar> </w:tblCellMar>
</w:tblPr> </w:tblPr>
<w:tblGrid> <w:tblGrid>
<w:gridCol w:w="1035"/> <w:gridCol w:w="1717"/>
<w:gridCol w:w="1029"/> <w:gridCol w:w="1189"/>
<w:gridCol w:w="4297"/> <w:gridCol w:w="3611"/>
<w:gridCol w:w="1969"/> <w:gridCol w:w="1813"/>
</w:tblGrid> </w:tblGrid>
<w:tr> <w:tr>
<w:tblPrEx> <w:tblPrEx>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment