java实现word文件转pdf功能
项目需要使用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功能相关推荐
- Java 读取word文件的页数
实现思路: 1,由于现有的插件读取word的页数不是很准确,于是将word文件转换为PDF文件 2,读取PDF文件的页数以获取word文件的页数 需要的插件:链接:https://pan.baidu. ...
- python批量pdf转word,python批量实现Word文件转换为PDF文件
本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...
- Java操作word文件的工具选择
Java操作word文件的工具选择 使用Java语言,创建doc.docx.excel.pdf等文档,并对文档进行一系列操作. Spire.Doc for Java https://blog.csdn ...
- Java多word文件生成后进行压缩并导出下载后,压缩文件损坏并提示“不可预料的压缩文件末端”和“CRC校验失败”
Java多word文件生成后进行压缩并导出下载后,压缩文件损坏并提示"不可预料的压缩文件末端"和"CRC校验失败" WinRAR 打开情况: 提示不可预料的压缩 ...
- java实现word文件合并
java实现word文件合并 前言 一.Spire.Doc.jar 二.使用步骤 1.引入库 2.写接口 前言 本文使用了Free Spire.Office for Java这个工具,下面是官网地址 ...
- 使用Jacob实现将Word文件转换为Pdf文件
在某些业务场景下,可能需要将Word文件转换为Pdf文件的需求,Word文件编辑方便,而Pdf文件查看更方便,并且格式基本不会变化,同时可以避免被误编辑. 如果使用的是Java语言,那么可以借助于Ja ...
- docx4j实现word文件转换pdf文件
目录 前言 PDF文件导出 word文件转换pdf文件 前言 前段时间在项目中遇到了导出pdf的问题,之前在项目中遇到导出文件莫不是excle或者word文件的导出,所以在遇到需要导出pdf文件时,我 ...
- Python - 批量转换Word文件为PDF文件
1,目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2,遍历目录 作者总结了三种遍历目录的方法,分别如下. 2.1,调用glob 遍历指定目录下的所有文件和文件夹,不递归 ...
- python批量操作word文档实战_python批量实现Word文件转换为PDF文件
本文为大家分享了python批量转换Word文件为PDF文件的具体方法,供大家参考,具体内容如下 1.目的 通过万能的Python把一个目录下的所有Word文件转换为PDF文件. 2.遍历目录 作者总 ...
最新文章
- Java实现向指定URL用POST方法发送Json格式字符串参数请求的工具类
- 早期的增长黑客 PayPal 如何在2000年初达到每日7%到10%的营收成长?
- 数据库-优化-案例-max()函数优化
- 面向对象分析方法(Object-Oriented Analysis,OOA)
- vue脚手架vue数据交互_学习Vue:3分钟的交互式Vue JS教程
- java基础——static 关键字小节
- Python中应该使用%还是format来格式化字符串?
- google地图网页版_谷歌收录查询方法大全,如何让Google快速收录网页?
- 关于ftp 服务器搭建的200错误与527错误
- 溢出的文字如何省略号显示
- Linux基本的键盘输入快捷键和一些常用命令
- 数据分析工具的深度对比:FineBI vs PowerBI
- 怎么将PDF翻译成中文?这篇文章教会你
- debian ELK6.2.2安装教程
- 三十七、缓存注解@Cacheable、@CacheEvict、@CachePut详解
- matlab+cummean,matlab常用操作备忘(2)
- 如何有效实现软件的需求管理 - 1
- 2017年东南大学计算机博士申请经验分享
- linux如何下载rpm离线安装包到本机
- 什么原因造成恒温恒湿试验箱压缩机缺油?