当前位置: 首页 > article >正文

word、excel文件转PDF(documents4j方式,简单)

1 documents4j方式

引入pom

<dependency>
            <groupId>com.documents4j</groupId>
            <artifactId>documents4j-local</artifactId>
            <version>1.1.12</version>
        </dependency>
        <dependency>
            <groupId>com.documents4j</groupId>
            <artifactId>documents4j-transformer-msoffice-word</artifactId>
            <version>1.1.12</version>
        </dependency>

#excel转pdf需要的jar
<dependency>
            <groupId>com.documents4j</groupId>
            <artifactId>documents4j-transformer-msoffice-excel</artifactId>
            <version>1.1.12</version>
        </dependency>

2 代码实现(word,excel转pdf代码)

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

public static void main(String[] args) {
        File inputWord = new File("E:\\111\\123.docx");
        File outputFile = new File("E:\\111\\123.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();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
/**
     * documents4j方式excel转pdf
     * @param file 源文件
     * @return 返回转成功的文件
     */
    public static File wordToPDFByDocuments4j(File file) {
        File outputFile = new File(String.format("%s%s%s%s", file.getParentFile(),  File.separator, System.currentTimeMillis(), ".pdf"));
        try  {
            InputStream docxInputStream = new FileInputStream(file);
            OutputStream outputStream = new FileOutputStream(outputFile);
            IConverter converter = LocalConverter.builder().build();
            converter.convert(docxInputStream).as(DocumentType.XLSX).to(outputStream).as(DocumentType.PDF).execute();
            outputStream.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return outputFile;
    }

2 poi方式


http://www.kler.cn/a/158217.html

相关文章:

  • 深度学习推理(Inference)
  • React全站框架Next.js使用入门
  • Sass 同时导出JavaScript 和 CSS变量
  • 微信小程序基础
  • Shopify二次开发之三:liquid语法学习(Tags)
  • 15.(vue3.x+vite)组件间通信方式之默认插槽(匿名插槽)
  • 有文件实体的后门无文件实体的后门rootkit后门
  • 营销互动类小游戏策划与开发
  • 查询绑定了所有id的name
  • 【电机控制】PMSM无感foc控制(五)相电流检测及重构 — 单电阻采样
  • Redis AOF源码解析
  • 2024年天津财经大学珠江学院专升本专业课考试《经济学》考试大纲
  • ftp的服务安装配置
  • 15:00的面试,15:06就出来了,问的问题过于变态了。。。
  • 如何为 3D 模型制作纹理的最佳方法
  • Haiku库和Jax库介绍
  • 容器与集群——通过deployment 创建pod以及Java Web应用的容器化发布
  • SpectralGPT: Spectral Foundation Model 论文翻译3
  • C语言KR圣经笔记 4.1函数基础
  • 力扣1004题 最大连续1的个数 III 滑动窗口