beetlsql3-dev
Mlxa0324 2 years ago
parent 4788be57af
commit b80c87567d

@ -33,7 +33,7 @@ public final class PDFConverUtil {
final private static Map<TypeEnum, List<String>> types = new HashMap<>();
public static enum TypeEnum {
WORD, EXCEL, PPT, PPTX, OTHER
WORD, EXCEL, PPT, PPTX, IMG, OTHER
}
static {
@ -41,7 +41,8 @@ public final class PDFConverUtil {
types.put(EXCEL, Arrays.asList("XLS", "XLSX"));
types.put(PPT, Arrays.asList("PPT"));
types.put(PPTX, Arrays.asList("PPTX"));
types.put(OTHER, Arrays.asList("OOXML", "RTF HTML", "OpenDocument", "PDF","EPUB", "XPS", "SWF"));
types.put(IMG, Arrays.asList("JPEG", "JPG", "PNG"));
types.put(OTHER, Arrays.asList("OOXML", "RTF HTML", "OpenDocument", "EPUB", "XPS", "SWF"));
}
@ -51,14 +52,14 @@ public final class PDFConverUtil {
**/
public static boolean imgToPdf(InputStream inputStream, OutputStream outputStream) {
Document document = null;
Document document = null; PdfWriter pdfWriter = null;
try {
// 创建文档,设置PDF页面的大小 A2-A9, 个人觉得A3最合适
document = new Document(PageSize.A6, 20, 20, 20, 20);
document = new Document(PageSize.A6, 0, 0, 0, 0);
// 新建pdf文档,具体逻辑看.getInstance方法
PdfWriter.getInstance(document, outputStream);
pdfWriter = PdfWriter.getInstance(document, outputStream);
document.open();
document.newPage();
@ -97,6 +98,7 @@ public final class PDFConverUtil {
e.printStackTrace();
return false;
} finally {
close(document, pdfWriter);
closeOutput(outputStream);
closeInput(inputStream);
}
@ -466,6 +468,9 @@ public final class PDFConverUtil {
if (types.get(PPTX).contains(fileSuffix)) {
return pptxToPdf(inputStream, outputStream);
}
// if (types.get(IMG).contains(fileSuffix)) {
// return imgToPdf(inputStream, outputStream);
// }
if (types.get(OTHER).contains(fileSuffix)) {
return wordToPdfByAspose(inputStream, outputStream);
}
@ -483,7 +488,6 @@ public final class PDFConverUtil {
*/
private static String getFileSuffix(String fileName) {
String[] split = fileName.split("\\.");
int length = split.length;
return split[length - 1];
return split[split.length - 1];
}
}

@ -1,11 +1,17 @@
package com.ibeetl.jlw.entity;
import cn.hutool.core.io.FileUtil;
import com.ibeetl.admin.core.entity.BaseEntity;
import org.apache.commons.lang3.StringUtils;
import util.convertPDF.PDFConverUtil;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.Date;
@SuppressWarnings("ALL")
public class FileEntity extends BaseEntity {
//文件全路径
@ -293,4 +299,29 @@ public class FileEntity extends BaseEntity {
return base64;
}
*/
/**
* : <br>
* PDF
*
* @param fileEntity
* @Author: lx
* @Date: 2022/12/14 0:46
*/
public static void tryConvertPDF(FileEntity fileEntity) throws FileNotFoundException {
if (null != fileEntity) {
// 相对路径
String absoluteUrl = fileEntity.getAbsoluteUrl();
BufferedInputStream inputStream = FileUtil.getInputStream(absoluteUrl);
// 同名文件多生成一个pdf文件
String pdfName = absoluteUrl.replaceAll("\\.[^\\.]+", ".pdf");
FileOutputStream outputStream = new FileOutputStream(pdfName);
// 根据类型来转换成为pdf
boolean convertedSuccess = PDFConverUtil.convertToPDFByFileNameSuffix(absoluteUrl, inputStream, outputStream);
if(convertedSuccess) {
// 转换成功,则返回给前端
fileEntity.set("cvPDFAbsoluteUrl", pdfName);
}
}
}
}

@ -1,22 +1,20 @@
package com.ibeetl.jlw.web;
import cn.hutool.core.io.FileUtil;
import cn.jlw.Interceptor.RFile;
import com.ibeetl.admin.core.web.JsonResult;
import com.ibeetl.jlw.entity.FileEntity;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import util.convertPDF.PDFConverUtil;
import java.io.BufferedInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.ResourceBundle;
import static com.ibeetl.jlw.entity.FileEntity.tryConvertPDF;
//临时文件管理层
@Controller
public class TempFileController {
@ -86,31 +84,6 @@ public class TempFileController {
//return JsonResult.success();
}
/**
* : <br>
* PDF
*
* @param fileEntity
* @Author: lx
* @Date: 2022/12/14 0:46
*/
private void tryConvertPDF(FileEntity fileEntity) throws FileNotFoundException {
if (null != fileEntity) {
// 相对路径
String absoluteUrl = fileEntity.getAbsoluteUrl();
BufferedInputStream inputStream = FileUtil.getInputStream(absoluteUrl);
// 同名文件多生成一个pdf文件
String pdfName = absoluteUrl.replaceAll("\\.[^\\.]+", ".pdf");
FileOutputStream outputStream = new FileOutputStream(pdfName);
// 根据类型来转换成为pdf
boolean convertedSuccess = PDFConverUtil.convertToPDFByFileNameSuffix(absoluteUrl, inputStream, outputStream);
if(convertedSuccess) {
// 转换成功,则返回给前端
fileEntity.set("cvPDFAbsoluteUrl", pdfName);
}
}
}
//多个文件上传
@PostMapping(MODEL + "/updates.do")
@ResponseBody

Loading…
Cancel
Save