美文网首页
springboot中Word转PDF技巧

springboot中Word转PDF技巧

作者: 二涛被占用了 | 来源:发表于2019-08-14 11:37 被阅读0次

    最近两天在弄office套餐的各种转换,刚开始用了easypoi对excel进行了各种操作,十分的方便。但是有个新需求是上传word文档,然后下载的时候是原word文档,预览的话用pdf预览,就涉及到了word转pdf。

    一看easypoi上面没有,这我就有点懵了,立马想到了原生poi,网上搜了一圈自己尝试了一下,发现因为poi升级到4.1版本的原因,遇到了各种问题,无法完成转换。于是在stackoverflow上找到个完美答案。直接贴代码:

    依赖:
    <dependency>
    <groupId>com.documents4j</groupId>
    <artifactId>documents4j-local</artifactId>
    <version>1.0.3</version>
    </dependency>
    <dependency>
    <groupId>com.documents4j</groupId>
    <artifactId>documents4j-transformer-msoffice-word</artifactId>
    <version>1.0.3</version>
    </dependency>

    java代码:
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;

    import com.documents4j.api.DocumentType;
    import com.documents4j.api.IConverter;
    import com.documents4j.job.LocalConverter;

    public class Document4jApp {

    public static void main(String[] args) {
    
        File inputWord = new File("Tests.docx");
        File outputFile = new File("Test_out.pdf");
        try  {
            InputStream docxInputStream = new FileInputStream(inputWord);
            OutputStream outputStream = new FileOutputStream(outputFile);
            IConverter converter = LocalConverter.builder().build();
            converter.convert(docxInputStream).as(DocumentType.DOCX).to(outputStream).as(DocumentType.PDF).execute();
            outputStream.close();
            System.out.println("success");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    

    }

    转换的过程需要花个两秒钟左右,前端按钮加个加载效果即可,然后用pdf.js显示。

    感叹一下还stackoverflow还是好用啊。。。。

    相关文章

      网友评论

          本文标题:springboot中Word转PDF技巧

          本文链接:https://www.haomeiwen.com/subject/gqqgjctx.html