如何在asp.netmvc中使用Brother bPac3 SDK
How to use Brother bPac3 SDK in asp.net mvc
我正在开发一个 asp.net mvc 应用程序,我想利用 brother 的 SDK (Brother bPAC3 SDK) 创建一个用于打印输出的标签(.bmp 图像)。这是我的代码:
string templatePath = Server.MapPath("~/Content/Labels/nameplate1.lbx");
bpac.DocumentClass doc = new bpac.DocumentClass();
if (doc.Open(templatePath) != false)
{
doc.GetObject("due").Text = "Due: 18-Oct-2019";
doc.GetObject("cal").Text = "Cal'd: 18-Apr-2017";
doc.GetObject("by").Text = "By: TF";
doc.GetObject("type").Text = "Type: CAL-1";
doc.GetObject("asset").Text = "Asset: test 6";
doc.GetObject("dept").Text = "Dept: 14211 - N/A";
// doc.SetMediaById(doc.Printer.GetMediaId(), true);
//doc.StartPrint("", PrintOptionConstants.bpoDefault);
doc.Export(ExportType.bexBmp, templatePath + "CalibrationCertficate.bmp",0);
// doc.PrintOut(1, PrintOptionConstants.bpoDefault);
//doc.EndPrint();
doc.Close();
}
我能够 运行 从 SDK 下载的示例作为 Windows 应用程序,具有相同的 .Net 框架 (4.5.2) 和环境(任何 CPU 或 x86 ) 没有错误。
使用 asp.net 应用程序时出现以下错误(使用任何 CPU 或 x86):
'System.Runtime.InteropServices.COMException' 类型的异常发生在 MeasurementAssetManagement.dll 但未在用户代码中处理
附加信息:为 CLSID 为 {B940C105-7F01-46FE-BF41-E040B9BDA83D} 的组件检索 COM class 工厂失败,原因如下:80040154 Class 未注册(异常来自HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
我查看了参考资料之间的区别,我注意到 asp.net 应用程序(不工作)显示的是 Interop.bpac 版本 1.3.0.0 和 windows 表单应用程序正在使用 Interop.bpac 版本 1.0.0.0。我不确定为什么这个版本会有所不同,因为我已经尝试了以下两种方法:引用 dll 文件,并引用已安装的 sdk COM 类型库。
我通过安装在 C:\Program Files\Brother bPAC3 SDK\Redist 中找到的 bpac 客户端修复了错误,我不再收到错误,但我仍然无法打印标签。如果您能找到解决方案,请告诉我。
我正在开发一个 asp.net mvc 应用程序,我想利用 brother 的 SDK (Brother bPAC3 SDK) 创建一个用于打印输出的标签(.bmp 图像)。这是我的代码:
string templatePath = Server.MapPath("~/Content/Labels/nameplate1.lbx");
bpac.DocumentClass doc = new bpac.DocumentClass();
if (doc.Open(templatePath) != false)
{
doc.GetObject("due").Text = "Due: 18-Oct-2019";
doc.GetObject("cal").Text = "Cal'd: 18-Apr-2017";
doc.GetObject("by").Text = "By: TF";
doc.GetObject("type").Text = "Type: CAL-1";
doc.GetObject("asset").Text = "Asset: test 6";
doc.GetObject("dept").Text = "Dept: 14211 - N/A";
// doc.SetMediaById(doc.Printer.GetMediaId(), true);
//doc.StartPrint("", PrintOptionConstants.bpoDefault);
doc.Export(ExportType.bexBmp, templatePath + "CalibrationCertficate.bmp",0);
// doc.PrintOut(1, PrintOptionConstants.bpoDefault);
//doc.EndPrint();
doc.Close();
}
我能够 运行 从 SDK 下载的示例作为 Windows 应用程序,具有相同的 .Net 框架 (4.5.2) 和环境(任何 CPU 或 x86 ) 没有错误。
使用 asp.net 应用程序时出现以下错误(使用任何 CPU 或 x86):
'System.Runtime.InteropServices.COMException' 类型的异常发生在 MeasurementAssetManagement.dll 但未在用户代码中处理
附加信息:为 CLSID 为 {B940C105-7F01-46FE-BF41-E040B9BDA83D} 的组件检索 COM class 工厂失败,原因如下:80040154 Class 未注册(异常来自HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
我查看了参考资料之间的区别,我注意到 asp.net 应用程序(不工作)显示的是 Interop.bpac 版本 1.3.0.0 和 windows 表单应用程序正在使用 Interop.bpac 版本 1.0.0.0。我不确定为什么这个版本会有所不同,因为我已经尝试了以下两种方法:引用 dll 文件,并引用已安装的 sdk COM 类型库。
我通过安装在 C:\Program Files\Brother bPAC3 SDK\Redist 中找到的 bpac 客户端修复了错误,我不再收到错误,但我仍然无法打印标签。如果您能找到解决方案,请告诉我。