使用Python,我正在尝试创建一个可以打印条形码标签的exe。这将与BarTender标签软件互动。我知道这是可能的,但我是Python新手,不知道如何解决这个问题。 我在C#中有它,但我需要转换为Python。对于知道这两种语言的人来说,这是一个简单的转换吗?)
// Declare a BarTender application variable
BarTender.Application btApp;
// Declare two BarTender document variables
BarTender.Format btFormat1;
BarTender.Format btFormat2;
// Create a new instance of BarTender
btApp = new BarTender.Application();
// Set the BarTender application visible
btApp.Visible = true;
// Open a BarTender document
btFormat1 = btApp.Formats.Open("c:\\Format1.btw", false, "");
// Open a second BarTender document
btFormat2 = btApp.Formats.Open("c:\\Format2.btw", false, "");
// Set focus to the first opened document
btFormat1.Activate();
// End the BarTender process
btApp.Quit(BarTender.BtSaveOptions.btDoNotSaveChanges);
到目前为止我已经
了import win32.com.client
btApp = win32com.client.Dispatch("BarTender.Application")
btApp.Visible = 1
btFormat = btApp.Formats.Open(r"C:\Users\kmoe\Desktop\Print-Self_Labels.btw", false, "")
第一个参数是必需的,是一个字符串,包含要打开的文档的路径和文件名。第二个参数是布尔值:如果为true,则该方法将关闭BarTender启动时自动打开的名为“Document1”的默认空白文档。它无法关闭具有任何其他名称的文档。第三个参数指定要使用的打印机。
但是,这只会打开正确的标签模板,但不会打印到默认打印机
可在此处找到更多信息
提前致谢!
答案 0 :(得分:0)
我必须从Web服务器上实现Bartender标签打印,并且无法使用已安装的Bartender的集成生成器版本,因此我决定继续使用ActiveX。 旧帖子,但是如果有人需要它,这里是经过测试的代码。
import win32com.client as win32
btApp = win32.Dispatch("BarTender.Application")
btApp.Visible = True
btFormat = btApp.Formats.Open("C:\\Users\\someUser\\Desktop\\YourLabel.btw", False, "PrinterName")
btFormat.SetNamedSubStringValue("btField1", "Data1")
btFormat.SetNamedSubStringValue("btField2", "Data2")
btFormat.SetNamedSubStringValue("btField3", "Data3")
btFormat.IdenticalCopiesOfLabel = 1
btFormat.PrintOut(False, False)
btFormat.Close(1)
btApp.Quit(1)