咔片PPT · AI自动生成演示文稿,模板丰富、排版精美 讯飞智文 · 一键生成PPT和Word,高效应对学习与办公

内容导航:


一、怎么在网页中打开word文档用代码实现


将Word转Html的原理是这样的:
1、客户上传Word文档到服务器
2、服务器调用OpenOffice程序打开上传的Word文档
3、OpenOffice将Word文档另存为Html格式
4、Over
至此可见,这要求服务器端安装OpenOffice软件,其实也可以是MS Office,不过OpenOffice的优势是跨平台,你懂的。恩,说明一下,本文的测试基于 MS Win7 Ultimate X64 系统。
下面就是规规矩矩的实现。
1、下载OpenOffice,
2、下载Jodconverter 这是一个开启OpenOffice进行格式转化的第三方jar包。
3、泡杯热茶,等待下载。

4、安装OpenOffice,安装结束后,调用cmd,启动OpenOffice的一项服务:C:Program Files (x86)OpenOffice.org 3program>soffice -headless -accept="socket,port=8100;urp;"

5、打开eclipse
6、喝杯热茶,等待eclipse打开。
7、新建eclipse项目,导入Jodconverter/lib 下得jar包。

* commons-io
* jodconverter
* juh
* jurt
* ridl
* slf4j-api
* slf4j-jdk14
* unoil
* xstream

8、Coding...

查看代码

package com.mzule.doc2html.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ConnectException;
import java.util.Date;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

import com.artofsolving.jodconverter.DocumentConverter;
import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;

/**
* 将Word文档转换成html字符串的工具类
*
* @author MZULE
*
*/
public class Doc2Html {

public static void main(String[] args) {
System.out
.println(toHtmlString(new File("C:/test/test.doc"), "C:/test"));
}

/**
* 将word文档转换成html文档
*
* @param docFile
* 需要转换的word文档
* @param filepath
* 转换之后html的存放路径
* @return 转换之后的html文件
*/
public static File convert(File docFile, String filepath) {
// 创建保存html的文件
File htmlFile = new File(filepath + "/" + new Date().getTime()
+ ".html");
// 创建Openoffice连接
OpenOfficeConnection con = new SocketOpenOfficeConnection(8100);
try {
// 连接
con.connect();
} catch (ConnectException e) {
System.out.println("获取OpenOffice连接失败...");
e.printStackTrace();
}
// 创建转换器
DocumentConverter converter = new OpenOfficeDocumentConverter(con);
// 转换文档问html
converter.convert(docFile, htmlFile);
// 关闭openoffice连接
con.disconnect();
return htmlFile;
}

/**
* 将word转换成html文件,并且获取html文件代码。
*
* @param docFile
* 需要转换的文档
* @param filepath
* 文档中图片的保存位置
* @return 转换成功的html代码
*/
public static String toHtmlString(File docFile, String filepath) {
// 转换word文档
File htmlFile = convert(docFile, filepath);
// 获取html文件流
StringBuffer htmlSb = new StringBuffer();
try {
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(htmlFile)));
while (br.ready()) {
htmlSb.append(br.readLine());
}
br.close();
// 删除临时文件
htmlFile.delete();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// HTML文件字符串
String htmlStr = htmlSb.toString();
// 返回经过清洁的html文本
return clearFormat(htmlStr, filepath);
}

/**
* 清除一些不需要的html标记
*
* @param htmlStr
* 带有复杂html标记的html语句
* @return 去除了不需要html标记的语句
*/
protected static String clearFormat(String htmlStr, String docImgPath) {
// 获取body内容的正则
String bodyReg = "";
Pattern bodyPattern = Pattern.compile(bodyReg);
Matcher bodyMatcher = bodyPattern.matcher(htmlStr);
if (bodyMatcher.find()) {
// 获取BODY内容,并转化BODY标签为DIV
htmlStr = bodyMatcher.group().replaceFirst("<body", " .replaceAll("", "");
}
// 调整图片地址
htmlStr = htmlStr.replaceAll(" + "/");
// 把转换成保留样式
// content = content.replaceAll("(

]*>.*?)(<\/P>)",
// "");
// 把转换成并删除样式
htmlStr = htmlStr.replaceAll("(

]*)(>.*?)(<\/P>)", "

");
// 删除不需要的标签
htmlStr = htmlStr
.replaceAll(
"<[/]?(font|FONT|span|SPAN|xml|XML|del|DEL|ins|INS|meta|META|[ovwxpOVWXP]:\w+)[^>]*?>",
"");
// 删除不需要的属性
htmlStr = htmlStr
.replaceAll(
"<([^>]*)(?:lang|LANG|class|CLASS|style|STYLE|size|SIZE|face|FACE|[ovwxpOVWXP]:\w+)=(?:'[^']*'|""[^""]*""|[^>]+)([^>]*)>",
"<$1$2>");
return htmlStr;
}

}


二、如何在网页中打开word或pdf


由Adobe公司制定的PDF文档格式已经成为事实上的电子文档标准,因为这种文档不容易被阅读者修改,所以被大量地应用在电子书籍和产品说明文档上。

Adobe
Reader是Adobe公司开发的免费的PDF文档阅读器,制作PDF文档需要该公司另一款商业软件Adobe
Acrobat。
一、用虚拟打印方式制作PDF文档

安装Adobe
Acrobat以后,在“开始”→“设置”→“打印机和传真”里会增加一个名为“Adobe
PDF”的虚拟打印机,这个虚拟打印机和其它打印机一样可以用来在Word、Excel等所有能够打印的应用软件里进行打印,不一样的是,用虚拟打印机不会打印到纸上,而是将文档“打印”到PDF格式的文件里。

