如何确定Adobe PDF打印机的“Ne”端口? 您所在的位置:网站首页 ne07手机 如何确定Adobe PDF打印机的“Ne”端口?

如何确定Adobe PDF打印机的“Ne”端口?

2024-02-23 17:24| 来源: 网络整理| 查看: 265

如何检测打印机打开的端口(Ne01:,Ne02:,Ne99:等)?如何确定Adobe PDF打印机的“Ne”端口?

BigCorp的计算机(WinXP)安装了Adobe Acrobat(版本7.0 Pro),它提供了一个名为“Adobe PDF”的虚拟打印机。如果您在录制宏时将Excel(2003)工作簿打印为pdf,则打印机的全名是“Nexx上的Adobe PDF:”,其中xx是两位数字......并且与不同,具体取决于您尝试的计算机。

我写了一个使用Excel.Interop的C#控制台应用程序(我强烈劝阻其他人从开始这条路到地狱),打开一系列电子表格。它在每个宏中运行一个宏,保存,打印为pdf,然后将PDF移动到共享驱动器上的报告文件夹。

我面对的问题是,每次安装Acrobat似乎都会为PDF打印机选择一个随机端口号......并且我无法弄清楚如何获取它。

到目前为止,我已经使用Win32_Printer class像这样

var searcher = new ManagementObjectSearcher(@"SELECT * FROM Win32_Printer"); foreach (ManagementObject printer in searcher.Get()) { if (Regex.IsMatch(printer["Name"].ToString(), @"(adobe|pdf)", RegexOptions.IgnoreCase)) { //printer["Name"]; => "Adobe PDF" //printer["PortName"] => "my documents/*.pdf" foreach (PropertyData pd in printer.Properties) { Console.WriteLine(string.Format("{0}, {1}", pd.Name, pd.Value)); } break; } }

我也是在System.Drawing.Printing类戳周围尝试。 PrinterSettings.InstalledPrinters会给你打印机的名称“Adobe PDF”,但我不知道如何获得端口信息。

如果我将“Adobe PDF”传递给excel interop PrintOut()方法,它有时会起作用,有时会导致“Document failed to print”失败......我找不到原因。

如果我通过一个硬编码的“Adobe PDF在Ne0x:”与一个适当的x值它工作每次。

如果我尝试每种可能的变化,Excel将帮助打印到默认打印机。我没有选择更改默认打印机(安全策略限制)

任何人都可以指向正确拉取打印机端口的代码吗?

来源

2011-03-24 Sukotto



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有