ASP.NET控制Word/EXCEL轉換成PDF格式
下面主要說說對Excel進行轉換的(如果是對Excel進行轉換帖子中的.js指令碼有問題)
下面是對Excel進行轉換的指令碼:
var files = WScript.Arguments;
var fso = new ActiveXObject("Scripting.FileSystemObject");
var word = new ActiveXObject("Excel.Application");
var PDF = new ActiveXObject("PDFDistiller.PDFDistiller.1");
word.Workbooks.add();
word.ActivePrinter="MS Publisher Color Printer 在 LPT1:";
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";
var doc = word.Workbooks.Open(docfile);
//Excel檔案轉成PS檔案;
var xlsheet=doc.Worksheets(1);
xlsheet.PrintOut(1, 2, 1,false,"MS Publisher Color Printer 在 LPT1:",true,true,psfile);//這個是印表機關於得到Excel預設印表機的VBA可以在網上搜,有很多
try{
doc.Close(0);
//PS檔案轉成PDF檔案;
PDF.FileToPDF(psfile,pdffile,"");
fso.GetFile(psfile).Delete();//刪除PS指令碼檔案
fso.GetFile(logfile).Delete();//刪除轉換的日誌檔案
word.Quit();
WScript.Echo("isuccess");//成功
WScript.Quit(0);
}
catch(x)
{
word.Quit();
WScript.Echo("isfail");//失敗
WScript.Quit(0);
}
用這種方法進行轉換出來了會有一點不足,還需要改進