关于word转pdf功能实现

这篇具有很好参考价值的文章主要介绍了关于word转pdf功能实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

遇到word转pdf相关的问题,记录一下相关的使用

1 Spire

spire.doc是一款国产的,专业的 Java Word 组件,使用它可以轻松地将 Word 文档创建、读取、编辑、转换和打印等功能集成到自己的 Java 应用程序中.

其中的免费版本, 有特殊限制,在加载或保存 Word 文档时,要求 Word 文档不超过 500 个段落,25 个表格。同时将 Word 文档转换为 PDF 和 XPS 等格式时,仅支持转换前三页.

收费版本: 也可使用,首页页眉会出现警告信息,且最多支持十页,每页中间还有警告信息.

以免费版本演示为例:

1 添加依赖

        <repositories>
            <repository>
                <id>com.e-iceblue</id>
                <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
            </repository>
        </repositories>
    <dependencies>
        <dependency>
            <groupId>e-iceblue</groupId>
            <artifactId>spire.doc.free</artifactId>
            <version>3.9.0</version>
        </dependency>
     </dependencies>

2 测试

public class DemoController {
    public static void main(String[] args) {
        // word文档地址
        String docFile = "D:\\PublicSoftware\\jar\\2xs.docx";
        // 导出pdf地址
        String pdfFile = "D:\\PublicSoftware\\jar\\xs4.pdf";

        //实例化Document类的对象
        Document doc = new Document();
        //加载Word
        doc.loadFromFile(docFile);

        // 开始时间
        long begin = System.currentTimeMillis();
        //保存为PDF格式
        doc.saveToFile(pdfFile, FileFormat.PDF);
        // 结束时间
        long end = System.currentTimeMillis();
        System.out.println("word转pdf完成: 耗时 : "+ ((end-begin)/1000) + "秒");
    }
}   
// word转pdf完成: 耗时 : 6秒

2 poi

强大的poi,在文档处理方面,很全面,但是组件多,各种版本之间存在冲突.

查询网上一个可使用的一个版本如下:

1 添加依赖

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>3.10.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>3.10.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>3.10.1</version>
        </dependency>
        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>org.apache.poi.xwpf.converter.core</artifactId>
            <version>1.0.6</version>
        </dependency>
        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>org.apache.poi.xwpf.converter.pdf</artifactId>
            <version>1.0.6</version>
        </dependency>
        <dependency>
            <groupId>fr.opensagres.xdocreport</groupId>
            <artifactId>fr.opensagres.xdocreport.itext.extension</artifactId>
            <version>2.0.1</version>
        </dependency>

2 测试

public class DemoController {
    public static void main(String[] args) throws IOException {
        // 开始时间
        long begin = System.currentTimeMillis();
        String docFile = "D:\\PublicSoftware\\jar\\xs.docx";
        String pdfFile = "D:\\PublicSoftware\\jar\\xs6.pdf";
        
        InputStream doc = new FileInputStream(docFile);
        XWPFDocument document = new XWPFDocument(doc);
        PdfOptions options = PdfOptions.create();
        OutputStream out = new FileOutputStream(pdfFile);
        PdfConverter.getInstance().convert(document, out, options);
        doc.close();
        out.close();

        // 结束时间
        long end = System.currentTimeMillis();
            System.out.println("word转pdf完成: 耗时 : "+ ((end-begin)/1000) + "秒");
    }
}
// word转pdf完成: 耗时 : 15秒

3 总结

上述两个方法都可以将word转为pdf文件,各自都用特点.

Spire,依赖少,但免费版本限制过多,而收费版本价格不低,直接使用又有警告信息.(使用公司邮箱申请,可免费使用一个月,但不是长久之计);

poi文档处理,免费,但依赖多,且各个版本之间可能存在冲突,且对于生成pdf的一些排版,篇幅的处理,效果没有spire好.文章来源地址https://www.toymoban.com/news/detail-495345.html

