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 ...
随机推荐
- oracle.jbo.JboException: JBO-29000: JBO-29000: Bad version number in .class file
我在本地run Page的时候报以下错误. oracle.jbo.JboException: JBO-29000: JBO-29000: Bad version number in .class fi ...
- [CareerCup] 8.6 Jigsaw Puzzle 拼图游戏
8.6 Implement a jigsaw puzzle. Design the data structures and explain an algorithm to solve the puzz ...
- 解决vs2013使用Git推送到远程仓库报错的问题
在上一篇<让PowerShell使用Git>中可以让PowerShell运行Git命令,那么就开始使用. 1.从远程仓库克隆项目 GitHub和Git.oschina都是不错的免费托管网站 ...
- LINUX下C语言编程基础
实验二 Linux下C语言编程基础 一.实验目的 1. 熟悉Linux系统下的开发环境 2. 熟悉vi的基本操作 3. 熟悉gcc编译器的基本原理 4. 熟练使用gcc编译器的常用选项 5 .熟练使用 ...
- Orchard 刨析:Logging
最近事情比较多,有预研的,有目前正在研发的,都是很需要时间的工作,所以导致这周只写了两篇Orchard系列的文章,这边不能保证后期会很频繁的更新该系列,但我会写完这整个系列,包括后面会把正在研发的东西 ...
- 记”Uri.IsWellFormedUriString”中的BUG
场景 先上逻辑代码 1: /// <summary> 2: /// 图片真实地址 3: /// </summary> 4: public string FullImagePat ...
- Linq---左外联查询
花了好半天才解决这个问题,终于在网上找到了答案,在此记录备份. 参考连接:http://bbs.csdn.net/topics/390150047 自己总结的如下: 结构就不说了,最后大家自己下源码看 ...
- Tensorflow学习笔记(一):MNIST机器学习入门
学习深度学习,首先从深度学习的入门MNIST入手.通过这个例子,了解Tensorflow的工作流程和机器学习的基本概念. 一 MNIST数据集 MNIST是入门级的计算机视觉数据集,包含了各种手写数 ...
- 我眼中的Android IDE
我作为一个Android小白,首先跟Android打交道的就是它的IDE(Integrated Development Environment,集成开发环境)了. 记得刚开始时是从图书馆借了本Andr ...
- java核心数据结构总结
JDK提供了一组主要的数据结构的实现,如List.Set.Map等常用结构,这些结构都继承自java.util.collection接口. List接口 List有三种不同的实现,ArrayList和 ...