用的方式就是网上转来转去的那个方法,有一个ConvertDoc2PDF.js脚本,这方法在开发调试的时候确实有用,
但真正用到IIS的时候,却没那么幸运了,而文章中也没讲如何设置远程的访问和调用,现在的情况是:
可以上传.doc,也可以转成.ps,但是在.ps转.pdf的时候就不行了,郁闷啊,弄了这么久的,不知道有弄过这个的高手帮一下忙么
我看到某篇文章中说IIS的账户和系统不同,权限就不同,我就干脆把IIS的默认用户也设置成 administrator了,但还是不行脚本内容如下,做了些修改。方便调试
var files = WScript.Arguments; 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var word = new ActiveXObject("Word.Application"); 
var PDF = new ActiveXObject("PDFDistiller.PDFDistiller.1"); 
word.ActivePrinter = "MS Publisher Color Printer"; 
//files(0) 为WORD文档文件名 
//files(1) 为,转换后需要保存的路径 
//调用fso.GetBaseName(files(0))后,为无路径,无扩展名,的文件名 
//files.length为文件参数的个数,使用循环可以支持多个WORD文档的转换 
var docfile = files(0); 
var psfile = files(1) + fso.GetBaseName(files(0)) + ".ps"; 
var pdffile = files(1) + fso.GetBaseName(files(0)) + ".pdf"; 
var logfile = files(1) + fso.GetBaseName(files(0)) + ".log"; 
WScript.Echo("<br />成功执行到此1<br />");
try{ 
var doc = word.Documents.Open(docfile); 
WScript.Echo("成功执行到此2<br />");
//WORD文件转成PS文件; 
word.PrintOut(false, false, 0, psfile); 
WScript.Echo("成功执行到此3<br />");
doc.Close(0); 
//PS文件转成PDF文件; 
WScript.Echo("成功执行到此4<br />");
try{
PDF.FileToPDF(psfile,pdffile,""); 
}
catch(x) 

WScript.Echo(x + "<br />"); 
WScript.Echo("3." + x.number + "<br />") 
WScript.Echo("4." + x.name + "<br />")
}
WScript.Echo("如果执行到此,也有可能是出错的5<br />");
fso.GetFile(psfile).Delete();//删除PS脚本文件 
fso.GetFile(logfile).Delete();//删除转换的日志文件 
word.Quit(); 
WScript.Echo("isuccess<br />");//成功 
WScript.Quit(0); 

catch(x) 

word.Quit(); 
WScript.Echo("isfail<br />");//失败 
WScript.Quit(0); 
运行之后在页面上输出的结果成功执行到此1
成功执行到此2
成功执行到此3
成功执行到此4
[object Error]
3.-2147417851
4.Error
如果执行到此,也有可能是出错的5
isfail最后就出错了,唯一的信息就是[object Error],然后.ps文件就留那里了 ,3个 进程也运行着结束不了麻烦高手帮下忙啊 ,郁闷到底了 ,确实不知道还要整什么了