PDF/WORD/EXCEL/PPT 文档在线阅读
查资料看了2种解决方法:
1.通过办公软件dll转换,用flans去看
2.通过Aspose转换成pdf格式,在用js前台读pdf(我用的pdf.js)
今天我解决的就是WORD/EXCEL/PPT 转化成 PDF ,然后 PDF在线阅读
1.WORD/PPT/EXCEL转PPT类(很简单的)
using Aspose.Words;
using Aspose.Cells;
using Aspose.Slides; /// <summary>
/// Office2Pdf 将Office文档转化为pdf
/// </summary>
public class Office2Pdf
{
public Office2Pdf()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
/// <summary>
/// Word转换成pdf
/// </summary>
/// <param name="sourcePath">源文件路径</param>
/// <param name="targetPath">目标文件路径</param>
/// <returns>true=转换成功</returns>
public bool DOCConvertToPDF(string sourcePath, string targetPath)
{
bool result = false;
try
{
Document doc = new Document(sourcePath);
doc.Save(targetPath, Aspose.Words.SaveFormat.Pdf);
result = true;
}
catch
{
result = false;
}
finally
{
}
return result;
} /// <summary>
/// 把Excel文件转换成PDF格式文件
/// </summary>
/// <param name="sourcePath">源文件路径</param>
/// <param name="targetPath">目标文件路径</param>
/// <returns>true=转换成功</returns>
public bool XLSConvertToPDF(string sourcePath, string targetPath)
{
bool result = false; try
{
//Excel
Workbook excel = new Workbook(sourcePath);
excel.Save(targetPath, Aspose.Cells.SaveFormat.Pdf);
result = true;
}
catch
{
result = false;
}
finally
{ }
return result;
}
///<summary>
/// 把PowerPoint文件转换成PDF格式文件
///</summary>
///<param name="sourcePath">源文件路径</param>
///<param name="targetPath">目标文件路径</param>
///<returns>true=转换成功</returns>
public bool PPTConvertToPDF(string sourcePath, string targetPath)
{
bool result;
try
{
//PPT
Presentation ppt = new Presentation(sourcePath);
ppt.Save(targetPath, Aspose.Slides.Export.SaveFormat.Pdf);
result = true;
}
catch
{
result = false;
}
finally
{
}
return result;
}
}
2.做一个上传页面(核心代码)
private string upFile()
{
int iTotal = Request.Files.Count; if (iTotal == )
{
_msg = "没有数据";
}
else
{
HttpPostedFile file = Request.Files[];
string path = "file\\" + DateTime.Now.ToString("yyyy-MM-dd") + "\\";
string viewPath = "PDF\\web\\" + path;
string ArticlePath = System.Web.HttpContext.Current.Server.MapPath("~") + viewPath;
if (file.ContentLength > || !string.IsNullOrEmpty(file.FileName))
{
//建立图片主文件夹
if (!Directory.Exists(ArticlePath))
{
Directory.CreateDirectory(ArticlePath);
}
saveName = Path.GetFileName(file.FileName);
string extension = Path.GetExtension(file.FileName).ToLower();
string fileName = DateTime.Now.ToString("HH-mm-ss") + extension;
ArticlePath += fileName;
//保存文件
file.SaveAs(ArticlePath);
string pdfpath = ArticlePath.Substring(, ArticlePath.Length - extension.Length) + ".pdf";
if (extension == ".doc" || extension == ".docx")
{
office2pdf.DOCConvertToPDF(ArticlePath, pdfpath);
}
else if (extension == ".ppt" || extension == ".pptx")
{
office2pdf.PPTConvertToPDF(ArticlePath, pdfpath);
}
else if (extension == ".xls" || extension == ".xlsx")
{
office2pdf.XLSConvertToPDF(ArticlePath, pdfpath);
}
else if (extension == ".pdf")
{
}
else
{
this.RegisterStartupScript("newWindow", "<script language='javascript'>alert('非法文件!')</script>");
return "";
}
DelFile(ArticlePath);
savePath = path + fileName.Substring(, fileName.Length - extension.Length) + ".pdf";
return savePath;
}
}
return ""; }
3.效果如下
PPT :

WORD:

