服务器上安装了Adobe Acrobat 6.0 Standard,这样服务器上就有了个虚拟打印机Adobe PDF。我的意图是这样的,我想通过虚拟打印机Adobe PDF 把excel,word文件打印输出为pdf文件。这个怎样做呢?

解决方案 »

  1.   

    先这样试一下吧:打印一个word文件,在弹出打印对话框时,在其中选择虚拟打印机Adobe PDF进行打印.
    如果能行,就可以调用打印函数实现.
      

  2.   

    tsq12345(月亮还在) 
    你所说的肯定可以了。我要的是在程序里面后台控制打印
    我想使这样的,在程序里,先打开一个word、excel文件,然后把文件打印输出文件。
      

  3.   

    Excel.Application excel=null;
    Excel.Workbook wb=null;
    Excel.Worksheet ws = null;
    object missing=System.Reflection .Missing .Value ;
    string  excelFilePath = "c:\\dd2.xls";
    excel = new Excel.ApplicationClass();
    excel.Visible = false; 
    excel.Application.Workbooks.Open(
    excelFilePath,missing,missing,
    missing,missing,missing,missing,missing,missing,
    missing,missing,missing,missing,missing,missing);//打开excel文件
    wb = excel.Workbooks[1];
    ws = (Excel.Worksheet)wb.Worksheets[1]; //实例化excel文件的一个sheetobject from =1;
    object to = 1;
    object pritofile = true;
    ws.PrintOut(from,to,missing,missing,missing,pritofile,missing,"c:\\pdfreport.pdf");
    上面的代码是把c:\\dd2.xls 打印到文件c:\\pdfreport.pdf。但是c:\\pdfreport.pdf打不开。我把Adobe PDf设为默认的打印机了。
      

  4.   

    Sub Main()        ' Define the postscript and .pdf file names.
            Dim xlApp As Excel.Application '定义EXCEL类 
            Dim xlBook As Excel.Workbook '定义工件簿类
            Dim xlsheet As Excel.Worksheet '定义工作表类         xlApp = CreateObject("Excel.Application")     '创建EXCEL应用类
            xlApp.Visible = False '设置EXCEL可见
            xlBook = xlApp.Workbooks.Open("c:\kpi-0.xls")     '打开EXCEL工作簿
            xlsheet = xlBook.Worksheets(2)     '打开EXCEL工作表
            xlsheet.Activate() '激活工作表
            xlsheet.Cells(1, 1) = "abc" '给单元格1行驶列赋值        Dim PSFileName As String
            Dim PDFFileName As String
            Dim joboptions As String
            PSFileName = "c:\myPostScript.ps"
            PDFFileName = "c:\myPDF.pdf"
            joboptions = "c:\dd.joboptions"
            ' Print the Excel range to the postscript file
            Dim MySheet As Excel.Worksheet
            MySheet = xlsheet
            MySheet.PrintOut(copies:=1, preview:=False, ActivePrinter:="Adobe PDF", printtofile:=True, collate:=True, prtofilename:=PSFileName)
            ' Convert the postscript file to .pdf
            Dim myPDF As ACRODISTXLib.PdfDistiller
            myPDF = New ACRODISTXLib.PdfDistiller
            myPDF.FileToPDF(PSFileName, PDFFileName, joboptions)        myPDF = Nothing
            xlBook.Close(False)  '关闭EXCEL工作簿 
            xlApp.Quit() '关闭EXCEL
            xlApp = Nothing     '释放EXCEL对象    End Sub
    上面我是调用adobe的组件ACRODISTXLib.PdfDistiller进行excel到pdf的转化,
    在应用程序中运行通过,运行的时候它会启动adobe pdf虚拟打印机 进行excel到pdf的转换。但我把上面的代码移值到asp.net,编译通过,运行的时候出错了。
      

  5.   

    但我把上面的代码移值到asp.net,编译通过,运行的时候出错了。
    错误信息是弹出对话框,内容如下:
    JIT调试失败,出错如下错误:拒绝访问。
    JIT调试由用户帐号“NT AUTHORITY\NEWWORK SERVICE”启动。
    有关跟多信息,请查看文档索引中的“实时调试,错误”。