在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#语言基础 → pdf提供在线阅读(pdf2swf.exe)

pdf提供在线阅读(pdf2swf.exe)

C#语言基础

下载此实例
  • 开发语言:C#
  • 实例大小:29.18M
  • 下载次数:22
  • 浏览次数:684
  • 发布时间:2015-09-10
  • 实例类别:C#语言基础
  • 发 布 人:liuliu
  • 文件格式:.zip
  • 所需积分:2
 相关标签: 阅读 在线

实例介绍

【实例简介】

该实例只是一个 flexpager的测试实例,用vs打开的时候 可能无法加载项目,这时,将解决方案文件OfficeToSwf1.1.sln中的  <E:\学习资料\OfficeToSwf> 路径替换成你当前的路径即可

在运行起来之后,访问这个网址即可测试 http://localhost:8549/view.aspx?id=12


文件在线预览
1.实现文件在线预览,需要使用两个软件(pdf2swf.exe)和(SaveAsPDFandXPS.exe)
pdf2swf.exe无须安装,程序直接调用
SaveAsPDFandXPS.exe 使用前安装至服务器

2.目前仅支持word/excel/ppt/pptx 4种文件的转换和预览,在此基础上还可以扩展更过文件
3.文件上传大小限制于100MB以内,通过config文件可以修改文件大小限制
4.实现原理:对上传的先进行转换pdf,如果上传格式为pdf,那么直接保存至服务器。
上传成功之后,会自动保存在服务器。点击当前上传文件预览是,在通过pdf转换为swf文件,通过flash插件进行预览

5.上传的文件统一保存在数据库,保存的内容包含上传的文件和已经转换的pdf文件,swf文件未保存,直接存在服务器UploadFile文件夹下

6.数据库为WenKu.mdf,该数据库版本过高,有可能导致无法附件,可以通过一下SQL创建数据库
create database WenKu
go
use WenKu
go
create table WenKu
(
[WID] [int] IDENTITY(1,1) NOT NULL,
[WName] [ntext] NULL,
[WUploadPath] [ntext] NULL,
[WSavePath] [ntext] NULL
)

7.通过AddFile.aspx上传文件,返回Default3.aspx,查看已经上传的文件,点击文件名进行预览
8.运行逻辑,先上传普通文件,点击预览时读取文件,先转换pdf在转换成swf格式。再次预览如果已存在,则不会转换,否则将转换



==================================================================================
权限问题
1:在"开始"->"运行"中输入dcomcnfg.exe启动"组件服务"
2:依次双击"组件服务"->"计算机"->"我的电脑"->"DCOM配置"
3:在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框
4:点击"标识"标签,选择"交互式用户"
5:点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,
在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.
6:依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.
这样,我们便配置好了相应的Excel的DCOM权限.

7:如果只有Excel就设置Excel的程序,如果有Word那就也设置Word的程序

【实例截图】

【核心代码】


    protected void RequestFile(string file) {
        string extension = file.Substring(file.LastIndexOf('.'));//获取文件后缀名
        string time = file.Substring(0, file.LastIndexOf('/'));//获取日期格式(yyyy-MM-dd)的文件名

        #region 创建pdf、swf保存的路径
        string path = "\\UploadFile\\file\\" file.Replace("/", "\\");//设置原文件的路径
        string fileUrl = System.Web.HttpContext.Current.Server.MapPath("~") path;//保存文件路径

        string pdf_path = "\\UploadFile\\file_pdf\\" time "\\";//设置pdf上传路径
        string pdfUrl = System.Web.HttpContext.Current.Server.MapPath("~") pdf_path;//保存文件路径

        string swf_path = "\\UploadFile\\file_swf\\" time "\\";//设置swf上传路径
        string swfUrl = System.Web.HttpContext.Current.Server.MapPath("~") swf_path;//保存文件路径

        //如果文件不存在,则从新创建,文件夹以(yyyy-MM-d)的格式创建
        if (!Directory.Exists(pdf_path) || !Directory.Exists(swf_path)) {
            Directory.CreateDirectory(pdfUrl);//创建pdf路径
            Directory.CreateDirectory(swfUrl);//创建swf路径
        }
        #endregion

        #region 文件重新命名为pdf、swf格式
        string fname = file.Substring(file.LastIndexOf('/') 1);//获取文件名称,去除后缀名
        string filename = fname.Substring(0, fname.LastIndexOf('.'));//获取文件名称,去除后缀名


        pdfUrl = filename ".pdf";//把文件更改成pdf格式
        swfUrl = filename ".swf";//把文件更改成swf格式
        string strfile = filename ".swf";//把文件更改成swf格式
        #endregion

        bool blpdf = System.IO.File.Exists(pdfUrl);//判断pdf是否已经存在
        bool blswf = System.IO.File.Exists(swfUrl);//判断swf是否已经存在

        #region 文件转换
        if (!blpdf && !blswf)//pdf和swf都不存在
        {
            FileUpload ffile = new FileUpload();
            ffile.SaveAs(pdfUrl); //讲pdf文件保存到服务器
            if (extension == ".doc" || extension == ".docx") {
                office2pdf.DOCConvertToPDF(fileUrl, pdfUrl);
                pdf2swf.PDFConvertToSWF(pdfUrl, swfUrl);//pdf转换swf保存在服务器
            }
            else if (extension == ".xls" || extension == ".xlsx") {
                office2pdf.XLSConvertToPDF(fileUrl, pdfUrl);
                pdf2swf.PDFConvertToSWF(pdfUrl, swfUrl);//pdf转换swf保存在服务器
            }
            else if (extension == ".ppt" || extension == ".pptx") {
                office2pdf.PPTConvertToPDF(fileUrl, pdfUrl);
                pdf2swf.PDFConvertToSWF(pdfUrl, swfUrl);//pdf转换swf保存在服务器
            }
            else {
                pdf2swf.PDFConvertToSWF(fileUrl, swfUrl);//pdf转换swf保存在服务器
            }

        }
        if (blpdf && !blswf) {
            pdf2swf.PDFConvertToSWF(pdfUrl, swfUrl);//pdf转换swf保存在服务器
        }
        #endregion

        FileNames = "UploadFile/file_swf/" time "/" strfile;
    }


标签: 阅读 在线

实例下载地址

pdf提供在线阅读(pdf2swf.exe)

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警