java实现word转pdf文件

找新工作的面试题,让我用java把word文件转为pdf文件,以下是代码,也方便我自己以后查找

1依赖部分

 
        com.documents4j
        documents4j-local
        1.0.3
        
        
            com.documents4j
            documents4j-transformer-msoffice-word
            1.0.3
        
    

代码实现部分

public static void convert(String site){
        File inputWord=new File(site);//文件地址
        String[] strarray=site.split("\\\\");//正则筛选出文件名
        String s = strarray[strarray.length - 1];
        String[] ss=s.split("\\.");
        Date day=new Date();
        Date parse=new Date();
        SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String format = sdf.format(day);
        try {
            parse = sdf.parse(format);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        long time = parse.getTime();
        File outputFile=new File("C:\\Users\\15529\\Desktop\\"+ss[0]+time+".pdf");

        try {
            InputStream doc=new FileInputStream(inputWord);
            OutputStream outputStream=new FileOutputStream(outputFile);
            IConverter converter= LocalConverter.builder().build();
            boolean flag=false;
//            if ("docx".equals(site)){
//                //docx转doc
//                flag=converter.convert(doc).as(DocumentType.DOCX).to(outputStream).as(DocumentType.DOC).execute();
//            }else if ("doc".equals(site)){
                flag=converter.convert(doc).as(DocumentType.DOC).to(outputStream).as(DocumentType.PDF).execute();
//            }
            if (flag){
                converter.shutDown();
            }
                doc.close();
                outputStream.close();
                System.out.println("转换成功");

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


    }

你可能感兴趣的:(pdf,maven,java)