# Brother QL-820NWB label printing

**URL:** <https://forum.inductiveautomation.com/t/brother-ql-820nwb-label-printing/102518>\
**Category:** Ignition\
**Created:** [February 18, 2025, 9:13pm UTC](https://forum.inductiveautomation.com/t/brother-ql-820nwb-label-printing/102518 "2025-02-18T21:13:48Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Hefin\_Price](https://avatars.discourse-cdn.com/v4/letter/h/a6a055/32.png) [@Hefin\_Price](https://forum.inductiveautomation.com/u/Hefin_Price)\
**Post date:** [February 18, 2025, 9:13pm UTC](https://forum.inductiveautomation.com/t/brother-ql-820nwb-label-printing/102518/1 "2025-02-18T21:13:48Z")

</div>

Hopefully someone can advise me on this as I feel like I've hit brick wall after brick wall!

I'm attempting to set up a Brother QL-820NWB to print off ID labels for different items based on information from a SQL DB.

So far I've been unable to send a job to the label printer as it comes up with an error but I've been able to use the Brother b-PAC software with some VBA script which works as I require but I'm not sure how to re-crate this using JYTHON.

The VBA script is shown below. There's a template saved in the path detailed in the script.

 ![image](https://us1.discourse-cdn.com/inductiveautomation/original/3X/9/f/9fce74f305faf1707d20274c9cbed7bcee524299.png)

This may be a bit rudimentary for some but as I'm new to ignition and JYTHON any help would be appreciated.

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [February 18, 2025, 9:16pm UTC](https://forum.inductiveautomation.com/t/brother-ql-820nwb-label-printing/102518/2 "2025-02-18T21:16:38Z")

</div>

I usually install the applicable printer driver on the gateway, create a label with Ignition's reporting module, then use `system.report.executeAndDistribute()` to print it.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [February 18, 2025, 9:17pm UTC](https://forum.inductiveautomation.com/t/brother-ql-820nwb-label-printing/102518/3 "2025-02-18T21:17:25Z")

</div>

This code is basically useless because it's not really doing anything - all the work is being done by some "bpac.Document" object from a library.

Does Brother offer a Java or Python library? or some other documentation for how to interface with these printers?

---

<div class="post-metadata">

**Author:** ![Hefin\_Price](https://avatars.discourse-cdn.com/v4/letter/h/a6a055/32.png) [@Hefin\_Price](https://forum.inductiveautomation.com/u/Hefin_Price)\
**Post date:** [February 18, 2025, 9:30pm UTC](https://forum.inductiveautomation.com/t/brother-ql-820nwb-label-printing/102518/4 "2025-02-18T21:30:01Z")

</div>

A python library is available brother\_ql is the library I've come across on Stack. After trying this I get an error about builtins not being available when the raster script is run. I believe this is something to do with it requiring Python3.

I have come across a JavaScript example that also works but JavaScript is not a language I've dealt with yet.

[bpac - Jumpshare](https://jumpshare.com/s/FeiwzAyIaYu5dJmPu3jG)

---

<div class="post-metadata">

**Author:** ![dkhayes117](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/dkhayes117/32/68344_2.png) [@dkhayes117](https://forum.inductiveautomation.com/u/dkhayes117)\
**Post date:** [February 18, 2025, 9:40pm UTC](https://forum.inductiveautomation.com/t/brother-ql-820nwb-label-printing/102518/5 "2025-02-18T21:40:02Z")

</div>

I believe `brother_ql` is geared for python 3, and Ignition is stuck at v2.7. The JavaScript isn't going to help you either. Any reason you don't want to use a driver/report?

---

<div class="post-metadata">

**Author:** ![Hefin\_Price](https://avatars.discourse-cdn.com/v4/letter/h/a6a055/32.png) [@Hefin\_Price](https://forum.inductiveautomation.com/u/Hefin_Price)\
**Post date:** [February 18, 2025, 9:45pm UTC](https://forum.inductiveautomation.com/t/brother-ql-820nwb-label-printing/102518/6 "2025-02-18T21:45:20Z")

</div>

I'm just looking into the suggestion you made regarding system.report.executeAndDistribute().

I've not come across it before in the context of printing, just reading up on it now.