到了这里,关于关于word转pdf功能实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 记录--前端实现文件预览(pdf、excel、word、图片)

    需求:实现一个在线预览pdf、excel、word、图片等文件的功能。 介绍:支持pdf、xlsx、docx、jpg、png、jpeg。 以下使用Vue3代码实现所有功能,建议以下的预览文件标签可以在外层包裹一层弹窗。 iframe标签能够将另一个HTML页面嵌入到当前页面中,我们的图片也能够使用iframe标签来

    2024年02月09日
    浏览(66)
  • 关于Kettle ETL java脚本编写遇到的一些问题记录

    使用方法**logBasic()**参数必须是字符串 这部分内容会在ETL的日志窗口显示 1.获取上个节点传输的数据 可以直接在左侧双击获取 2.全局参数获取 在启动运行的变量设置参数 在java代码中获取方式 3.获取当前节点参数 在当前窗口下方有个 参数 Tab页,在这里设置 在java代码中获取

    2024年02月12日
    浏览(41)
  • 关于hive启动的相关问题记录

    问题:初始化hive元数据报错 首先想到的是删除hive在MySQL中创建的元数据库Metastore 和HDFS中创建的目录 结果还是报错 仔细一看是hive.metastore连接问题 查看MySQL中的用户权限 参考:https://blog.csdn.net/peterchan88/article/details/78341852 使用初始化命令还是报错,继续往下查 检查 MySQL 服务

    2024年04月10日
    浏览(42)
  • Python自动化小技巧21——实现PDF转word功能(程序制作)

    案例背景 为什么这个年代PDF转word,某wps居然还要收费.....很多软件都可以实现这个功能,但是效果都有好有坏,而且有的还付费,很麻烦。 那就用python实现这个功能吧,然后把代码打包为.exe的程序,这样随便在哪个电脑上都能运行,给那些没有python环境的人一个便利。 代码

    2024年02月11日
    浏览(51)
  • 【Vue实用功能】Vue实现文档在线预览功能,在线预览PDF、Word、Excel、ppt等office文件

    Luckysheet 是一个类似于 excel 的在线电子表格,功能强大、配置简单且完全开源。 安装 Luckysheet 1、通过CDN引入依赖 由于 Luckysheet 现在还没有发布出模块化的开发,不能使用 npm,所以我们需要在 VUE 项目中手动引入相关文件。编辑 public/index.html 文件,在里面添加如下代码 2、指

    2023年04月22日
    浏览(103)
  • 关于uniapp全局挂载变量/方法的问题,没遇到过点进来吧,记录一下我踩过的坑。

    事情是这样的,我在用uniapp做一个微信小程序,遇到了个问题,是在封装uni.request()到全局方法的时候,其实就很简单的,是关于 this的指向问题 (若想了解此问题的话,点这里去看大佬的文章!!!) ,找几个小时的博客都未能解决。 建uniapp项目时用了vue3,那么就要遵

    2024年02月16日
    浏览(49)
  • 关于开发Spartan-7 xc7s6 FPGA综合编译时遇到的问题记录

    因为没有找到相关例程,板子也是不是官方的。因此在综合编译时遇到一些警告和错误,在这里记录一下,写的不是很正确,也希望有大佬能够指点一二。 1.设计中无约束 [Constraints 18-5210] No constraints selected for write. 警告设计中无约束,实际上我是有约束文件的,在XILINX官方论

    2023年04月22日
    浏览(59)
  • Android13关于获取外部存储文件的相关问题及解决方案记录

      Android的学习路上... 测试设备:vivo X90s 安卓版本: Android13 开发环境:AndroidStudio Flamingo SDK:33 最近我在Android13的环境下尝试写一个 文件选择器 ,以便日后的开发使用。但是我们知道,从Android13 (API33) 开始,外部存储权限发生了变化,要想读取外部存储文件,使用原来的权

    2024年01月15日
    浏览(66)
  • java超简单实现文档在线预览功能,支持word\excel\text\pdf\图片等格式转pdf,aspost 转pdf部署linux中文乱码解决方案

    一、背景         在工作中需要对上传到服务器的各种类型包括但不限于word、pdf、excel等文件进行在线预览,前端比较菜搞不定,只能本人亲自上。         网上的经验比较多也比较乱, 有的只有预览,没有文件格式转换,有的也不说linux存在字体问题, 本文会直白的给

    2024年04月10日
    浏览(147)
  • Android 9.0 ota升级关于SettingsProvider新增和修改系统数据相关功能实现

      在9.0的系统rom定制化开发中,在进行ota升级的过程中,由于在SettingsProvider中新增了系统属性和修改某项系统属性值,但是在ota升级以后发现没有 更新,需要恢复出厂设置以后才会更改,但是恢复出厂设置 会丢掉一些数据,这是应为系统数据库没更新,所以需要在ota的时候

    2024年01月22日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包