社区
Web 开发
帖子详情
接手的第一个小项目,请教各位达人。。。
JsonJu
2011-11-11 10:26:00
刚从学校出来工作,现在头儿给我分配一个任务,大概是这样的:
可以在web页面生成word文档,上传到数据库
然后还可以从数据库读取word文档生成html在web页面上显示
用Java或PHP实现
越详细越好,如果有人愿意教我感激不尽
可能对于大家不算什么,但对于我还是蛮困难的,第一个小项目力争做好
没多少分,但已经是我全部的家当了
...全文
351
19
打赏
收藏
接手的第一个小项目,请教各位达人。。。
刚从学校出来工作,现在头儿给我分配一个任务,大概是这样的: 可以在web页面生成word文档,上传到数据库 然后还可以从数据库读取word文档生成html在web页面上显示 用Java或PHP实现 越详细越好,如果有人愿意教我感激不尽 可能对于大家不算什么,但对于我还是蛮困难的,第一个小项目力争做好 没多少分,但已经是我全部的家当了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
19 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
owo_lee
2011-11-14
打赏
举报
回复
过几天再做做!
JsonJu
2011-11-11
打赏
举报
回复
[Quote=引用 3 楼 tianshi1017 的回复:]
引用楼主 feeling450 的回复:
刚从学校出来工作,现在头儿给我分配一个任务,大概是这样的:
可以在web页面生成word文档,上传到数据库
然后还可以从数据库读取word文档生成html在web页面上显示
用Java或PHP实现
越详细越好,如果有人愿意教我感激不尽
可能对于大家不算什么,但对于我还是蛮困难的,第一个小项目力争做好
没多少分,但已经是我全部的家当了
……
[/Quote]
好吧,我再说清楚一点
我们头是这样跟我们说的,想在web页面生成类似word的编辑页面,生成word上传到数据库,不管用什么方式上传,只要别人在web页面显示上传的word文档就可以了(类似于百度文库形式的)
我嘞个去
2011-11-11
打赏
举报
回复
1,web页面生成word文档: 用Itext插件吧 现成的 直接用 如果不会用 去网上看个例子 照猫画虎总会吧
2,上传到数据库: 有个疑问,是将word文档中的数据保存到数据库,还是将整个文档上传到数据库?
如果是前者,那把数据读出来,直接用个insert 语句将数据插入 数据库就行 如果是后者 用个SimpleUpLoad插件吧 同上!
3,从数据库读取word文档生成html在web页面上显示 将数据读出来 select 显示到页面上 应该不难吧~
good luck~
tianshi1017
2011-11-11
打赏
举报
回复
[Quote=引用楼主 feeling450 的回复:]
刚从学校出来工作,现在头儿给我分配一个任务,大概是这样的:
可以在web页面生成word文档,上传到数据库
然后还可以从数据库读取word文档生成html在web页面上显示
用Java或PHP实现
越详细越好,如果有人愿意教我感激不尽
可能对于大家不算什么,但对于我还是蛮困难的,第一个小项目力争做好
没多少分,但已经是我全部的家当了
[/Quote]
需求不太明确:
是将 web页面数据导出为word存放起来么,还是将什么内容变为word文档,整个web页面,含不含什么数据等等?
是将存放起来的word文档上传,还是????
读取是什么意思?读取文档生成一个新的html页面存放在某个地方,然后再手动打开该html文档,还是怎么滴???
楼主多想想需求是啥样的,然后在描述出来吧,要不然太笼统了
JsonJu
2011-11-11
打赏
举报
回复
还有人吗!!
难道都去过节了吗
help help help
wanglun_wl
2011-11-11
打赏
举报
回复
不知道如何实现,支持楼主
liweilance
2011-11-11
打赏
举报
回复
12楼说的很详细了
你可以这样理解
首先读取word文件
FileInputStream is = new FileInputStream(file);
然后用到org.apache.poi.hslf.usermodel.SlideShow;这个jar包
就是把word转换到一个对象里面,这时候你可以做的操作时把word里面的东西保存到某处
比如word里面有一个图片,你可以把图片放在你想要的路径下重新命名,
然后把这个路径保存到db中,html显示的时候去db取路径信息显示就可以了
思路有了实现就不难了吧
tianshi1017
2011-11-11
打赏
举报
回复
流程很简单:
上传文件-------将上传的文件转换为swf格式的文件,使用flexpager对这个swf格式的文件进行播放。
当然,实现的方式应该有很多,我知道也只是其中的一种。
tianshi1017
2011-11-11
打赏
举报
回复
贴了这些代码估计也没太大的用,
搜搜上传文件,搜搜pfdbox,搜搜flexpager
估计看过这些后就差不多了
tianshi1017
2011-11-11
打赏
举报
回复
公司封QQ,
给你贴一部分代码吧
使用的插件是:flexpaper
1.上传pdf文档,并转换为swf格式的(转换为了swf格式的在查看的时候才可以直接类似于豆丁啊,百度文库之类的播放)
private String finishAttachment(Attachment attachment,
Institution institution){
String info = "";
File[] files = attachment.getFile();
String path = ServletActionContext.getServletContext().getRealPath(
"data/regulations");
File desc = new File(path);
if (!desc.exists()) {
desc.mkdir();
}
for (int i = 0; i < files.length; i++) {
File file = files[i];
long now = System.currentTimeMillis();
String fileName = attachment.getFileFileName()[i];
path += File.separator + now + "_" + fileName;
institution.setUrl(now + "_" + fileName);
saveFile(file, path);
try {
PDF2SWFUtil.pdf2swf(path, Const.EXE_PATH);
} catch (IOException e) {
e.printStackTrace();
}
}
return info;
}
2.工具类:
package com.eimone.institution.util;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
public class PDF2SWFUtil {
/**
* 利用SWFTools工具将pdf转换成swf,转换完后的swf文件与pdf同名
*
* @author iori
* @param fileDir
* PDF文件存放路径(包括文件名)
* @param exePath
* 转换器安装路径
* @throws IOException
*/
public static synchronized void pdf2swf(String fileDir, String exePath)
throws IOException {
// 文件路径
String filePath = fileDir.substring(0, fileDir.lastIndexOf(File.separator));
// 文件名,不带后缀
String fileName = fileDir.substring((filePath.length() + 1), fileDir
.lastIndexOf("."));
String fileNewName = fileName.substring(0, fileName.indexOf("_"));
Process pro = null;
if (isWindowsSystem()) {
// 如果是windows系统
// 命令行命令
String cmd = exePath + " \"" + fileDir + "\" -o \"" + filePath
+ File.separator + fileNewName + ".swf\"" + " -T 9";
// Runtime执行后返回创建的进程对象
pro = Runtime.getRuntime().exec(cmd);
} else {
// 如果是linux系统,路径不能有空格,而且一定不能用双引号,否则无法创建进程
String[] cmd = new String[3];
cmd[0] = exePath;
cmd[1] = fileDir;
cmd[2] = filePath + File.separator + fileNewName + ".swf";
// Runtime执行后返回创建的进程对象
pro = Runtime.getRuntime().exec(cmd);
}
// 非要读取一遍cmd的输出,要不不会flush生成文件(多线程)
new DoOutput(pro.getInputStream()).start();
new DoOutput(pro.getErrorStream()).start();
try {
// 调用waitFor方法,是为了阻塞当前进程,直到cmd执行完
pro.waitFor();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
/**
* 判断是否是windows操作系统
*
* @author iori
* @return
*/
private static boolean isWindowsSystem() {
String p = System.getProperty("os.name");
return p.toLowerCase().indexOf("windows") >= 0 ? true : false;
}
/**
* 多线程内部类 读取转换时cmd进程的标准输出流和错误输出流,这样做是因为如果不读取流,进程将死锁
*
* @author iori
*/
private static class DoOutput extends Thread {
public InputStream is;
// 构造方法
public DoOutput(InputStream is) {
this.is = is;
}
public void run() {
BufferedReader br = new BufferedReader(new InputStreamReader(
this.is));
String str = null;
try {
// 这里并没有对流的内容进行处理,只是读了一遍
while ((str = br.readLine()) != null)
;
} catch (IOException e) {
e.printStackTrace();
} finally {
if (br != null) {
try {
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
}
/**
* 测试main方法
*
* @param args
*/
public static void main(String[] args) {
// 转换器安装路径
String exePath = "C:\\Program Files\\SWFTools\\pdf2swf.exe";
try {
PDF2SWFUtil.pdf2swf("D:\\Angelo\\操作指南.pdf", exePath);
} catch (IOException e) {
System.err.println("转换出错!");
e.printStackTrace();
}
}
}
3.点击查看:
action中获得转换后的该swf文件的名称以及这个文件对象传递到jsp页面
public String readInstitution() {
Institution ins = institutionService.getInstitution(institution.getId());
request = (Map)ActionContext.getContext().get("request");
String path = ins.getUrl();
String swfPath = path.substring(0, path.indexOf("_")) + ".swf";
request.put("institution", ins);
request.put("swfPath", swfPath);
return "readInstitution";
}
4.显示该swf的jsp页面
<script type="text/javascript" src="<%=basePath%>flexpaper/js/swfobject/swfobject.js"></script>
<script type="text/javascript" src="<%=basePath%>flexpaper/js/flexpaper_flash.js"></script>
<script type="text/javascript">
var swfVersionStr = "10.0.0";
var xiSwfUrlStr = "playerProductInstall.swf";
var flashvars = {
SwfFile : escape("<%=basePath%>data/regulations/${swfPath}"),
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: "zh_CN"
};
var params = {
}
params.quality = "high";
params.bgcolor = "#ffffff";
params.allowscriptaccess = "sameDomain";
params.allowfullscreen = "true";
var attributes = {};
attributes.id = "FlexPaperViewer";
attributes.name = "FlexPaperViewer";
swfobject.embedSWF(
"<%=basePath%>flexpaper/FlexPaperViewer.swf", "flashContent",
$("#header").width(), "520",
swfVersionStr, xiSwfUrlStr,
flashvars, params, attributes);
swfobject.createCSS("#flashContent", "display:block;text-align:left;");
</script>
<style type="text/css">
.aa{-moz-user-select:none;}
textarea
{
width:100%;
height:100%;
}
#flashContent { display:none; }
</style>
<script type="text/javascript">
$().ready(function(){
document.oncontextmenu=function(){return false;}
document.onselectstart=function(){return false;}
});
</script>
</head>
<div id="flashContent">
<p>
To view this page ensure that Adobe Flash Player version
10.0.0 or greater is installed.
</p>
<script type="text/javascript">
var pageHost = ((document.location.protocol == "https:") ? "https://" : "http://");
document.write("<a href='http://www.adobe.com/go/getflashplayer'><img src='"
+ pageHost + "www.adobe.com/images/shared/download_buttons/get_flash_player.gif' alt='Get Adobe Flash player' /></a>" );
</script>
</div>
JsonJu
2011-11-11
打赏
举报
回复
[Quote=引用 6 楼 tianshi1017 的回复:]
晕倒,楼主
类似于百度文库的,你确定???
那不就只有一个文件上传功能,和文件播放功能以及文档下载功能
文件上传,网上一大堆的代码,COPY着用,文件播放,同样用SWF那啥的插件很好搞定,下载更不用说了
但是
怎么会有word编辑器呢???
[/Quote]
能不能说的详细一点,我是菜鸟,或者留个Q什么的
zhu6100441
2011-11-11
打赏
举报
回复
类似word的网页文本编辑器不算小项目了,孩子,你们头真器重你,加油。
如果只是想在web页面编辑文本然后上传服务器存数据库,可以试试文本编辑的插件。我现在的项目使用的kindeditor,感觉。。。没什么感觉,不是我做这块,不过你可以试试。
JsonJu
2011-11-11
打赏
举报
回复
[Quote=引用 7 楼 yanmushi 的回复:]
编辑器,找个FCK文本编辑器就差不多吧?
跟CSDN这个回复的小工具似的,可以调整自己写的内容~
[/Quote]
不是这个,感谢你的回复
slio2008
2011-11-11
打赏
举报
回复
word在网页里打开-编辑-保存等操作 有dsoframer.ocx
我只用过这个 不知道是否是最优方法 他只能用于IE 是一个VC做的active控件 网上有源码和控件下载。
下载这个控件 用Regsvr32.exe注册后 在页面里 就能使用了 具体使用方法 你google一下 JSP+dsoframer.ocx
艳沐石
2011-11-11
打赏
举报
回复
编辑器,找个FCK文本编辑器就差不多吧?
跟CSDN这个回复的小工具似的,可以调整自己写的内容~
tianshi1017
2011-11-11
打赏
举报
回复
晕倒,楼主
类似于百度文库的,你确定???
那不就只有一个文件上传功能,和文件播放功能以及文档下载功能
文件上传,网上一大堆的代码,COPY着用,文件播放,同样用SWF那啥的插件很好搞定,下载更不用说了
但是
怎么会有word编辑器呢???
从0开始
项目
经理之路
想当
项目
经理却不知道该从什么地方着手?新
接手
的
项目
是已经做了一半,存在各种问题的“背锅”
项目
?新手+遍地是坑 的局该怎么破?本课程为你分享怎样才能当上
项目
经理以及新任
项目
经理破局的具体步骤和方法。
程序媛从找工作到一年的你,怎么样了?
---毕业一年,聊聊自己--- “除了野心,还有时间” 去年的现在,你我还在为最后一次考试准备着。... 一年前觉得一年后的自己,应当是一个职场小
达人
,就像电视里演的职业女性一样,每天带着精致的妆容去上班,...
代码写得好,绩效却不高?程序员的沟通和思考有多重要?
导读编程
达人
们在代码的舒适区里沉浸久了,会以为除了代码其他都不重要,事实上代码之外的事情,占据我们很大一部分时间,却又容易被忽略,因而高效的沟通协作、独立的思考精神也变得难能可贵。本文是《如何成为一名...
C语言/C++初学 问题
本贴主要分析概念原理和解决方案,不讨论具体程序语法,立足于让初学者能运行起
第一个
程序。其他事宜如解释入门语法等本文基本不涉及。 本文依照 创作公用约定(署名-非派生作品-非商业用途) 发布。作者(即本人)...
编程及C/C++初学者 FAQ
本贴主要分析概念原理和解决方案,不讨论具体程序语法,立足于让初学者能运行起
第一个
程序。其他事宜如解释入门语法等本文基本不涉及。 本文依照 创作公用约定(署名-非派生作品-非商业用途) 发布。作者(即本人)...
Web 开发
81,094
社区成员
341,711
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章