如何在asp.netmvc中使用B​​rother 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 客户端修复了错误,我不再收到错误,但我仍然无法打印标签。如果您能找到解决方案,请告诉我。