最近,我需要為公司批量打印產品標簽,每個標簽都需要包含產品名稱、地址和條形碼等信息。傳統的做法是使用 brother 標簽機的自帶軟件逐個編輯和打印,效率極低且容易出錯。為了提高效率,我決定尋找一種更便捷的方法,最終發現了 ramytalal/label-printer 這個 php 庫。
這個庫提供了一個友好的 API,可以讓你輕松地控制 Brother 標簽機的打印功能。它支持多種打印模式,包括 ESC/P 模式和模板模式,可以滿足各種打印需求。安裝也非常簡單,只需要使用 composer:
composer require RamyTalal/Label-Printer
安裝完成后,就可以開始編寫代碼了。以下是一個使用 ESC/P 模式打印文本標簽的例子:
use TalalLabelPrinterPrinter;use TalalLabelPrinterModeEscp;use TalalLabelPrinterCommand;$stream = stream_socket_client('tcp://192.168.1.8:9100', $errorNumber, $errorString);$printer = new Printer(new Escp($stream));$font = new CommandFont('brussels', CommandFont::TYPE_OUTLINE);$printer->addCommand(new CommandCharStyle(CommandCharStyle::NORMAL));$printer->addCommand($font);$printer->addCommand(new CommandCharSize(46, $font));$printer->addCommand(new CommandAlign(CommandAlign::CENTER));$printer->addCommand(new CommandText('我的產品標簽'));$printer->addCommand(new CommandCut(CommandCut::FULL));$printer->printLabel();fclose($stream);
這段代碼首先連接到 Brother 標簽機(請將 tcp://192.168.1.8:9100 替換為你的標簽機 IP 地址和端口號),然后創建一個 Printer 對象,并使用 ESC/P 模式進行初始化。接下來,我們添加一系列命令,例如設置字體、字號、對齊方式以及打印文本內容,最后調用 printLabel() 方法進行打印。
除了基本的文本打印,RamyTalal/Label-Printer 還支持條形碼和二維碼的生成與打印,以及模板模式,讓你可以更靈活地設計標簽的布局。例如,你可以使用模板模式來創建包含多個字段的復雜標簽:
use TalalLabelPrinterPrinter;use TalalLabelPrinterModeTemplate;use TalalLabelPrinterCommand;// ... (連接到標簽機,創建 Printer 對象,類似上面的例子) ...$printer = new Printer(new Template(2, $stream)); // 模板編號為 2$printer->addCommand(new CommandObjectCommand('productName', '產品名稱'));$printer->addCommand(new CommandObjectCommand('barcode', '1234567890'));$printer->printLabel();fclose($stream);
通過這個庫,我成功地實現了產品的批量標簽打印,極大地提高了工作效率。以前需要花費數小時才能完成的任務,現在只需要幾分鐘就能完成。而且,代碼的可維護性和可擴展性也得到了顯著提升。
總而言之,RamyTalal/Label-Printer 是一個非常實用且高效的 PHP 庫,它能簡化 Brother 標簽機的操作,提高工作效率。如果你也需要處理 Brother 標簽機的打印任務,強烈推薦你嘗試一下這個庫。 記住,在使用前,請仔細閱讀庫的文檔,并根據你的標簽機型號進行相應的配置。