使用带有 VB.NET Windows 表格的新 Dymo Connect SDK 打印自定义标签

Print Custom Label with new Dymo Connect SDK with VB.NET Windows Forms

以下代码将从计算机上保存的图像路径打印带有默认文本和二维码图像的标签,但我需要添加用自定义文本和二维码图像替换文本和二维码图像。我在网上找不到新 SDK 的任何示例,GitHub 上有一些参考,但无法拼凑任何东西。

我安装了 NuGet 包 Dynmo.Connect.SDK

Imports DymoSDK.Implementations

Dim dymoSDKLabel As DymoSDK.Implementations.DymoLabel

Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click

Dim SelectedPrinter As String = "DYMO LabelWriter 450"

Dim copies As Integer = 1

Dim barcodeGraphsQuality As Boolean = True

dymoSDKLabel = New DymoLabel()  
                         
dymoSDKLabel.LoadLabelFromFilePath("C:\Users\User\Documents\QR.dymo")

DymoPrinter.Instance.PrintLabel(dymoSDKLabel, SelectedPrinter, copies, barcodeGraphsQuality)

End Sub

我想说我找到了我自己问题的答案,以防有人想知道如何解决。我在 Dymo Connect 软件程序中创建了一个名为 label.dymo 的标签。我在标签中添加了一个 TextObject 和一个 ImageObject,位于中间并保存了标签。我安装了一个名为 QRCoder 的免费 NuGet 包,并在下面的示例代码中引用了它。名为 id 的字符串变量来自我的数据库,是刚刚创建的行 ID(最后插入的行 ID)。 QrCode 生成一个与我的 id 变量匹配的 QRCode,然后将其转换为 base64string,因为 Dymo ImageObject 支持这种格式。您可以根据项目需要用任何数字或文本替换 id 变量。

Imports DymoSDK.Implementations

Imports QRCoder

Dim dymoSDKLabel As DymoSDK.Implementations.DymoLabel

Dim LabelTextObject As DymoSDK.Interfaces.ILabelObject

Dim LabelQRObject As DymoSDK.Interfaces.ILabelObject

Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click

Dim gen As New QRCodeGenerator

Dim data = gen.CreateQrCode(id, QRCodeGenerator.ECCLevel.Q)

Dim qrCode As New Base64QRCode(data)

Dim base64qrcode As String = qrCode.GetGraphic(20)

Dim SelectedPrinter As String = "DYMO LabelWriter 450"

Dim copies As Integer = 1

Dim barcodeGraphsQuality As Boolean = True

dymoSDKLabel = New DymoLabel()  
                         
dymoSDKLabel.LoadLabelFromFilePath("C:\Users\User\Documents\label.dymo")

LabelTextObject = dymoSDKLabel.GetLabelObject("TextObject")

dymoSDKLabel.UpdateLabelObject(LabelTextObject, id)

LabelQRObject = dymoSDKLabel.GetLabelObject("ImageObject")

dymoSDKLabel.UpdateLabelObject(LabelQRObject, base64qrcode)

DymoPrinter.Instance.PrintLabel(dymoSDKLabel, SelectedPrinter, copies, barcodeGraphsQuality)

End Sub