⑴ javaWeb开发中怎么让文件可以在线预览,比如预览doc,txt,ceb文件。
一般下载时能在线打开,我以前做过pdf的,貌似是本地软件支持的,即在线打开只是调用本地的软件。如pdf阅读器类。
如果说能直接点击文件查看的,以前我用过webOffice的控件。就叫点聚webOffice,可以在线打开。
⑵ 用java做一个word和excel的在线预览功能,跪求代码
前提:本人的系统为Ubuntu13.1064位系统。本篇是我在配置好环境后一段时间写的,所以操作上可能会有也错误,因此仅供参考。 搜索在线显示office和pdf,最常见的方法就是把都转为swf,然后通过FlexPaper显示。这个方法有缺点,FlexPaper不支持所有浏览器(我只能在chrome中使用,firefox要进行设置) 我用的系统是Ubuntu13.1064位 一下所提到的软件,我都会在附件中分享 一、openoffice安装 下载附件中的Apache_OpenOffice_incubating_3.4.1_linux_x86-64_install-rpm_zh-CN,解压,安装RPMS里面的所有deb包,然后按炸ungRPMS/desktop-integration里面的openoffice.org3.4-redhat-menus_3.4-9594_all.deb。假如从网上下载下来的openoffice里面全市rmp包的话需要自己通过alien转换成deb(附件中的是我自己转换过的) 安装完成后就可以运行了 soffice--headless--accept="socket,host=127.0.0.1,port=8100;urp;"--nofirststartwizard 网上提示使用soffice--headless--accept="socket,host=127.0.0.1,port=8100;urp;"--nofirststartwizard&的是后台运行 运行以后可以通过netstat-ano|grep8100查看时候运行,上面的命令是在8100运行oppenoffice 网上还说要安装OpenOfficeSDK3.3这个东东,我没有装也可以转换 二、offie转pdf 下载附件中的jodconverter-2.2.2,通过命令 java-jarjodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jarXXX.docxXXX.pdf 转换office为pdf 三、安装freetype-2.4.6和jpeg-8c 不安装这两个的话是没有办法编译出swftools中的pdf2swf的 安装方法是进入目录,然后 ./configure make makeinstall 四、添加字体 下载附件中的chinese-simplified(里面已经添加了部分字体),解压,放到/usr/local/share/xpdf/中,如果没有xpdf文件夹就新建一个。 五、安装swftools 下载附件中的swftools-2013-04-09-1007,同样 ./configure make makeinstall 就可以了,运行 psf2swf 如果help提示的话表示安装成功 运行命令 pdf2swf-oXXX.swf-T-z-t-fXXX.pdf-slanguagedir=/usr/local/share/xpdf/chinese-simplified-sflashversion=9 可以把pdf转换成swf了。 至此完毕 所有附件附件:
⑶ flexpaper在线预览问题java linux office文件在线预览的时候出现如图的问题,不能预览,求大神帮忙
swftools-0.9.1.exe 和 FlexPaper_1.4.5_flash.zip,工具网上下载。
二、PDF转换SWF文件核心类:
public class DocConverter {
private static final int environment = 1;// 环境1:windows,2:linux(涉及pdf2swf路径问题)
private String fileString;
private String outputPath = "";// 输入路径,如果不设置就输出在默认位置
private String fileName;
private File pdfFile;
private File swfFile;
private File docFile;
public DocConverter(String fileString) {
ini(fileString);
}
/*
* 重新设置 file @param fileString
*/
public void setFile(String fileString) {
ini(fileString);
}
/*
* 初始化 @param fileString
*/
private void ini(String fileString) {
this.fileString = fileString;
fileName = fileString.substring(0, fileString.lastIndexOf("."));
docFile = new File(fileString);
pdfFile = new File(fileName + ".pdf");
swfFile = new File(fileName + ".swf");
}
/*
* 转为PDF @param file
*/
/*
* 转换成swf
*/
private void pdf2swf() throws Exception {
Runtime r = Runtime.getRuntime();
if (!swfFile.exists()) {
if (pdfFile.exists()) {
if (environment == 1)// windows环境处理
{
try {
// 这里根据SWFTools安装路径需要进行相应更改
Process p = r.exec("G:/Program Files/SWFTools/pdf2swf.exe " + pdfFile.getPath() + " -o " + swfFile.getPath() + " -T 9");
System.out.print(loadStream(p.getInputStream()));
System.err.print(loadStream(p.getErrorStream()));
System.out.print(loadStream(p.getInputStream()));
System.err.println("****swf转换成功,文件输出:" + swfFile.getPath() + "****");
if (pdfFile.exists()) {
// pdfFile.delete();
}
} catch (Exception e) {
e.printStackTrace();
throw e;
}
} else if (environment == 2)// linux环境处理
{
try {
Process p = r.exec("pdf2swf " + pdfFile.getPath() + " -o " + swfFile.getPath() + " -T 9");
System.out.print(loadStream(p.getInputStream()));
System.err.print(loadStream(p.getErrorStream()));
System.err.println("****swf转换成功,文件输出:" + swfFile.getPath() + "****");
if (pdfFile.exists()) {
pdfFile.delete();
}
} catch (Exception e) {
e.printStackTrace();
throw e;
}
}
} else {
System.out.println("****pdf不存在,无法转换****");
}
} else {
System.out.println("****swf已存在不需要转换****");
}
}
static String loadStream(InputStream in) throws IOException {
int ptr = 0;
//把InputStream字节流 替换为BufferedReader字符流 2013-07-17修改
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder buffer = new StringBuilder();
while ((ptr = reader.read()) != -1) {
buffer.append((char) ptr);
}
return buffer.toString();
}
/*
* 转换主方法
*/
public boolean conver() {
if (swfFile.exists()) {
System.out.println("****swf转换器开始工作,该文件已经转换为swf****");
return true;
}
if (environment == 1) {
System.out.println("****swf转换器开始工作,当前设置运行环境windows****");
} else {
System.out.println("****swf转换器开始工作,当前设置运行环境linux****");
}
try {
// doc2pdf();
pdf2swf();
} catch (Exception e) {
// TODO: Auto-generated catch block
e.printStackTrace();
return false;
}
if (swfFile.exists()) {
return true;
} else {
return false;
}
}
/*
* 返回文件路径 @param s
*/
public String getswfPath() {
if (swfFile.exists()) {
String tempString = swfFile.getPath();
tempString = tempString.replaceAll("\\\\", "/");
return tempString;
} else {
return "";
}
}
/*
* 设置输出路径
*/
public void setOutputPath(String outputPath) {
this.outputPath = outputPath;
if (!outputPath.equals("")) {
String realName = fileName.substring(fileName.lastIndexOf("/"), fileName.lastIndexOf("."));
if (outputPath.charAt(outputPath.length()) == '/') {
swfFile = new File(outputPath + realName + ".swf");
} else {
swfFile = new File(outputPath + realName + ".swf");
}
}
}
}
三、JSP文件,注意引入的几个js文件和FlexPaperViewer.swf文件,其中FlexPaperViewer.swf和jsp文件放在同一目录即可。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
String paths=(String)request.getAttribute("swfpath");
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>te</title>
<style type="text/css" media="screen">
html, body { height:100%; }
body { margin:0; padding:0; overflow:auto; }
#flashContent { display:none; }
</style>
<script type="text/javascript" src="<%=basePath %>js/swfobject/swfobject.js"></script>
<script type="text/javascript" src="<%=basePath %>js/flexpaper_flash.js"></script>
<script type="text/javascript">
//<!-- For version detection, set to min. required Flash Player version, or 0 (or 0.0.0), for no version detection. -->
var swfVersionStr = "10.0.0";
//<!-- To use express install, set to playerProctInstall.swf, otherwise the empty string. -->
/* var xiSwfUrlStr = "playerProctInstall.swf"; */
var xiSwfUrlStr = ""; //值可以任意
var flashvars = {
SwfFile : escape("<%=basePath+paths%>"), //swf文件路径(lucene4.6和页面同一个位置)
Scale : 0.6,
ZoomTransition : "easeOut",
ZoomTime : 0.5,
ZoomInterval : 0.1,
FitPageOnLoad : false,
FitWidthOnLoad : true,
PrintEnabled : true,
FullScreenAsMaxWindow : false,
ProgressiveLoading : true,
PrintToolsVisible : true,
ViewModeToolsVisible : true,
ZoomToolsVisible : true,
FullScreenVisible : true,
NavToolsVisible : true,
CursorToolsVisible : true,
SearchToolsVisible : true,
localeChain: "en_US"
};
var params = {
}
params.quality = "high";
params.bgcolor = "#ffffff";
params.allowscriptaccess = "sameDomain";
params.allowfullscreen = "true";
var attributes = {};
attributes.id = "FlexPaperViewer";
attributes.name = "FlexPaperViewer";
swfobject.embedSWF(
"FlexPaperViewer.swf", "flashContent",
"1024", "700",
swfVersionStr, xiSwfUrlStr,
flashvars, params, attributes);
swfobject.createCSS("#flashContent", "display:block;text-align:center;");
</script>
</head>
<body>
<div style="width: 100%;height: 90%; text-align: center;">
<div id="flashContent">
</div>
</div>
</body>
</html>
⑷ java 怎么实现在线预览上传的word等文件的预览功能
可以将word先转为pdf,然后在页面中嵌一个iframe,在这个frame中直接打开这个pdf文件。
仅供参考
⑸ java中怎样实现附件在线预览
pageoffice可以在线打开word、excel文档
图片可以使用Viewer.js等开源框架
pdf可以通过swfTools将pdf文件转换成swf格式的文件然后使用FlexPaper在页面上显示
⑹ Java 如何实现打开PDF文件,并把文件显示出来;就是实现文件打开的功能。急,急....
java打开PDF需要借助其他的jar包的,如果我没记错的话,然后查看相应的API接口。应该是以流的形式进行读取,之前写过一点是往里面写数据的,生成html文然后写入PDF文件 工具有:
ItextPdf、FlyingAndItext、pd4ml 这些是将html文转换为PDF文件的,读取的话直接用bufferread读取试试(我没写过!)
⑺ Javaweb office文档在线预览怎么实现!!!
在线预览的不是office格式,而且是swf文件,
flexPaper是可以把swf放在页面上进行展示的,
1、flash 的flexpaper 将文档转换为swf格式,然后使用flash在网页中浏览,
2、使用开源的软件openoffice+pdf2htmlEx,利用openoffice的接口先将文档转换为pdf格式,然后在使用pdf2htmlEx将文档转换为html直接在网页中显示;
3、搭建一个文档预览服务器,基于office web app,也就是微软的office online。
搭建服务器步骤:
首先,需要转换server
安装IIS 7.0,打开服务器管理器,添加角色和功能,打开“添加角色和功能向导”界面,点击下一步,因为是基于本机安装,所以要选择“基于角色或者基于功能安装”,在服务器角色列表上选择“Web服务器”,点击下一步,安装完成。
其次,域控server
(1)打开服务器管理器,添加角色和功能,出现“添加角色和功能”界面,下一步,因为是基于本机安装,所以要选择“基于角色或基于功能安装”,选择添加AD域服务,同时添加所需功能,根据提示操作,下一步,等待安装完成。
(2)配置域,点击服务器管理器左侧“AD DS”,点击“升级为域控制器”,进入AD域服务器配置向导,下一步(注意:域的填写),填写密码,下一步,提示DNS无法创建,不用管,继续下一步,安装路径,默认,下一步,查看选项,默认,下一步,点击安装,安装完成,会提示注销重启。
(3)将转换服务器加入到域控服务器,修改NDS,指向域控服务器,在计算机属性中,修改计算机名称,并添加到域控服务器(如下图),确定后提示注销重启服务器,在域控服务器,管理中选择添加服务器,名称填写office web apps server的计算机名称,立即查找。然后添加到右边,确定。在域控服务器中,所有服务器显示两台服务器,并都是联机状态则表示成功。
至此,服务器安装完成。
⑻ 如何用java实现预览word,ppt文档部分内容
开源的方法是用:openoffice+swfTool +jodconverter文件预览;原理是:将word转成pdf,再转成swf文件通过falsh实现在线预览