以Word为例,制作PDF文档的方法如下,先在Word中编辑文档,编辑好了以后,操作菜单“文件”→“打印”,在打印对话框里选择“Adobe
PDF”虚拟打印机,点击“确定”进行虚拟打印,虚拟打印机就将Word文档转换成PDF文档并自动显示到屏幕上,最后要记得将PDF文档进行存盘保存。

显然虚拟打印机不适用于将已有的纸质文件扫描成PDF文档的情况。二、在Adobe
Acrobat环境制作PDF文档

运行Adobe
Acrobat,点击工具“创建PDF”,弹出的菜单上有“从文件”、“从多个文件”、“从网页”、“从扫描仪”等选项。
1.
点击了“从文件”,并选择了要转换成PDF文档的文件后,Adobe
Acrobat就会调用相应的应用程序打开该文件,并将它转换成PDF文档。该选项适合将单独一个源文档转换成PDF文档。

2.
如果选择了“从多个文件”,就会弹出“合并文件”对话框,在这里可以添加多个源文件,也可以添加包含一批源文件的文件夹,你还能够调整这些文件的排列次序。这些源文件可以是不同格式的文件,比方其中有Woed文档,也有Excel文档,甚至可以是PDF文档。要注意的是,计算机上需要安装有这些源文档格式相应的应用软件。

点击“下一步”之后又弹出了第二个对话框,在这个对话框里有“合并文件到单个PDF”和“组合文件到PDF包”两种选择。“合并文件到单个PDF”指的是将这些文件合并转换成一个PDF文档,“组合文件到PDF包”指的是每个文件各自转换成一个PDF文档并包装在一起。通常选择“合并文件到单个PDF”。点击“创建”,Adobe
Acrobat就自动地将这些文件转换并且合并成一个PDF文档。
3.
如果要将纸质图书扫描成PDF文档就应该选择“从扫描仪”。选择后弹出“Acrebat扫描”对话框,在这里要选择扫描形成的文档是新存一个文件还是添加在已有的PDF文档的末尾。点击“扫描”,在弹出的“另存扫描文件为”
对话框里填写保存的文件名并点击“保存”,或者在弹出的“选择文件”对话框里选择好文件并点击“选择”,Adobe
Acrobat就会调出扫描程序进行扫描。

一页纸质图书扫描好了以后,Adobe
Acrobat会弹出一个对话框,询问你是接着扫描还是结束扫描,如此周而复始,直到将整本书籍扫描成PDF文档。

Adobe
Acrobat的功能远远不止这些,它还可以在已有的PDF文档里插入新的页面,也可以从中提取某个页面,调整页面的顺序,给PDF文档添加页码或水印,还可以对PDF文档进行加密,限制复制或打印等等。三、其它PDF文档制作工具

Adobe
Acrobat的功能虽然强大,只可惜它是商业软件。

网上还有许多免费的制作工具可供使用,如PDFCreator、PrimoPDF、Go2PDF、CutePDF
Writer等,它们都是虚拟打印机,安装以后都会在计算机上添加各自的虚拟打印机,使用的方法和Adobe
Acrobat的虚拟打印机一样,都能将其它格式的电子文档“打印”成PDF文档。


三、如何可以在IE浏览器中打开WORD文档


你可以试试将下列代码保存为.reg文件,双击运行。
如果嫌麻烦可以用support中的自动化解决方案:
http://support.microsoft.com/kb/982995/zh-cn
或者将下列代码保存为.reg文件,双击此.reg文件
Windows
Registry
Editor
Version
5.00
[HKEY_LOCAL_MACHINESOFTWAREClassesWord.Document.8]
"BrowserFlags"=dword:80000024
[HKEY_LOCAL_MACHINESOFTWAREClassesWord.RTF.8]
"BrowserFlags"=dword:80000024
[HKEY_LOCAL_MACHINESOFTWAREClassesWord.Document.12]
"BrowserFlags"=dword:80000024
[HKEY_LOCAL_MACHINESOFTWAREClassesWord.DocumentMacroEnabled.12]
"BrowserFlags"=dword:80000024
[HKEY_LOCAL_MACHINESOFTWAREClassesExcel.Sheet.8]
"BrowserFlags"=dword:80000A00
[HKEY_LOCAL_MACHINESOFTWAREClassesExcel.Sheet.12]
"BrowserFlags"=dword:80000A00
[HKEY_LOCAL_MACHINESOFTWAREClassesExcel.SheetMacroEnabled.12]
"BrowserFlags"=dword:80000A00
[HKEY_LOCAL_MACHINESOFTWAREClassesExcel.SheetBinaryMacroEnabled.12]
"BrowserFlags"=dword:80000A00
[HKEY_LOCAL_MACHINESOFTWAREClassesPowerPoint.Show.8]
"BrowserFlags"=dword:800000A0
[HKEY_LOCAL_MACHINESOFTWAREClassesPowerPoint.Show.12]
"BrowserFlags"=dword:800000A0
[HKEY_LOCAL_MACHINESOFTWAREClassesPowerPoint.ShowMacroEnabled.12]
"BrowserFlags"=dword:800000A0
[HKEY_LOCAL_MACHINESOFTWAREClassesPowerPoint.SlideShow.8]
"BrowserFlags"=dword:800000A0
[HKEY_LOCAL_MACHINESOFTWAREClassesPowerPoint.SlideShow.12]
"BrowserFlags"=dword:800000A0
[HKEY_LOCAL_MACHINESOFTWAREClassesPowerPoint.SlideShowMacroEnabled.12]
"BrowserFlags"=dword:800000A0