在C#应用程序中使用b-pac SDK标记打印开发

我正在Visual Studio 2012 RC中开发一个POS系统C#应用程序 。 我必须使用标签打印机打印销售

兄弟P-Touch QL-500标签打印机。

我已经做了什么。

  • 我已经安装了最新的b-pac SDK 3.0
  • 成功添加对我的C#应用​​程序的引用。
  • 为了创建标签模板,我安装了最新版本的p-touch Editor 5.0。
  • 制作了一个模板(Mylabel.lbl)。

    但在那之前。

我运行一些内置的示例,但这些示例引发exception。 在谷歌上做了很多搜索之后我发现这是打印机的驱动程序问题

我无法安装驱动程序,因为驱动程序的安装需要连接打印机。 我没有打印机。

我需要做什么

  • 你知道我怎么能做这个任务吗?
  • 使用兄弟P-Touch QL-500标签打印机打印标签的正确方法是什么。

    请帮帮我,我已经做了很多时间搜索。 stackoverflow是我最后的希望。 我是这种标签印刷的新手。 请帮助我将非常感激。

我正在使用的ruff示例代码。

bpac.DocumentClass doc = new DocumentClass(); if (doc.Open("templateFile.lbx")) { doc.GetObject("field1").Text = "..."; doc.GetObject("field2").Text = "..."; doc.StartPrint("", PrintOptionConstants.bpoDefault); doc.PrintOut(1, PrintOptionConstants.bpoDefault); doc.EndPrint(); doc.Close(); } 

这是我正在尝试的示例代码。 第一行引发exception

 bpac.DocumentClass doc = new DocumentClass(); 

我还附加了exception屏幕预览。

抛出异常屏幕预览

发生exception时,我收到了完全相同的错误消息。 我的解决方案是将“平台目标”设置为“X86”CPU。 这可以通过以下方式完成:(菜单)项目 – >属性 – >(选项卡)构建 – >平台目标“x86”而不是“任何CPU”

我在Windows 7 64位上开发了该软件。

您可以在b-PAC SDK文档中找到有关此内容的更多信息。 C:\ Program Files(x86)\ Brother bPAC3 SDK \ Doc \ bPAC30_eng.chm在“故障排除”部分,您会发现:“程序无法在64位操作系统上运行。将平台更改为”x86“,然后重新编译它。“

该解决方案使用连接到我的PC的QL560硬件进行测试,并且可以正常工作。

这是我用来使用这个对象打印的一些代码。

  string strPrinterAddress = "domain\machinename"; objDoc = new BrssCom.Document(); string strPath = "192.168.1.45" + " /D" + strPrinterAddress; if (objDoc.Open(strPath)) { objDoc.SetText(0, "Recycle: " + recycleReason); objDoc.SetText(1, "Other Text"); objDoc.SetBarcodeData(0, "1234"); objDoc.DoPrint(BrssCom.PrintOptionConstants.bpoAutoCut, "0"); } 

但是,@ JamieMeyer是对的。 你不能,绝对不能确定这将无需打印机进行测试就可以工作。 在我的例子中,我使用了一个非常简单的标签,其中包含3个字段,其中一个是条形码。 使用命名变量并不是一件简单的事情,它实际上取决于字段的添加顺序等。

我自己没有打印机,我花了大约两个星期的时间在晚上发送代码更新,然后客户在第二天进行测试,圆形和圆形,以使外观和感觉恰到好处。 如果我让它再做一遍,我本可以自己购买一台打印机。

祝你好运,但你在没有打印机的情况下在黑暗中拍摄。

如何在没有物理单元的情况下validation编码结果? 兄弟不提供任何forms的视觉模拟器,所以你最好的选择是获得该单元。 这些可以75美元的街头价格,可能在当地办公用品商店的货架上。 http://www.officedepot.com/a/products/506232/Brother-P-Touch-QL-500-PC/

这是我的工作准则。 我认为c#示例不正确,您必须更改DocumentClass for Document。

活动代码用于interop.bpac.dll Comented代码用于bpac.dll

大段引用

public void ETQ_Print(string Lote,string NumSerie){

  try { // bpac.Document PrnLabel = new bpac.Document (); /// bpac.Document PrnLabel = new bpac.Document(); bpac.Document doc = new Document(); // Actualizo los Campos de la Etiqueta. // if (PrnLabel.Open(this.txtETQ_Plantilla.Text)) if (doc.Open (this.txtETQ_Plantilla.Text) != false) { // hemos cargado la plantilla corectamente. // Editamos los campos necesarios.. // PrnLabel.GetObject("BarCode").Text = Lote + NumSerie; doc.GetObject("BarCode").Text = Lote + NumSerie; // PrnLabel.GetObject ("objName").Text = ETQ_txtNumSerie.Text; // PrnLabel.StartPrint("", PrintOptionConstants.bpoDefault); doc.StartPrint("", PrintOptionConstants.bpoDefault); // PrnLabel.PrintOut(1, PrintOptionConstants.bpoDefault); doc.PrintOut(1, PrintOptionConstants.bpoDefault); // PrnLabel.EndPrint(); doc.EndPrint(); // PrnLabel.Close(); doc.Close(); } else { MessageBox.Show(this, "Open() Error: " + doc.ErrorCode); // PrnLabel.ErrorCode); } } catch { MessageBox.Show(this, "Error de Etiqueta", "Error Etiqueta", MessageBoxButtons.OK, MessageBoxIcon.Error); } } 

大段引用

我有同样的问题。 事实certificate,我无意中下载了32位版本的SDK。 版本信息来自http://www.brother.com/product/dev/label/bpac/download/index.htm#full

在此处输入图像描述

一旦我删除了32位SDK并添加了64位SDK,该示例就可以直接使用。 这是对于b-PAK 3.2.001。 我的下一步是将示例代码中使用的模板加载到P-touch编辑器中,并设置正确的颜色和打印​​尺寸。