word和excel转pdf
1.下载jacob.jar包 网址:https://sourceforge.net/projects/jacob-project/files/jacob-project/
2.导入到本地仓库:mvn install:install-file -Dfile=[jar包名 ] -DgroupId=[目录a] -DartifactId=[目录b]-Dversion=[版本] -Dpackaging=jar
3.
将红色框文件拷贝到jdk目录下的jre/bin目录中去同时 C:\Windows\System32目录页也要拷贝一份
4.开始编码 工具类
package com.example.mybatis.util;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class PDFConvert {
private static final Logger logger = LoggerFactory.getLogger(PDFConvert.class);
private static final Integer WORD_TO_PDF_OPERAND = 17;
private static final Integer EXCEL_TO_PDF_OPERAND = 0;
/**
* @Description excel转pdf
* @Param [excelFile, pdfPath]
* @return boolean
**/
public static void excel2PDF(String excelFile, String pdfPath) {
ActiveXComponent ax = null;
Dispatch excel = null;
try {
ComThread.InitSTA();
ax = new ActiveXComponent("Excel.Application");
ax.setProperty("Visible", new Variant(false));
ax.setProperty("AutomationSecurity", new Variant(3)); // 禁用宏
Dispatch excels = ax.getProperty("Workbooks").toDispatch();
Object[] obj = new Object[]{
excelFile,
new Variant(false),
new Variant(false)
};
excel = Dispatch.invoke(excels, "Open", Dispatch.Method, obj, new int[9]).toDispatch();
// 转换格式
Object[] obj2 = new Object[]{
new Variant(EXCEL_TO_PDF_OPERAND), // PDF格式=0
pdfPath,
new Variant(0) //0=标准 (生成的PDF图片不会变模糊) ; 1=最小文件
};
Dispatch.invoke(excel, "ExportAsFixedFormat", Dispatch.Method,obj2, new int[1]);
} catch (Exception es) {
logger.error("excel转pdf异常:"+excelFile,es);
} finally {
if (excel != null) {
Dispatch.call(excel, "Close", new Variant(false));
}
if (ax != null) {
ax.invoke("Quit", new Variant[] {});
ax = null;
}
ComThread.Release();
}
}
/**
* word转pdf
*
* @param wordlFile
* @param pdfPath
* @return
*/
public static void word2pdf(String wordlFile, String pdfPath) {
ActiveXComponent app = null;
Dispatch doc = null;
try {
ComThread.InitSTA();
app = new ActiveXComponent("Word.Application");
app.setProperty("Visible", false);
Dispatch docs = app.getProperty("Documents").toDispatch();
Object[] obj = new Object[]{
wordlFile,
new Variant(false),
new Variant(false),//是否只读
new Variant(false),
new Variant("pwd")
};
doc = Dispatch.invoke(docs, "Open", Dispatch.Method, obj, new int[1]).toDispatch();
// Dispatch.put(doc, "Compatibility", false); //兼容性检查,为特定值false不正确
Dispatch.put(doc, "RemovePersonalInformation", false);
Dispatch.call(doc, "ExportAsFixedFormat", pdfPath, WORD_TO_PDF_OPERAND); // word保存为pdf格式宏,值为17
}catch (Exception es) {
logger.error("word转pdf异常:"+wordlFile,es);
} finally {
if (doc != null) {
Dispatch.call(doc, "Close", false);
}
if (app != null) {
app.invoke("Quit", 0);
}
ComThread.Release();
}
}
}
5.测试类
@Test
public void contextLoads() {
String wordFile = "C:\\Users\\intasect\\Desktop\\测试\\测试.xlsx";
String pdfFile = "C:\\Users\\intasect\\Desktop\\测试\\测试.pdf";
System.out.println("开始转换...");
// 开始时间
long start = System.currentTimeMillis();
PDFConvert.excel2PDF(wordFile,pdfFile );
long end = System.currentTimeMillis();
System.out.println("转换成功,用时:" + (end - start) + "ms");
}
6.结果
word和excel转pdf的更多相关文章
- java操作word,excel,pdf
在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...
- 自制 Word、Excel 批转 PDF 工具
原文:自制 Word.Excel 批转 PDF 工具 目前做金融业的项目,该公司每天会产生很多 Word.Excel 文档,需要大量地转换为 PDF,除了自己保存外,也要给金融主管机构作为备份.由于文 ...
- java操作office和pdf文件java读取word,excel和pdf文档内容
在平常应用程序中,对office和pdf文档进行读取数据是比较常见的功能,尤其在很多web应用程序中.所以今天我们就简单来看一下Java对word.excel.pdf文件的读取.本篇博客只是讲解简单应 ...
- java 实现Word或Excel 转Pdf
1:首先需要引入相关的jar word转pdf需要引入 aspose-words-15.8.0-jdk16.jar 下载JAR包 Word http://note.youdao.com/notesha ...
- C#在线预览文档(word,excel,pdf,txt,png)
C#在线预览文档(word,excel,pdf,txt,png) 1.预览方式:将word文件转换成html文件然后预览html文件2.预览word文件:需要引入Interop.Microsoft.O ...
- C# 基于NPOI+Office COM组件 实现20行代码在线预览文档(word,excel,pdf,txt,png)
由于项目需要,需要一个在线预览office的功能,小编一开始使用的是微软提供的方法,简单快捷,但是不符合小编开发需求, 就另外用了:将文件转换成html文件然后预览html文件的方法.对微软提供的方法 ...
- Java实现windows,linux服务器word,excel转为PDF;aspose-words,Documents4j
Java实现windows,linux服务器word,excel转为PDF:aspose-words,Documents4j 一.通过aspose-words将word,Excel文档转为PDF 1. ...
- Asp.net实现直接在浏览器预览Word、Excel、PDF、Txt文件(附源码)
功能说明 输入文件路径,在浏览器输出文件预览信息,经测试极速(Chrome).IE9.Firefox通过 分类文件及代码说明 DemoFiles 存放可测试文件 Default.aspx 启动页 ...
- c#使用word、excel、pdf ——转
一.C# Word操作引入Word COM组件菜单=>项目=>添加引用=>COM=>Microsoft Word 11.0 Object Libraryusing Word = ...
- C#对word、excel、pdf等格式文件的操作总结
一.word 这是我以前工作时写过的一个业务逻辑处理类,里面有不少文件操作的方法,这里主要关注一下C#对word的操作.里面的方法可以直接拿出来用,主要是通过word的dot模版来进行创建word.替 ...
随机推荐
- Flutter 耗时监控 | 路由名为空原因分析
前言 最近群里遇到获取Route名为空的问题,当时没在意... 直到自己在监控页面启动耗时,需要确定当前页面是哪个从而方便标记它加载的耗时时,遇到同样 route.settings.name 为空问题 ...
- Unity_UIWidgets - 组件AppBar
Unity_UIWidgets - 组件AppBar AppBar 构造 构造png观看 使用代码 使用效果 AppBar使用结束 结语 图标Icon QQ 今日无推荐 Unity_UIWidgets ...
- C#如何提高代码质量(二)
多线程,异步,任务和并行 1.异步和多线程应用场景区分 多线程 计算密集型工作 异步 IO密集型工作 2.线城同步中使用信号量 EventWaitHandle AutoResetEvent Manua ...
- nginx微信对接
location /MP_verify_l47ZUDtvieeDlVWR.txt { default_type text/html; return 200 'l47ZUDtvieeDlVWR'; }
- 【一句话】 OAuth 2
OAuth 就是一种授权机制.数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据.系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用
- Nginx07 keepalived
https://hashnode.blog.csdn.net/article/details/124532338 1 简介 Keepalived软件起初是专为LVS负载均衡软件设计的,用来管理并监控L ...
- .Net Framework创建grpc
1.环境要求 .Net Framework 4.8 .Net Core 版本: https://www.cnblogs.com/dennisdong/p/17120990.html 2.Stub和Pr ...
- 10分钟了解MVVM,实现简易MVVM
MVVM 是 Model-View-ViewModel 缩写,也就是把 MVC 中的 Controller 演变成 ViewModel.Model 层代表数据模型,View 代表 UI 组件,View ...
- Xlight安装与使用
Xlight安装与使用 一.Xlight安装 下载Xlight安装包,点击安装,默认就可以,下一步 点击左上角增加虚拟服务器,IP地址为本机服务器IP地址 右键点击新添加的虚拟服务器,点击虚拟服务器操 ...
- 大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s
前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介 ️Reference: IoT 边缘计算系列文章 Rancher + K3s 简介 Rancher: Kubernetes ...