4. DEMO: 下载 (新手上路,希望大家多多指点 )
PDF/WORD/EXCEL/PPT 文档在线阅读的更多相关文章
- Java实现在线预览Word,Excel,Ppt文档
效果图:
- word&excel&ppt文档加密方式
ppt excel word
- 在线预览-Java 使用 Print2Flash 实现Office文档在线阅读
近期项目上遇到一个需求是用户上传的文档进行在线浏览,之前有过一篇使用 OpenOffice 将 word 转换成 html 页面进行展示的.现在介绍一个新的工具那就是 Print2Flash . ...
- pdf word excel ppt 在线预览方案收集
https://www.idocv.com/docs.html http://www.cnblogs.com/wolf-sun/p/3569960.html http://coolwanglu.git ...
- 巧用数据流让 Word 文档在线阅读
常常写博客或空间日记的朋友,对网络编辑器(如图1,是CSDN的博客编辑器)并不陌生.也比較easy做出非常绚烂的排版.但这次在做一个BS的项目,客户一直在用Office的软件中的Wor ...
- winform显示word和ppt文档
最近所做的项目中需要在Winform窗体中显示Office文档.刚开始就使用webBrowser控件实现的,但是后来发现这个控件在显示Office文档的时候有个限制:只支持Office2003之前的版 ...
- asp.net 文件下载(txt,rar,pdf,word,excel,ppt)
aspx 文件下载说起来一点都不难,但是在做的过程中还是遇到了一些小小的问题,就是因为这些小小的问题,导致解决起来实在是太难了,其中一个就是Response.End();导致下载文件出现线程终止的情况 ...
- flexPaper +swftools实现文档在线阅读
网上已有很多FlexPaper仿百度文库的一些文章,园子里也有很多大牛的详细教程. 结合这次做的例子,在这里详细记录一下使用Flexpaper实现仿百度文库的效果,及自己在跟着园子里的教程做的时候,遇 ...
- 用R创建Word和PowerPoint文档--转载
https://www.jianshu.com/p/7df62865c3ed Rapp --简书 Microsoft的Office软件在办公软件领域占有绝对的主导地位,几乎每个职场人士都必须掌握Wor ...
随机推荐
- Dojo前端开发框架与jQuery前端开发框架,对比分析总结
最近Dojo和jQuery双双发布了最新的1.8版本,有着相同版本号的两个Javascript库也有许多核心的相同之处:相同的资源加载机制AMD.相同的选择器 引擎Sizzle等.作为业界知名的Jav ...
- C# base 64图片编码解码
使用WinForm实现了图片base64编码解码的 效果图: 示例base 64编码字符串: /9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKD ...
- 设计模式(十一)外观模式(Facade Pattern)
一.引言 在软件开发过程中,客户端程序经常会与复杂系统的内部子系统进行耦合,从而导致客户端程序随着子系统的变化而变化,然而为了将复杂系统的内部子系统与客户端之间的依赖解耦,从而就有了外观模式,也称作 ...
- WPF绑定到集合
什么是集合视图? 集合视图是位于绑定源集合顶部的一层,您可以通过它使用排序.筛选和分组查询来导航和显示源集合,而无需更改基础源集合本身.集合视图还维护着一个指向集合中的当前项的指针.如果源集合实现了 ...
- 使用MyBatis Generator自动创建代码(dao,mapping,poji)
连接的数据库为SQL server2008,所以需要的文件为sqljdbc4.jar 使用的lib库有: 在lib库目录下新建一个src文件夹用来存放生成的文件,然后新建generatorConfig ...
- IoC组件~Autofac将多实现一次注入,根据别名Resove实例
回到目录 对于IoC容器来说,性能最好的莫过于Autofac了,而对于灵活度来说,它也是值得称赞的,为了考虑系统的性能,我们经常是在系统初始化于将所有依赖注册到容器里,当需要于根据别名把实现拿出来,然 ...
- BPM实例分享——日期自动计算
日期自动计算 在请假流程中通常我们需要获得请假开始到请假结束时间的天数,那么请假天数(可结合工作日历)是怎么实现系统计算呢?下面我们来看下配置的方法. 1. 首选建立业务服务BPMService, ...
- WebViewJavascriptBridge源码探究--看OC和JS交互过程
今天把实现OC代码和JS代码交互的第三方库WebViewJavascriptBridge源码看了下,oc调用js方法我们是知道的,系统提供了stringByEvaluatingJavaScriptFr ...
- Android EventBus 3.0.0 使用总结
转载请标明出处:http://www.cnblogs.com/zhaoyanjun/p/6039221.html 本文出自[赵彦军的博客] 前言 EventBus框架 EventBus是一个通用的叫法 ...
- Android 面试题--Service
1.Service 是否在 main thread 中执行, service 里面是否能执行耗时的操作?默认情况,如果没有显示的指 servic 所运行的进程, Service 和 activity ...