【问题标题】:Dymo SDK cannot find printerDymo SDK 找不到打印机
【发布时间】:2013-12-10 15:53:55
【问题描述】:

我已经安装了DYMO_Label_v.8_SDK_Installer.exe和默认的v8.x标签打印软件。代码在我的机器上运行良好,但是当我将它发布到 iis 服务器时,它给了我这样的消息:

<Error>
  <Message>An error has occurred.</Message>
  <ExceptionMessage>Printer '\\pcname\DYMO' is not found</ExceptionMessage>  
  <ExceptionType>System.InvalidOperationException</ExceptionType>
  <StackTrace>   at System.Web.Http.ApiController.<InvokeActionWithExceptionFilters>d__1.MoveNext()
     --- End of stack trace from previous location where exception was thrown ---
     at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
     at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
     at System.Web.Http.Dispatcher.HttpControllerDispatcher.<SendAsync>d__0.MoveNext()    
  </StackTrace>
</Error>

奇怪的是我已经添加了\\pcname\DYMO 并且可以打印到它。当我浏览到 \pcname 时,它​​会显示这台共享的dymo 打印机。 当我在本地运行我的代码时一切正常,但是当它在 web.config 中使用相同的设置进行部署时,它找不到打印机?

StringBuilder sb = new StringBuilder
var label = DYMO.Label.Framework.Label.Open(System.Web.HttpContext.Current.Server.MapPath(@"~/Content/thelabel.label")); // mvc webapplication
label.SetObjectText("Address", sb.ToString());
label.Print(ConfigurationManager.AppSettings.Get("printername"));
// printername = \\pcname\dymo

现在我已经阅读了一些关于 32 位和 64 位版本的 sdk 的内容,但这会给我一个不同的错误,对吧?本地测试也在 x64 机器上。没有 iis,但我认为是 iisexpress 或 developmentserver。而且我下载的sdk是我认为的最新的,根据dymo博客,它应该适用于x86和x64机器。

编辑 此代码未列出任何打印机。但是 dymo 软件可以打印(从同一台电脑上)。当我在 Windows 控制面板中查看打印机时,标签打印机已列出。

StringBuilder sbPrinters = new StringBuilder();
DYMO.Label.Framework.Printers p = new DYMO.Label.Framework.Printers();
foreach(var printer in p.ToList())
{
    sbPrinters.AppendLine(printer.Name);
    sbPrinters.AppendLine(printer.ModelName);
    sbPrinters.AppendLine(printer.IsConnected.ToString());
    sbPrinters.AppendLine(printer.IsLocal.ToString());
    sbPrinters.AppendLine("-==========-");
}
return sbPrinters.ToString(); // empty...

edit2 刚刚在 .net 4 而不是 4.5 的 win2003 上对其进行了测试,它没有列出任何打印机。 所以 2003 和 2012 都不起作用。 Windows 8.1 确实有效。相同的代码,相同的网络共享打印机。 dymo label v8软件可以从2003、2012、8.1开始打印。所以打印机安装正确。我还尝试在 2003 年的 web.config 中模拟以管理员身份运行。但这没有用。 当我在下面的屏幕截图中运行此命令并将粘贴的打印机名称复制到 web.config 文件中时,它仍然无法找到已安装的打印机。

【问题讨论】:

    标签: c# .net printing network-printers dymo


    【解决方案1】:

    花了我一段时间,但问题是 IIS。 (在 iis6 中测试,在 win2k3 上使用 .net 4,在 win2012 上在 .net 4.5 上使用 iis8)

    http://www.jphellemons.nl/post/Working-with-the-Dymo-label-sdk-on-Windows-2012-server

    长话短说:我使用了 katana 项目;为 .net 提供一个休息服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-17
      • 2020-03-19
      • 2015-11-23
      • 2020-07-12
      • 2021-08-21
      • 1970-01-01
      • 2020-12-21
      • 2016-03-25
      相关资源
      最近更新 更多