最近因一个项目需要通过上传后解析WORD里面的TABLE,弄的我焦头烂额。。。
一。先说说ComThread.InitMTA(true)和ComThread.InitMTA()的区别吧,看上去这两个方法的使用是一样的,但实际上还是不一样。我的英语不是很好,从文章上面我的理解是:前者实际上是执行一个主的单线程(Main InitSTA)。而后者在用的时候,需要先启用ComThread.startMainSTA();这两者的用法大概就是:
Thread 1:
ComThread.InitMTA(true); // a true tells JACOB to create a Main STA
...
...
ComThread.Release();
...
Thread 2:
ComThread.InitMTA();
...
...
ComThread.Release();
...
...
ComThread.quitMainSTA();
而后者的用法是:
ComThread.startMainSTA();
...
...
Thread 1:
ComThread.InitMTA();
...
...
ComThread.Release();
...
Thread 2:
ComThread.InitMTA();
...
...
ComThread.Release();
...
...
ComThread.quitMainSTA();
二。ComThread这个线程的资源JVM是回收不了的,所以在用完的时候一定要像C++一样,随用随释放。在这个系统中我就犯了一个错误,没有释放,结果导致一个功能只能用一次,其他的都用不了,呵呵,不过第一次接触这东西,虽说很老的东西了,不过用上去感觉还不错。
三。解析WORD
try
{
app= new ActiveXComponent("Word.Application"); //启动word, 生成 一个ActiveXComponent 对象
app.setProperty("Visible", new Variant(false)); //设置文档可见性
docs = app.getProperty("Documents").toDispatch(); //获得document对象
doc = Dispatch.invoke(docs, "Open", Dispatch.Method,
new Object[]{filePath, new Variant(false), new Variant(true)} , new int[1]).toDispatch(); //打开word文件
wordContent = Dispatch.get(doc, "Content").toDispatch(); // 取得word文件的内容
}
catch(Exception e)
{
// closeWord();//此方法需要自己写
}
finally
{
closeWord();//此方法需要自己写
}
public void closeWord() //关闭文档
{
try
{
Dispatch.call(doc,"close",new Variant(false)); //false表示关闭时,不保存文档; true 关闭时保存文档
}
catch(Exception e){ }
finally
{
try
{
app.invoke("Quit", new Variant[] {}); //退出word application对象
}
catch(Exception e)
{
System.out.println("退出时出错");
}
}
}
四。以上纯属于自己用的体验,只能给大家看看,不对的地方请大家指出来,谢谢
分享到:
相关推荐
### 使用Jacob操作Word知识点总结 #### 一、Jacob简介与Word自动化操作背景 ...以上是使用Jacob操作Word的基本知识点和实现细节,通过这些内容可以帮助开发者更好地理解和运用Jacob进行Word自动化处理。
另一种是通过使用支持PDF生成的库,如iText或Apache POI,直接解析Word文档内容并重新构建为PDF格式。在这个项目中,由于提到了Jacob,很可能是采用了前一种方法,通过截图方式将Word内容转换为PDF,这要求开发者对...
转换过程通常包括解析Word文档的样式、图片和布局,并在HTML中重现它们。 5. **转换流程**: - 首先,程序通过JACOB加载Word文档。 - 然后,它遍历文档的各个部分,包括文本、段落、图片等。 - 接着,将Word的...
《深入理解Java Jacob库:解析com.jacob.jacob_1.10.jar包》 在Java编程中,有时候我们需要与Windows API进行交互,比如自动化办公文档处理、打印任务或者访问硬件设备等。这时,Java Jacob库(Java和COM Bridge)...
**Jacob库介绍** Jacob(Java和COM Bridge)是一个开源Java库,它允许Java应用程序与Microsoft Windows...在使用过程中,理解Jacob的工作原理并合理配置环境,可以极大地提升Java应用在Windows平台上的功能和灵活性。
本文将详细解析"jacob1.18"和"jacob1.19"这两个版本的特性、使用方法以及它们在Windows环境下的应用。 首先,我们来看"jacob1.18"版本。此版本是Jacob的一个较早发行版,它包含了一个名为"jacob.jar"的Java类库,这...
Jacob是Java和COM之间的一个桥梁库...以上是对"Jacob1.9.zip"压缩包及其内容的详细解析,包括Jacob库的基本概念、使用方法以及可能的应用场景。如果你打算在Java项目中使用COM组件,理解并熟练掌握Jacob是非常有用的。
描述中提到“解析word 封装好了的接口 直接调用就ok”,这表明Jacob提供了一套封装好的API,使得Java开发者能够方便地操作Word文档,而无需深入理解COM接口的复杂性。通过Jacob,你可以创建、打开、编辑、保存Word...
对于描述中提到的“能够实现word文档从xml格式转化为docx格式”,这意味着Jacob提供了解析XML并将其转换为Microsoft Word的docx格式的能力。这是因为Word文档在.docx格式下实际上是基于ZIP的包装器,内含XML文件,...
在IT行业中,尤其是在文档处理和自动化领域...但根据标题和描述,我们可以推断这是一个关于如何使用Jacob库解析Word文档目录和段落的实例,涵盖了如何获取标题、处理段落文本以及如何扩展来处理表格和图片的基础知识。
本文将围绕JACOB的源码解析、使用方法以及实际应用案例展开详细讨论。 一、JACOB源码解析 JACOB的核心在于它的JNI(Java Native Interface)实现,通过JNI,Java代码能够与本地的COM对象进行通信。源码中,我们...
《Jacob库:深入解析与应用》 Jacob库,全称为Java COM Bridge,是Java与COM组件之间通信的一个重要桥梁。这个库使得Java开发者能够利用Windows平台上的COM对象,实现跨语言交互,极大地拓宽了Java在Windows环境下...
**Jacob-1.18源码解析** Jacob(Java-COM Bridge)是一个开源项目,它为Java应用程序提供了与Microsoft COM(Component Object Model)组件交互的能力。这个库使得开发者能够在Java程序中调用COM对象,执行那些只能...
**Jacob API 源码详解** Jacob(Java COm Bridge)是一个开源的Java库,它提供了与...通过深入理解Jacob的源码,开发者可以更好地控制Office应用,实现复杂的文档处理任务,同时也能了解Java与本地系统交互的原理。
《Java解析Word——深入理解JACOB库》 在Java编程中,处理Microsoft Office文档,尤其是Word文档,是一项常见的需求。然而,Java本身并不直接支持与Office应用进行交互,这时就需要借助第三方库来实现。JACOB(Java...
源码的提供意味着我们可以深入理解转换的实现细节,包括但不限于文件的读取、内容解析、格式转换以及生成HTML的逻辑。 **JACOB库的核心功能:** 1. **COM接口**:JACOB使用Java Native Interface (JNI) 实现了对COM...
- 使用Apache POI库可以解析Word文档的XML内容,识别出各个标题段落及其级别。例如,使用`XWPFDocument`类读取DOCX文件,然后遍历`XWPFParagraph`对象,检查其样式ID来确定是否为目录项。 - 生成HTML树目录的过程...
《深入解析jacob-1.18-x64.dll文件及其在Java中的应用》 jacob-1.18-x64.dll文件是Jacob库的一个重要组成部分,它为Java应用程序提供了一个桥梁,使得Java能够与Microsoft Windows平台上的本地DLL(动态链接库)...
《深入解析Jacob与Jacobgen:Java与COM交互的利器》 在IT行业中,尤其是在Windows平台上的应用程序开发中,有时我们需要将Java程序与COM组件进行交互,此时 Jacob库和Jacobgen工具就显得尤为重要。这两个工具是Java...
在Word转PDF的过程中,可能需要使用Dom4j来解析Word文档中的XML结构,以便理解和处理文档的样式、布局等信息。 5. **标签:“word转p 解决pdf显 pdf变宽显”**: 这个标签表明了转换过程中可能会遇到的问题,即...