//package com.zfire.mall.manager.print;
//
//import cn.hutool.core.collection.CollUtil;
//import cn.hutool.system.OsInfo;
//import cn.hutool.system.SystemUtil;
//import com.aspose.words.Document;
//import com.aspose.words.FontSettings;
//import com.aspose.words.License;
//import com.aspose.words.SaveFormat;
//import lombok.extern.slf4j.Slf4j;
//
//import java.io.ByteArrayOutputStream;
//import java.io.InputStream;
//import java.util.Arrays;
//
//    @Slf4j
//    public class PDFUtils {
//
//        private static final String[] WORD = {"doc", "docx", "wps", "wpt", "txt"};
//        private static final String[] EXCEL = {"xls", "xlsx", "et", "xlsm"};
//        private static final String[] PPT = {"ppt", "pptx"};
//        private static final String[] PDF = {"pdf"};
//        private static final String[] IMG = {"bmp", "jpg", "png", "tif", "gif", "pcx", "tga", "exif", "fpx", "svg", "psd", "cdr", "pcd", "dxf", "ufo", "eps", "ai", "raw", "WMF", "webp", "avif", "apng"};
//
//        private static final String TYPE_UNSUPPORT = "不支持的格式";
//        private static final String TYPE_WORD = "TYPE_WORD";
//        private static final String TYPE_EXCEL = "TYPE_EXCEL";
//        private static final String TYPE_PPT = "TYPE_PPT";
//        private static final String TYPE_PDF = "TYPE_PDF";
//        private static final String TYPE_IMG = "TYPE_IMG";
//
//
//        private boolean judgeLicense() {
//            boolean result = false;
//            try {
//                InputStream is = PDFUtils.class.getClassLoader().getResourceAsStream("License.xml");
//                License aposeLic = new License();
//                aposeLic.setLicense(is);
//                result = true;
//            } catch (Exception e) {
//                log.error("Aspose License 文档转换失败！", e);
//            }
//            return result;
//        }
//
//        /**
//         * 根据文件名判断文件类型
//         */
//        private String getType(String fileName) {
//            String suffix = fileName.substring(fileName.lastIndexOf(".") + 1).toLowerCase(); // 后缀
//            if (CollUtil.contains(Arrays.asList(WORD), suffix)) {
//                return TYPE_WORD;
//            } else if (CollUtil.contains(Arrays.asList(EXCEL), suffix)) {
//                return TYPE_EXCEL;
//            } else if (CollUtil.contains(Arrays.asList(PPT), suffix)) {
//                return TYPE_PPT;
//            } else if (CollUtil.contains(Arrays.asList(PDF), suffix)) {
//                return TYPE_PDF;
//            } else if (CollUtil.contains(Arrays.asList(IMG), suffix)) {
//                return TYPE_IMG;
//            } else {
//                return TYPE_UNSUPPORT;
//            }
//        }
//
//        public static void main(String[] args) throws Exception {
//        }
//
//        /**
//         * 文件转化pdf
//         * @param fileName 文件名称
//         * @param in     文件输入流
//         * @return 转换后的pdf地址 或 格式不支持预览
//         */
//        public byte[] toPdf(String fileName, InputStream in) throws Exception {
//            if (!judgeLicense()) {
//                throw new Exception();
//            }
//            String type = getType(fileName);
//            if (TYPE_WORD.equals(type)) {
//                try (ByteArrayOutputStream tmp = wordToPdfStream(in)) {
//                    return tmp.toByteArray();
//                } catch (Exception e) {
//                    log.error("word转换pdf失败！", e);
//                }
//            }
//            return new byte[0];
//        }
//
//
//        private ByteArrayOutputStream wordToPdfStream(InputStream in) throws Exception {
//            Document doc = new Document(in);
//            OsInfo osInfo = SystemUtil.getOsInfo();
//            if (osInfo.isLinux()) {// 提前将字体安装到linux如下路径 TODO 如果是linux环境则需要将windows下字体（C:\Windows\Fonts）提前复制到这个目录下
//                FontSettings.setFontsFolder("/usr/share/fonts/chinese", true);
//            }
//            ByteArrayOutputStream dstStream = new ByteArrayOutputStream();
//            doc.save(dstStream, SaveFormat.PDF);
//            return dstStream;
//        }
//
//    }
//
//
//}
