美文网首页
Linux下ppt转换成图片

Linux下ppt转换成图片

作者: 王小杰at2019 | 来源:发表于2019-05-01 18:51 被阅读0次
    1. 安装软件
    yum install libreoffice -y
    yum install libreoffice-headless -y
    yum install ImageMagick -y
    
    
    1. 安装字体
    #上传宋体到
    /usr/share/fonts
    # 刷新字体缓存
    #修改权限
    chmod 644 simsun.ttc
    #更新字体缓存:
    fc-cache -fv
    
    
    1. 转换
    soffice --headless --convert-to pdf name.pptx --outdir  /path
    convert -resize 1920x -density 300  -quality 100 网页的奇妙之旅.pdf 网页的奇妙之旅.jpg
    
    1. 使用 Java调用 sh
    • Java 依赖
       <dependency>
                <groupId>org.apache.commons</groupId>
                <artifactId>commons-exec</artifactId>
                <version>1.3</version>
            </dependency>
    
    
    • java
    
    File outputPath = new File(output);
    outputPath.mkdir();
    //生成图片
    CommandLine cmdLine = CommandLine.parse(String.format("soffice  --convert-to pdf %s --outdir %s", tempFile.getAbsolutePath(), output));
    DefaultExecuteResultHandler resultHandler = new DefaultExecuteResultHandler();
    DefaultExecutor executor = new DefaultExecutor();
    executor.execute(cmdLine, resultHandler);
    //这里开始的代码会被立即执行下去,因为上面的语句不会被阻塞。
    resultHandler.waitFor(50000);//等待50秒。
    boolean b = resultHandler.hasResult();
    log.info("convert to pdf:{}", b);
    resultHandler.onProcessComplete(0);
    String baseName = FilenameUtils.getBaseName(tempFile.getAbsolutePath());
    cmdLine = CommandLine.parse(String.format("convert -resize 1920x -density 150  -quality 100  %s %s", output + baseName + ".pdf", output + baseName + ".jpg"));
    resultHandler = new DefaultExecuteResultHandler();
    executor = new DefaultExecutor();
    executor.execute(cmdLine, resultHandler);
    //这里开始的代码会被立即执行下去,因为上面的语句不会被阻塞。
    resultHandler.waitFor(200 * 1000);//等待100秒。
    b = resultHandler.hasResult();
    log.info("convert to pdf:{}", b);
    resultHandler.onProcessComplete(0);
    

    相关文章

      网友评论

          本文标题:Linux下ppt转换成图片

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