首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dymo SDK找不到打印机

Dymo SDK找不到打印机
EN

Stack Overflow用户
提问于 2013-12-10 15:53:55
回答 1查看 2.6K关注 0票数 1

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

代码语言:javascript
复制
<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中使用相同的设置部署时,它就找不到打印机了?

代码语言:javascript
复制
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,但我认为是表示或开发服务器。我下载的sdk是我认为是最新的,根据dymo博客,它应该可以同时适用于x86和x64机器。

编辑此代码不列出任何打印机。但是dymo软件可以打印(从同一台pc机)。当我查看windows控制面板中的打印机时,会列出标签打印机。

代码语言:javascript
复制
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刚刚在win2003上测试了它,而不是4.5,它没有列出任何打印机。因此,2003年和2012年都不起作用。Windows 8.1确实有效。相同代码,相同网络共享打印机。dymo标签v8软件可以打印2003年,2012年,8.1。所以打印机安装得很好。我还尝试在2003年的web.config中模拟作为管理员运行。但这不起作用。当我在下面的屏幕截图中运行这个命令并将打印机名称粘贴到web.config文件中时,它仍然无法找到已安装的打印机。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-12 16:25:15

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

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

长话短说:我使用了katana项目;owin for .net托管一个rest服务。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20499018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档