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 ...
随机推荐
- 怎么样快速学习AngularJS?
其实AngularJS的官方网站首页的几个例子已经很好的展示了AngularJS的一些特性,下面我就从几个例子一步一步的讲解AngularJS吸引人的东西并且实际项目中是怎么使用ng的. 首先还是从第 ...
- 20145222黄亚奇《Java程序设计》实验五实验报告
20145222 <Java程序设计>实验五实验报告 实验内容 1.掌握Socket程序的编写: 2.掌握密码技术的使用: 3.设计安全传输系统. 实验步骤 本次实验我的结对编程对象是20 ...
- 数据挖掘系列(4)使用weka做关联规则挖掘
前面几篇介绍了关联规则的一些基本概念和两个基本算法,但实际在商业应用中,写算法反而比较少,理解数据,把握数据,利用工具才是重要的,前面的基础篇是对算法的理解,这篇将介绍开源利用数据挖掘工具weka进行 ...
- mvc Areas注册域常见问题一
添加Areas主要目的是区分一些不同的业务,避免不同的业务都在同一个Controllers下造成混乱,在MVC项目上右键->添加区域->我添加了HMbolie和PClient两个区域-&g ...
- 支持Ajax跨域访问ASP.NET Web Api 2(Cors)的简单示例教程演示
随着深入使用ASP.NET Web Api,我们可能会在项目中考虑将前端的业务分得更细.比如前端项目使用Angularjs的框架来做UI,而数据则由另一个Web Api 的网站项目来支撑.注意,这里是 ...
- IT男的”幸福”生活"续3
我和MM一进饭店,服务员走过,面带笑容,说:“欢迎,欢迎,两位里面坐.” ...... 谢谢大家的捧场,IT的”幸福”生活.是我的回忆录来着.真实可靠,在写法上有点小说化.可能是我一直看小说的原因吧, ...
- Android Studio配置Git及Git文件状态说明
Android Studio配置Git还是比较简单的,麻烦的是可能中间出现各种问题.如果你想了解或感兴趣,请往下看. 首先你得下载Git客户端,网址:http://git-scm.com/downlo ...
- 使用spring cloud实现分布式配置管理
<7天学会spring cloud系列>之创建配置管理服务器及实现分布式配置管理应用. 本文涉及到的项目: 开源项目:http://git.oschina.net/zhou666/spri ...
- css编写的时候注意什么
1.尽量少写div.别没事干就加一个div层. 我们尽量做到代码清晰,结构清晰. 2.css的定位,漂浮,容量,margin,padding我们用的时候尽量. 写的时候,有很多种,但是我们必须要求自己 ...
- 7、面向对象以及winform的简单运用(委托)
委托 1.概念: 委托可以看成是一个函数的“容器”,将某一具体的函数“装入”后,就可以把它当成函数一样使用.委托变量可看成是一种类型安全的函数指针,它只能接收符合其要求的函数地址. 2.定义方法:de ...