Java读取word文档,转换为网页
public class Test3 { /**
*
* @param path
* @param paths
* @param savepaths
*/
public static void change(String path, String paths, String savepaths) {
File d = new File(paths);
// 取得当前文件夹下所有文件和目录的列表
File lists[] = d.listFiles();
String pathss = new String("");
// 对当前目录下面所有文件进行检索
for (int i = 0; i < lists.length; i++) {
if (lists[i].isFile()) {
// 得到doc文件名
String filename = lists[i].getName();
// 定义最简文件名
String realfilename = new String(filename.substring(0,
(filename.length() - 4))); // 定义文件全名为路径加文件名
String fullsavefilename = paths + realfilename;
fullsavefilename = fullsavefilename.replace('/', '_');// /////
fullsavefilename = fullsavefilename.replace(':', '@');
// fullsavefilename = fullsavefilename.substring(47,
// fullsavefilename.length()); // 定义文件类型
String filetype = new String(""); filetype = filename.substring((filename.length() - 3),
filename.length()); if (filetype.equals("doc")) {
System.out.println("--------/n当前正在转换......");
// 打印当前目录路径
System.out.println(paths);
// 打印doc文件名
System.out.println(realfilename); // 启动word
ActiveXComponent app = new ActiveXComponent(
"Word.Application"); String docpath = paths + filename;
String txtpath = savepaths + fullsavefilename + ".htm"; // 格式化文件名
txtpath = formatname(txtpath);
// 将中文文件名改为拼音
txtpath = pinyin(path, txtpath); // 要转换的word文件
String inFile = docpath;
// txt文件
String tpFile = txtpath;
boolean flag = false; try {
// 设置word不可见
app.setProperty("Visible", new Variant(false));
Object docs = app.getProperty("Documents").toDispatch();
// 打开word文件
Object doc = Dispatch.invoke(
(Dispatch) docs,
"Open",
Dispatch.Method,
new Object[] { inFile, new Variant(false),
new Variant(true) }, new int[1])
.toDispatch();
// 作为txt格式保存到临时文件
Dispatch.invoke((Dispatch) doc, "SaveAs",
Dispatch.Method, new Object[] { tpFile,
new Variant(10) }, new int[1]);
Variant f = new Variant(false);
Dispatch.call((Dispatch) doc, "Close", f);
flag = true;
} catch (Exception e) {
e.printStackTrace();
} finally {
app.invoke("Quit", new Variant[] {});
}
System.out.println("转化完毕!/n--------");
}
} else {
pathss = paths;
// 进入下一级目录
pathss = pathss + lists[i].getName() + "//";
// 递归遍历所有目录
change(path, pathss, savepaths);
}
} } public static String formatname(String name) {
name = name.replace('、', '_');
name = name.replace(')', ')');
name = name.replace('(', '(');
return name;
} public static String pinyin(String path, String hanzi) {
File f = new File(path);
String pinyin = new String("");
pinyin = hanzi;
try {
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);
String line = new String("");
line = br.readLine();
int count = 0;
int location = 0;
while (line != null) {
while (pinyin.indexOf(line.charAt(0)) != -1) {
location = pinyin.indexOf(line.charAt(0));
pinyin = pinyin.substring(0, location)
+ line.substring(1, 2)
+ pinyin.substring(location + 1, pinyin.length());
}
line = br.readLine();
System.out.print("/b/b/b/b/b/b" + count++);
}
fr.close();
br.close();
} catch (Exception e) {
// System.err.println(e);
}
return pinyin;
} public static void main(String[] args) { String paths = new String("e://360Downloads//");
String savepaths = new String("e://360Downloads//Video//");
String path = new String("e://360Downloads//pinyin.doc"); change(path, paths, savepaths);
}
}
下载jacob.rar,解压出jacob.dll和jacob.jar
1) 把jacob.dll在 C:\Program Files\Java\jdk1.5.0_08\bin、C:\Program Files\Java\jdk1.5.0_08\jre\bin、C:\WINDOWS\system32 目录下各.放一份
2) 把jacob.jar放入 项目的lib包下,并且在“java构建路径”中也要加载此jar包。.
3) 运行项目即可编译通过.
1)这样配置后不需要再配置环境变量(如:path,classpath)了.
本文出自 “阿凡达” 博客,请务必保留此出处http://shamrock.blog.51cto.com/2079212/833580
Java读取word文档,转换为网页的更多相关文章
- [Java] Java读取Word文档
前言 最近需要做一些NLP 方面的工作,使用的是Java,在此总结一下使用Java读取Word(.doc)格式文件的方法. Apache基金会非常厉害,开源工具包POI就可以处理微软家的文档,甚至包括 ...
- java读取word文档,提取标题和内容
使用的工具为poi,需要导入的依赖如下 <dependency> <groupId>org.apache.poi</groupId> <artifactId& ...
- java中读取word文档里的内容
package com.cn.peitest.excel.word; import java.io.FileInputStream; import java.io.FileOutputStream; ...
- 使用Java生成word文档(附源码)
当我们使用Java生成word文档时,通常首先会想到iText和POI,这是因为我们习惯了使用这两种方法操作Excel,自然而然的也想使用这种生成word文档.但是当我们需要动态生成word时,通常不 ...
- 利用POI工具读取word文档并将数据存储到sqlserver数据库中
今天实现了利用POI工具读取word文档,并将数据存储到sql数据库中,代码如下: package word; import java.io.File; import java.io.FileInpu ...
- C#读取Word文档内容代码
首先要添加引用com组件:然后引用: using Word = Microsoft.Office.Interop.Word; 获取内容: /// /// 读取 word文档 返回内容 /// //// ...
- Python读取word文档(python-docx包)
最近想统计word文档中的一些信息,人工统计的话...三天三夜吧 python 不愧是万能语言,发现有一个包叫做 docx,非常好用,具体查看官方文档:https://python-docx.read ...
- C# 设置、删除、读取Word文档背景——基于Spire.Cloud.Word
Spire.Cloud.Word.Sdk提供了接口SetBackgroudColor().SetBackgroudImage().DeleteBackground().GetBackgroudColo ...
- Python读取word文档内容
1,利用python读取纯文字的word文档,读取段落和段落里的文字. 先读取段落,代码如下: 1 ''' 2 #利用python读取word文档,先读取段落 3 ''' 4 #导入所需库 5 fro ...
随机推荐
- Linux常用指令---系统负载
查看linux系统负载: http://www.lupaworld.com/article-217011-1.html在Linux系统中,uptime.top等命令都会有系统平均负载load aver ...
- [Android] emualtor-5554 offline的解决方法
现象:用adb devices命令总发现emualtor-5554 offline,在.android目录下面并没有发现这个设备,没法删除.原因:有程序占用5555端口,导致adb认为5554不能作为 ...
- typeof和instanceof简介及用法
typeof 使用方式:typeof a 或者 typeof (a) 返回一个string类型的值 顾名思义,这货是检查类型的,输出的是一个string值,直接看下面的检测代码: console.lo ...
- nodejs初学————安装篇(iis8.5+windows8.1)
nodejs很久前就想玩玩,不过一直没时间,昨晚花了4个小时来捣鼓到iis上架设成功了,废话不说了. PS:我的系统是windows8.1 x64,所以自带iis8.5的,下载的文件也是x64的. N ...
- 分享两个你可能不知道的Java小秘密
引言 最近LZ的工作发生了重大变化,以后博文的更新速度可能会再度回温,希望猿友们可以继续关注. 近期LZ辞掉了项目经理的工作,不过并未离开公司,是转到了基础研发部做更基础的研发,为广大技术人员服务.这 ...
- Jquery-EasyUI学习~
为了回顾,简单记录下EasyUI如何使用: 先来张效果图: 这张图是从后台获取数据,然后进行展示的. 我这里利用的是EF-MVC. 先说下View视图里面的HTML代码是如何写的: @{ ViewBa ...
- 小记:Quartz StartNow() 无效
今天遇到一个问题,调度器在启动时无法立刻开始执行任务,代码如下: var trigger = TriggerBuilder.Create() .StartNow() //此处无效 .WithCronS ...
- Daily Scrum – 1/5
Meeting Minutes 开始了新的sprint: 开始准备英语版本的翻译: Progress part 组员 今日工作 Time (h) 明日计划 Time (h) Wei ...
- 自动化测试UI Test, Performance Test, Load Test 总结整理
MSDN: 测试应用程序,Test apps early and often ,Improve Code Quality 推荐书: <Visual Studio 2015高级编程> < ...
- window.parent ,window.top,window.self 详解
在应用有frameset或者iframe的页面时,parent是父窗口,top是最顶级父窗口(有的窗口中套了好几层frameset或者iframe),self是当前窗口, opener是用open方法 ...