c执行cmd pdf2swf_在web 上调用exe权限解决方法 ,关于FlashPaper2 命令行FlashPrinterexe的调用...

http://hi.baidu.com/jiaxw/blog/item/93b619f38c5d805b342accf8.html

在此之前我已经找过很多国外的文章,很多人都碰到类似的情况

就是通过asp.net 调用服务器上的FlashPrinter.exe 程序,(这个程序可以通过虚拟打印机把所有可打印的文件转换成swf文件)

我这里是通过Process类调用的

CMD的命令式这样的

xxx\\xxx\\FlashPrinter.exe "d:\\1.txt" -o "d\\1.swf"

我在服务器上直接输入上面命令行正常运作

但是通过web 也就是Network Services用户组调用就没有正常输出文件,

我调试过可以正常调用FlashPrinter.exe 进程,但就一直没有输出文件

我曾经从新安装新的window2003用于测试

第一次我用了好几个小时去搞:

1.IIS权限

2.用户组权限

3.本地策略

4.打印机权限

我忘记了是搞了那些东西,不知不觉就可以通过asp.net 正常使用那个功能.

后来我为了再次测试,我把系统还原了,结果我怎么在设置也不能正常调用那个功能了

在此之前已经设置过很多东西上面所说的是我不知道怎么样设置就可以运行了

PS:我身边有好几台机器,有些是正常的,有些就是一直烦着..查看事件日志说是已经成功转送打印命令,但就是打印的字节数为0

想把pdf转换成swf文件,就在asp.net后台代码中启动了flashpaper进程,但同样的代码在winxp下,好用。但在

win2003下,就不好用了。代码如下:

public static void ConvertPdfToSwf(HttpRequest reqeust, String

styFileName, String[] dataFileNames, String outputFileFullName)

{

try

{

String flashPrinter =

String.Concat(AppDomain.CurrentDomain.BaseDirectory,

"FlashPrinter.exe");//FlashPrinter.exe

System.Diagnostics.ProcessStartInfo startInfo = new

System.Diagnostics.ProcessStartInfo(flashPrinter);

if (String.IsNullOrEmpty(outputFileFullName))

{

return ;

}

Int32 intLastDot =

outputFileFullName.LastIndexOf(".");

//*********Temp

Programming****************************************

Int32 intLast = outputFileFullName.LastIndexOf("\\");

String path = outputFileFullName.Substring(0,

intLast);

String tempFileName = path + "\\PdfToSwf20080923.pdf";

//*****************************************************************

String swfFileName = String.Concat(path,

"\\PdfToSwf20080923.swf");

startInfo.Arguments = String.Concat(tempFileName, " -o

", swfFileName);

System.Diagnostics.Process process = new

System.Diagnostics.Process();

process.StartInfo = startInfo;

Boolean isStart = process.Start();

process.WaitForExit();

process.Close();

}

catch(Exception ex)

{

throw ex;

}

posted on 2010-04-03 23:25 SIMONE 阅读(2966) 评论(5)  编辑  收藏 所属分类: flash

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值