Flash基础入门之asp.net 实现pdf、swf等文档的浏览
小标 2019-01-24 来源 : 阅读 1030 评论 0

摘要:本文主要向大家介绍了Flash基础入门之asp.net 实现pdf、swf等文档的浏览,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

本文主要向大家介绍了Flash基础入门之asp.net 实现pdf、swf等文档的浏览,通过具体的内容向大家展现,希望对大家学习Flash基础入门有所帮助。

一、pdf的浏览

可以借助于pdf.js插件完成,使用pdf.js的好处是不需要安装额外的插件(比如flash),是纯web的解决方案。插件的下载链接://mozilla.github.io/pdf.js/。

通过pdf.js里面的示例代码可以看出,实际上浏览pdf文档是通过viewer.html实现的。在链接后面通过传入file参数,实现不同文档的浏览。比如如下的链接:

1

   

<a href="#" onclick="show('../../Js/pdf.js/web/viewer.html?file=/damis/PDFFiles/{SFZH}.pdf')">pdf</a>

   

其中show方法是我定义的一个js方法,用于弹出窗口,定义如下:


<script type="text/javascript">

    function show(openUrl) {

        var iWidth = 820; //弹出窗口的宽度;

        var iHeight = 680; //弹出窗口的高度;

        var iTop = (window.screen.availHeight - 30 - iHeight) / 2; //获得窗口的垂直位置;

        var iLeft = (window.screen.availWidth - 10 - iWidth) / 2; //获得窗口的水平位置;

        window.open(openUrl, "", "height=" + iHeight + ", width=" + iWidth + ", top=" + iTop + ", left=" + iLeft + ",toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no,alwaysRaised=yes,depended=yes");

    }

</script>

   

{SFZH}是EXT.NET里面传入参数的方式,不是重点。

效果图:

 

二、swf的浏览

有时候为了追求更好的浏览体验,可能需要借助于flash。有现成的flexpaper可以使用。

flexpaper只接收swf文件,所有在使用之前必须准备好swf文件。由于我们如上已经通过itextsharp生成了pdf文档,所以只需要将pdf转换为swf即可。这个功能我们可以使用pdf2swf.exe来完成,可以去//www.swftools.org/下载。

实现pdf到swf的转换代码如下:


protected void Page_Load(object sender, EventArgs e)

{

    if (!X.IsAjaxRequest)

    {

        string sfzh = Request.QueryString["sfzh"] as string;

        string exe = Server.MapPath("~/Base/pdf2swf.exe");

        string source = CommonUtil.GetLocalPathByIdentitycard(sfzh) + sfzh + ".pdf";

        string dest = Path.Combine(Server.MapPath("~"), "Swf\\" + sfzh + ".swf");

 

        if (!File.Exists(dest))

        {

            System.Diagnostics.Process process = new System.Diagnostics.Process();

            process.StartInfo.FileName = exe;

            process.StartInfo.Arguments = source + " -o " + dest + " -T 9 -f";

            process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;

            process.StartInfo.CreateNoWindow = true;

            process.StartInfo.UseShellExecute = false;

            process.StartInfo.RedirectStandardInput = true;

            process.StartInfo.RedirectStandardOutput = true;

            process.StartInfo.RedirectStandardError = true;

            process.Start();

            process.WaitForExit();

            process.Close();

        }

 

        string swfFile = "../../Swf/" + sfzh + ".swf";

        this.Literal1.Text = "var swfFile = '" + swfFile + " '";

    }

}

   

这里是通过Process进程实现转换。

前台代码:


<a href="#" onclick="show('DASwfView.aspx?sfzh={SFZH}')">swf</a>

   

show方法跟如上pdf弹出文档的js方法是一样的。

弹出的DASwfView.aspx页面中的html代码如下:


<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="DASwfView.aspx.cs" Inherits="DAMIS.Web.Web.DAQueryStatistics.DASwfView" %>

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="//www.w3.org/1999/xhtml">

<head runat="server">

    <title></title>

    <script src="../../Js/swfobject/swfobject.js" type="text/javascript"></script>

    <script src="../../Js/flexpaper_flash_debug.js" type="text/javascript"></script>

    <script src="../../Js/jquery-1.4.2.js" type="text/javascript"></script>

    <script type="text/javascript"> 

        <asp:Literal ID="Literal1" runat="server"></asp:Literal>

    </script>

    <script src="../../Js/DocumentView.js" type="text/javascript"></script>

</head>

<body>

    <form id="form1" runat="server">

    <div style="position: absolute; left: 3px; top: 3px;" align="center">

        <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://" : "//");

                document.write("<a href='//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>

    </div>

    </form>

</body>

</html>

   

如上需要引用的几个js文件可以下载到。DocumentView.js这个文件中有一段代码需要注意:


swfobject.embedSWF(

                "../../Swf/DocumentViewer.swf", "flashContent",

                "800", "675", "10.0.0", "playerProductInstall.swf",

                flashvars, params, attributes);


如下的代码就实现在线将pdf转换为swf并显示的功能,效果图如下:

以上就介绍了Flash的相关知识,希望对Flash有兴趣的朋友有所帮助。了解更多内容,请关注职坐标常用软件Flash频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程