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 ...
随机推荐
- WebGIS空间数据请求访问机制
通用的WebGIS空间数据请求访问机制如下图所示: 图1 WebGIS空间数据请求访问机制
- 联想Y50p预装win8系统改为win7
&1 修改OS Optimized Defaults 开机,按[F2]进入BIOS设置,按右方向键选择到EXIT上面,按下方向键选择OS Optimized Defaults,回车,将Win8 ...
- 20135220谈愈敏Blog6_进程的描述和创建
进程的描述和创建 谈愈敏 原创作品转载请注明出处 <Linux内核分析>MOOC课程 http://mooc.study.163.com/course/USTC-1000029000 进程 ...
- Linux10.11-10.18)学习笔记(
1Y86指令集体系结构 ISA:指令集体系结构,一个处理器支持的指令和指令的字节级编码 程序员可见的状态 Y86程序中的每条指令都会读取或修改处理器状态的某些部分,称为程序员可见状态.其中包括: 8个 ...
- valueOf和toString
有一道经典的题目: var add = function() {___}; console.log(add(3)(4)(5)); // 输出60 题目要求能无限相乘,请补充add函数. 首先很显然,a ...
- 通过爬虫代理IP快速增加博客阅读量——亲测CSDN有效!
写在前面 题目所说的并不是目的,主要是为了更详细的了解网站的反爬机制,如果真的想要提高博客的阅读量,优质的内容必不可少. 了解网站的反爬机制 一般网站从以下几个方面反爬虫: 1. 通过Headers反 ...
- inconsistent line count calculation in projection snapshot
1.现象 在vs2013中,按Ctrl + E + D格式化.cshtml代码,vs2013系统崩溃.报:inconsistent line count calculation in projecti ...
- Ubuntu 上创建常用磁盘阵列
RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失 ...
- DOM系列---DOM获取尺寸和位置
内容提纲: 1.获取元素CSS大小 2.获取元素实际大小 3.获取元素周边大小 本篇我们主要讨论一下页面中的某一个元素它的各种大小和各种位置的计算方式. 一.获取元素CSS大小 1.通过style获取 ...
- 完美实现开机启动虚拟WIFI,顺便实现目前的WP8系统使用VPN(7.1修)
众所周知,windows7系统的机器若带有无线网卡(台式机可以买一个USB无线网卡,京东目前39元,TP-Link的),可以虚拟出wifi,供手机等移动设备使用. 虚拟的WIFI的命了和软件在网上都找 ...