项目需要使用java将后台生成的word文件转化为pdf,第一次做这个所以找了很多资料和代码,但一直都有问题。
有的可以转化但在第一页有水印:Evaluation Warning: The document was created with Spire.Doc for JAVA.
解决的方式就是给word添加一个空的首页,生成PDF后去除该pdf的首页即可,代码和jar包如下,需要的小伙伴们可以自行下载复制使用。

一、 jar包

1、spire.doc-2.2.0.jar,必须是这个版本,亲测可用

官网(不推荐):https://www.e-iceblue.cn/
下载jar包(推荐)
链接: 下载spire.doc-2.2.0.jar到本地.下载完成后将该jar包导入到项目中。

2、itextpdf包,版本要求不高,可按需要更改

使用maven引用:

<dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version>
</dependency>

二、代码如下

package com.pdf.utils;import com.itextpdf.text.pdf.PdfReader;
import com.itextpdf.text.pdf.PdfStamper;
import com.spire.doc.*;
import org.apache.commons.lang3.StringUtils;import java.io.FileOutputStream;
import java.util.ArrayList;
import java.util.List;/*** word转pdf工具类*/
public class WordToPdf {/*** word转pdf工具类* @param path 需要转换的word文件地址* @return String pdf版地址*/public static void wordToPdf(String path){//首页带有红色水印的版本路径(可设为自己的路径)String test = "D:\\test\\test.pdf";//转化最终结果路径(可设为自己的路径)String reason = "D:\\test\\reason.pdf";try {Document document = new Document();document.loadFromFile(path);//输出为PDF,此时pdf文件首页带有红色水印document.saveToFile(test, FileFormat.PDF);//删除pdf文件带水印信息的第一页,并重新输出为PDFPdfReader reader = new PdfReader(test);List<String> pages = new ArrayList<>();for (int i = 2; i <= reader.getNumberOfPages(); i++) {pages.add(String.valueOf(i));}reader.selectPages(StringUtils.join(pages, ","));PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(reason));stamp.close();reader.close();} catch (Exception e){e.printStackTrace();}}public static void main(String[] args) {//再次提示,该方法生成的pdf首页有红色水印,本代码会删除生成pdf的首页,所以可在word文件的首页添加一页空白页,防止生成pdf缺少首页数据String path = "D:\\test\\测试.docx";wordToPdf(path);}
}

三、测试如下

以下是我的测试文件及结果文件在wps中打开的效果
1、word文件:测试.docx

2、test文件:test.pdf。首页有红色的水印

3、reason文件:reason.pdf。去除首页之后的结果文件

java实现word文件转pdf功能相关推荐

  1. Java 读取word文件的页数

    实现思路: 1,由于现有的插件读取word的页数不是很准确,于是将word文件转换为PDF文件 2,读取PDF文件的页数以获取word文件的页数 需要的插件:链接:https://pan.baidu. ...

  2. python批量pdf转word,python批量实现Word文件转换为PDF文件

    本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...

  3. Java操作word文件的工具选择

    Java操作word文件的工具选择 使用Java语言,创建doc.docx.excel.pdf等文档,并对文档进行一系列操作. Spire.Doc for Java https://blog.csdn ...

  4. Java多word文件生成后进行压缩并导出下载后,压缩文件损坏并提示“不可预料的压缩文件末端”和“CRC校验失败”

    Java多word文件生成后进行压缩并导出下载后,压缩文件损坏并提示"不可预料的压缩文件末端"和"CRC校验失败" WinRAR 打开情况: 提示不可预料的压缩 ...

  5. java实现word文件合并

    java实现word文件合并 前言 一.Spire.Doc.jar 二.使用步骤 1.引入库 2.写接口 前言 本文使用了Free Spire.Office for Java这个工具,下面是官网地址 ...

  6. 使用Jacob实现将Word文件转换为Pdf文件

    在某些业务场景下,可能需要将Word文件转换为Pdf文件的需求,Word文件编辑方便,而Pdf文件查看更方便,并且格式基本不会变化,同时可以避免被误编辑. 如果使用的是Java语言,那么可以借助于Ja ...

  7. docx4j实现word文件转换pdf文件

    目录 前言 PDF文件导出 word文件转换pdf文件 前言 前段时间在项目中遇到了导出pdf的问题,之前在项目中遇到导出文件莫不是excle或者word文件的导出,所以在遇到需要导出pdf文件时,我 ...

  8. Python - 批量转换Word文件为PDF文件

    1,目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2,遍历目录 作者总结了三种遍历目录的方法,分别如下. 2.1,调用glob 遍历指定目录下的所有文件和文件夹,不递归 ...

  9. python批量操作word文档实战_python批量实现Word文件转换为PDF文件

    本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...

最新文章

  1. Java实现向指定URL用POST方法发送Json格式字符串参数请求的工具类
  2. 早期的增长黑客 PayPal 如何在2000年初达到每日7%到10%的营收成长?
  3. 数据库-优化-案例-max()函数优化
  4. 面向对象分析方法(Object-Oriented Analysis,OOA)
  5. vue脚手架vue数据交互_学习Vue:3分钟的交互式Vue JS教程
  6. java基础——static 关键字小节
  7. Python中应该使用%还是format来格式化字符串?
  8. google地图网页版_谷歌收录查询方法大全,如何让Google快速收录网页?
  9. 关于ftp 服务器搭建的200错误与527错误
  10. 溢出的文字如何省略号显示
  11. Linux基本的键盘输入快捷键和一些常用命令
  12. 数据分析工具的深度对比:FineBI vs PowerBI
  13. 怎么将PDF翻译成中文?这篇文章教会你
  14. debian ELK6.2.2安装教程
  15. 三十七、缓存注解@Cacheable、@CacheEvict、@CachePut详解
  16. matlab+cummean,matlab常用操作备忘(2)
  17. 如何有效实现软件的需求管理 - 1
  18. 2017年东南大学计算机博士申请经验分享
  19. linux如何下载rpm离线安装包到本机
  20. 什么原因造成恒温恒湿试验箱压缩机缺油?

热门文章

  1. Encode Decode
  2. DRAM书籍笔记 - 目录整理
  3. ios9/sdk9/xcode7/iphone6s(+)适配
  4. FireFox7.0 与 Chrome 的故事
  5. 科普一个化工厂人员定位系统需要花多少费用?
  6. ZXD0.8/20S红外线自动寻的消防水炮生产厂家讲解工作原理数据
  7. 关于JS跨域访问介绍
  8. 合并两个表格相同名称工作表
  9. 联想小新14.20190717
  10. 色彩 | R 语言中的渐变色: viridis 包(色盲友好的颜色包)