导读,此工具类中包含以下功能:
1、文件后缀判断
2、图片后缀判断
3、word后缀判断
4、Excel后缀判断
5、PDF后缀判断
6、使用pdfbox将整个pdf转换成图片
7、pdf2word
8、word2PDF
9、向PDF指定页插入图片
10、PDF指定位置覆盖
11、删除文件夹及以下文件(可能出现删不全的情况)
12、zip文件返回
13、打压缩包
代码:
package cn.org.enst.report.office.utils.processdocument;
import cn.org.enst.common.exception.DbptException;
import cn.org.enst.common.utils.StringUtils;
import cn.org.enst.common.utils.file.FileUtils;
import com.baomidou.mybatisplus.core.toolkit.ArrayUtils;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.PDPageContentStream;
import org.apache.pdfbox.pdmodel.PDPageTree;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import org.apache.pdfbox.rendering.PDFRenderer;
import org.apache.pdfbox.text.PDFTextStripper;
import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.awt.image.BufferedImage;
import java.io.*;
import java.util.List;
import java.util.zip.CRC32;
import java.util.zip.CheckedOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipOutputStream;
public class FileTypeUtils {
/**
* 文件后缀判断
*/
public static boolean verificationFile(String originFileName) {
// 后缀
String extName = originFileName.substring(originFileName.lastIndexOf(".") + 1);
// 判断是不是图片、文档、excel、pdf、压缩包等文件后缀
if (extName.matches("(tif|gif|png|jpg|jpeg|bmp|doc|docx|pdf|xls|xlsx|rar|zip)")) {
return true;
}
// "文件格式错误"
return false;
}
/**
* 图片后缀判断
*/
public static boolean verificationImage(String originFileName) {
// 后缀
String extName = originFileName.substring(originFileName.lastIndexOf(".") + 1);
// 判断是不是图片后缀
if (extName.matches("(png|jpg|jpeg)")) {
return true;
}
// "文件格式错误"
return false;
}
/**
* word后缀判断
*/
public static boolean verificationWord(String originFileName) {
// 后缀
String extName = originFileName.substring(originFileName.lastIndexOf(".") + 1);
// 判断是不是图片后缀
if (extName.matches("(doc|docx)")) {
return true;
}
// "文件格式错误"
return false;
}
/**
* Excel后缀判断
*/
public static boolean