再见西城 发表于 2015-1-16 22:19:41

ASP.NET编程:利用FlashPaper在线转换.doc为.swf

有理由相信是能提供更出色的性能。很多平台无法支持复杂的编译器,因此需要二次编译来减少本地编译器的复杂度。当然可能做不到java编译器那么简易。FlashPaper是Macromedia推出的一款电子文档类工具!经由过程利用FlashPaper,能够将必要的文档经由过程复杂的设置转换为SWF格局的Flash动画,原文档的排版款式和字体显现不会收到影响,如许做的优点是不管对方的平台和言语版本是甚么,都能够自在的寓目你所制造的电子文档动画,并能够举行自在的缩小,减少和打印,翻页等操纵!
展现的效果就像百度的文库检察效果。
Flashpaper的利用信任年夜多半人都晓得,这里的Demo是用于在线转换.doc文件转换为.swf的flash文件。
其道理是经由过程历程指令对文件举行转换,以是会触及到历程的操纵,
而doc转换为swf文件的指令则是:
"flashpaper实行文件路径输出.doc文件路径-o输入.swf文件路径"
空话未几说,代码以下:
复制代码代码以下:
///<summary>
///实行历程
///</summary>
///<paramname="sourceFileName">输出.doc文件路径</param>
///<paramname="outPutFileName">输入.swf文件路径</param>
publicvoidProcessExec(stringsourceFileName,stringoutPutFileName)
{
//FlashPaper文件安装路径可自行设置
stringflashPrinter="F:FlashPaper2.2FlashPrinter.exe";
Processpss=newProcess();
pss.StartInfo.CreateNoWindow=false;
pss.StartInfo.FileName=flashPrinter;
pss.StartInfo.Arguments=string.Format("{0}{1}-o{2}",flashPrinter,sourceFileName,outPutFileName);
try
{
pss.Start();
while(!pss.HasExited)
{
continue;
}
System.Threading.Thread.Sleep(4000);
Response.Write("Succefull!");
}
catch(Exceptionex)
{
throwex;
}
}
protectedvoidbtnText_Click(objecto,EventArgse)
{
stringsource=Server.MapPath("~/Files/Doc.doc");
stringoutput=Server.MapPath("~/Files/doc.swf");
ProcessExec(source,output);
}

个中FlashPaper文件在Demo中FlashPaper文件夹,
安装办法很复杂,将Flashpaper文件夹复制到待安装文件夹,在初始化文件夹中点击初始化.bat文件便可实行安装(无病毒,呵呵,可宁神安装)。

Demo下载:点击下载

这里增补下:在Server2003体系下,大概没法实行,这是由于IIS对Office文件操纵权限限定的缘故原由,办理办法可参考:
ASP.NET操纵Word的IIS权限设置
ASP.NET账号在默许情形下是没有权限操纵MicrosoftOffice工具的,假如不举行权限的设置,代码会抛出相似以下的非常:
检索COM类工场中CLSID为{00024500-0000-0000-C000-000000000046}的组件时失利,缘故原由是呈现以下毛病:80070005。
如许给Asp.NET操纵MicrosoftOffice工具带来了必定的坚苦。但我们仍是要想举措来举行Office工具的操纵。上面复杂先容一下自己在开辟过程当中已经利用过的办法:
  办法1:设置Web.Config文件,在每次哀求时摹拟当地体系的账户。
  详细操纵:在Web.Config文件中增加以下节点:
  <identityimpersonate="true"userName="accountname"password="password"/>
  个中:userName是要摹拟的当地账号,password是该账号的暗码。
  办法2:在“DCOM设置”中,为IIS账号设置操纵Word(其他Office工具也一样)的权限。
详细操纵:“组件服务(ComponentService)”->盘算机(Computers)->我的电脑(MyComputer)->DCOM设置(DCOMConfig)->MicrosoftOfficeWord97-2003文档,右击“MicrosoftOfficeWord97-2003文档”,选择“属性”举行一下两步操纵:
  (1)在【标识(Identity)】选项卡当选中“交互式用户(Theinteractiveuser)”.
  (2)在【平安(Security)】选项卡中,分离给前两个组(启动和激活权限,会见权限)选择“自界说(customer)”,然后点“编纂”,在弹出的界面中增加IIS账号(Server版的操纵体系通常是NETWORKSERVICES,其他体系(XP)大概会是ASP.NET),并鄙人面的权限框中,给该用户分派一切权限。
  办法3:为ASP.NET站点使用池分派当地账号
详细操纵:在IIS中,为ASP.NET站点创立新的使用程序池,再改使用程序池属性的【标识(identity)】选项卡中,为“预界说账户”选择“当地体系(LocalSystem)”。
  假如是IIS7.0中,则按以下步骤操纵:为ASP.NET站点创立新的使用程序池。选中该使用程序池,初级设置->历程形式―>标识:选择localSystem。
以上三种办法中,团体对照喜好用第三种,由于在操纵完Word工具后,还必要封闭Word工具的历程,而第三种办法能够不要其他设置就可以让ASP.NET使用程序有权限往停止这个word历程。你觉得学习.NET怎么样,我懂的少,问的可能很幼稚,见笑了啊:)

不帅 发表于 2015-1-19 08:43:45

由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。

兰色精灵 发表于 2015-1-25 21:52:48

是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。

活着的死人 发表于 2015-2-4 06:41:41

提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。

第二个灵魂 发表于 2015-2-9 17:50:20

我的意思是.net好用,从功能上来说比JAVA强还是很明显的。

变相怪杰 发表于 2015-2-27 14:26:40

现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。

灵魂腐蚀 发表于 2015-3-9 09:29:17

ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。

冷月葬花魂 发表于 2015-3-16 21:34:13

代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。

若相依 发表于 2015-3-23 04:07:16

CGI程序在运行的时候,首先是客户向服务器上的CGI程序发送一个请求,服务器接收到客户的请求后,就会打开一个新的Process(进程)来执行CGI程序,处理客户的请求。CGI程序最后将执行的结果(HTML页面代码)传回给客户。
页: [1]
查看完整版本: ASP.NET编程:利用FlashPaper在线转换.doc为.swf