关闭AutomationFactory对象

时间:2013-11-12 23:46:23

标签: vb.net silverlight pdf acrobat

我们目前正在开发adobe reader以从我们的传统silverlight产品中打印出pdf,该产品可以正常使用以下代码:

Dim shell = AutomationFactory.CreateObject("Shell.Application")
shell.ShellExecute(path, "", "", "print", 1)

这很有效,问题是打印完成后,Adobe阅读器应用程序仍处于打开状态,这对用户群来说有点烦人。

我的问题是如何从代码中关闭adobe reader应用程序?

由于

2 个答案:

答案 0 :(得分:0)

你做不到。 您调用Adobe Reader和另一个进程,打开另一个程序。没有什么是你可以做的,但却杀了这个任务。

但是杀死任务的问题是你可能会关闭在新的Adobe Reader实例中打开打印文件后打开的另一个PDF文件。

如果你选择杀死Adobe进程,我认为在自定义软件或封闭且已知的用户环境中都可以。但是应该警告用户这种行为。通过软件或用户培训手册。

答案 1 :(得分:0)

我用它将pdf发送到标准打印机

        Dim pd As New System.Drawing.Printing.PrintDocument

        Dim p As New PrintDialog()
        p.SelectedPagesEnabled = False

        If p.ShowDialog() = True Then

            pd.DocumentName = pdfFile
            pd.PrinterSettings.PrinterName = p.PrintQueue.Name
            pd.PrintController = New System.Drawing.Printing.StandardPrintController()
            pd.OriginAtMargins = False
            pd.Print()

        End If

也许你也适合你。