Smooth Print makes it easy to print labels or receipts from mobile devices to Brother label printers.
Overview
Smooth Print is an app for printing labels or receipts from iOS and Android™ mobile devices to Brother printers.
Smooth Print works from a user's own web app or mobile app via a URL scheme.
*Smooth Print for iOS is available on the App Store.
*Smooth Print for Android™ is available using the link at the bottom of this page.
*Make sure you are using the latest version of Smooth Print.
Setup Summary - Order of Tasks
Below is a brief overview of the setting up process.
[Administrators]
[Users]
- [4] Install Smooth Print and configure a connection between your mobile device and your Brother label printer, and register your label printer with Smooth Print.
- [5] Follow your administrator's instructions on how to print labels or receipts from the web app or the mobile app.
Scroll down for more information.
System Structure

*Smooth Print downloads template files and media settings files via a URL scheme.
*Smooth Print prints by reflecting each parameter (text/barcode, number of copies) from the URL scheme to the template file.
Setting up Smooth Print
[1] On a Windows PC, prepare a template file and a media settings file to use with Smooth Print.
[How to create a template file]
*Supported fonts: Atlanta, Belgium, Bermuda Script, Brussels, Brussels Condensed, Connecticut, Germany, Helsinki, Helsinki Narrow, Istanbul, Letter Gothic, PT Utah Condensed, San Diego, US, Utah
*Before printing in black and red on the QL-820NWBc or QL-820NWB, use P-touch Editor to create a template file for black and red label printing.
-
a.
Start P-touch Editor to create a layout LBX file.
-
b.
Type the name for each piece of text or barcode you add to the layout in the Object name field.
- c. In the P-touch Editor menu, click File > Save As and select "Template (*.lbx)" as the file type.
[How to create a media settings file (BIN file)]
*A media settings file must be created for each model, except for the models in the TD-4T and TJ series.
- a. Open the Printer Setting Tool and launch the Paper Size Setup Tool.
- b. Click New... to enter your label size and click Add to register a custom paper size.
-
c.
Click Options and select Save in Command File....
[2] Save the template file and the media settings file to an HTTP server.
[3] Prepare a web app or a mobile app, then embed the URL scheme in that app so it can connect to Smooth Print.
Configure the URL scheme as shown below:
[URL scheme]
Single Layout Printing
brotherwebprint://print?filename=Template.lbx&size=26x76.bin&copies=1&text_TEXT=sample&barcode_BARCODE=12345 |

Multiple Layout Printing
brotherwebprint://print?filename1=Template1.lbx&filename2=Template2.lbx&…&size=26x76.bin&copies=1&text_filename1.TEXT1 =sample&text_filename2.TEXT2=sample2&barcode_filename1.BARCODE1=12345&barcode_filename2.BARCODE2=67890 |
*An index in the filename is required. A Filename without an index will be ignored and will not be printed.
*0 or a positive integer can be configured as an index.
Configure the HTTP as shown below:
[HTTP]
Single Layout Printing via HTTP (Android™ only)
http://localhost:8088/print?filename=Template.lbx&size=26x76.bin&copies=1&text_TEXT=sample&barcode_BARCODE=12345 |
Sample response for Single Layout Printing via HTTP (Android™ only)
Success |
Failure |
|
<response> <result>SUCCESS</result> </response> |
<response> <result>The printer cover is open</result> <code>PrinterStatusErrorCoverOpen</code> </response> |
Multiple Layout Printing via HTTP (Android™ only)
http://localhost:8088/print?filename1=Template1.lbx&filename2=Template2.lbx&…&size=26x76.bin&copies=1&text_filename1. TEXT1=sample&text_filename2.TEXT2=sample2&barcode_filename1.BARCODE1=12345&barcode_filename2.BARCODE2=67890 |
*An index in the filename is required. A Filename without an index will be ignored and not be printed.
*0 or a positive integer can be configured as an index.
Sample response for Multiple Layout Printing via HTTP (Android™ only)
Success |
Failure |
|
<response> <result>SUCCESS</result> </response> |
<response> <result>The printer cover is open</result> <code>PrinterStatusErrorCoverOpen</code> <suspendedIndex>1</suspendedIndex> </response> |
[Required parameters]
Make sure you specify the template and media size, as shown below, and ensure that both are URL-encoded.
Parameters can be in any order.
To use a LBX file or a media settings file (BIN file) from another app, share the files with Smooth Print using the "file sharing function" (an OS standard function).
Once the file is shared, specify the file name in the URL scheme before printing.
*For PJ series, use the paper size ID for the "size" parameter.
*For QL series, use the label size ID for the "size" parameter.
*For PT series, use the label size ID for the "size" parameter.
MW, PJ, PT, QL, RJ, TD-2 and TD-4D series:
Parameter | Configurable setting | Example |
---|---|---|
filename | Single layout template file (.lbx) ▪Set local or Internet path |
Local path: file.lbx Internet path: http%3A%2F%2Fexample.com%2F%E3%82%B5%E3%83%B3% E3%83%97%E3%83%AB.lbx |
filename[index] | Multiple layout template file (.lbx) ▪Set local or Internet path |
Local path: file1.lbx Internet path: http%3A%2F%2Fexample.com%2F%E3%82%B5%E3%83%B3% E3%83%97%E3%83%AB.lbx |
size | Media settings file (bin) ▪Set local or Internet path |
Local path: 26x76.bin Internet path: http%3A%2F%2Fexample.com%2F%E3%82%B5%E3%83%B3% E3%83%97%E3%83%AB.bin |
RJ-2035B, RJ-2055WB, RJ-3035B, RJ-3055WB, TD-4T and TJ series:
Parameter | Configurable setting | Example |
---|---|---|
filename | Single layout template file (.lbx) ▪Set local or Internet path |
Local path: file.lbx Internet path: http%3A%2F%2Fexample.com%2F%E3%82%B5%E3%83%B3% E3%83%97%E3%83%AB.lbx |
filename[index] | Multiple layout template file (.lbx) ▪Set local or Internet path | Local path: file1.lbx Internet path: http%3A%2F%2Fexample.com%2F%E3%82%B5%E3%83%B3% E3%83%97%E3%83%AB.lbx |
paperType | Paper types typeB |
typeB |
tapeWidth | Media width (mm) | 50 |
tapeLength | Media length (mm) | 50 |
speed | Print speed (inch/sec) 1, 1.5, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 |
4 |
density | Set the brightness between 1 (light) and 15 (dark). | 8 |
sensor | Sensor 0 = Gap sensor 1 = Black mark sensor |
0 |
vertical | Gap between labels or height of black mark (mm) 0 or higher |
0 |
offset | Print area offset (mm) 0 or higher |
0 |
dpi | Resolution 203, 300, 600 |
300 |
*For information on your model's configurable print speed, see the "SPEED" command in the FBPL Command Reference guide [9.3MB(pdf)].
[Optional parameters]
Specify any optional parameters below.
*For "text_object_name" and "barcode_object_name", type the name you assigned to the text or barcode specified in the P-touch Editor layout file. For example, if you want to print a text string with the object name "TEXT", the parameter name must be "text_TEXT".
*If the same parameter is described more than once in a URL scheme, the last parameter value is used. Parameter changes are applied to all objects with the same object type (text or barcode) and object name.
*For "rotate" parameter, RJ-2035B, RJ-2055WB, RJ-3035B, RJ-3055WB, TD-4T and TJ series support rotate0 and rotate180 only.
*The "printQuality" parameter is available for QL and TD-2 series.
*If a parameter is not supported by the printer or a parameter setting is outside the allowed range, the setting is considered invalid and the printer will use a default setting instead.
*For multiple layout printing, the index of text_filename[index].[OBJECT_NAME], barcode_filename[index].[OBJECT_NAME] and image_filename[index].[OBJECT_NAME] are the index of template filename (required parameter).
*For multiple layout printing, each parameter is common among all the layouts besides text_filename[index].[OBJECT_NAME], barcode_filename[index].[OBJECT_NAME] and image_filename[index].[OBJECT_NAME].
*When "formatarchiveupdate" is set to 1 (=On) and the attached file name is the same as the name of the existing file, newer files will overwrite the existing files.
*The "forceStretchPrintableArea" and "feedMode" are available for PJ series.
*RJ-2035B, RJ-2055WB, RJ-3035B, RJ-3055WB, TD-4T and TJ series do not support the following parameters:
- "halftone"
- "printQuality"
- "orientation"
- "printMode"
- "scaleValue"
Parameter | Description | Default setting |
---|---|---|
copies | Set the number of copies you want. | 1 |
halftone | Set one of the following options: threshold (Binary) pattern_dither (Dither) error_difusion (Error Diffusion) |
pattern_dither |
rjDensity | Set the brightness between -5 (light) and 5 (dark). | 0 |
rotate | Rotate the printed image 90, 180 or 270 degrees. Rotate0 Rotate90 Rotate180 Rotate270 |
Rotate0 |
peelMode | Automatically peel labels while printing. 0 = Off 1 = On |
0 |
printQuality | Set one of the following options: Normal = higher quality, but slower printing. Double_speed = lower quality, but faster printing. |
normal |
orientation | Set the paper orientation: portrait = vertical landscape = horizontal |
LBX files: depending on the settings Other files: landscape |
printMode | Set one of the print sizes: original = actual print size fit_to_page = adjust to the page size scale = increase or decrease the print ratio fit_to_paper = adjust the paper size |
fit_to_page |
scaleValue | Set a numeric value to scale the print out. *Valid when printMode is set to "scale" *Set 1 or less for PDF printing |
1 |
text_object_name | Type an object name you specified for the text in P-touch Editor. (single layout) |
- |
barcode_object_name | Type an object name you specified for the barcode in P-touch Editor. (single layout) |
- |
image_object_name | Type an object name you specified for the image in P-touch Editor. (single layout) Supported format: jpg, jpeg, bmp, png |
- |
text_filename[index].[OBJECT_NAME] | Type an object name you specified for a text name in P-touch Editor. (multiple layouts) |
- |
barcode_filename[index].[OBJECT_NAME] | Type an object name you specified for a barcode in P-touch Editor. (multiple layouts) |
- |
image_filename[index].[OBJECT_NAME] | Type an object name you specified for an image in P-touch Editor. (multiple layout) Supported format: jpg, jpeg, bmp, png |
- |
fileattach | Set the base64 data as a print file to attach to a URL scheme. (single layout) |
- |
sizeattach | Set the base64 data as a media information file to attach to a URL scheme. | - |
fileattach_filename[index]. | Set the base64 data as a print file to attach to a URL scheme. (multiple layout) |
- |
formatarchiveupdate | Update and save files. 0 = Off 1 = On |
0 |
forceStretchPrintableArea | Set a value (in pixels) to extend the length of the print area. | 0 |
feedMode | Set one of the following options: NoFeed FixedPage EndOfPage EndOfPageRetract |
NoFeed |
[Optional parameters (media settings)]
Specify any optional parameters below when you want to set media information in URL scheme.
The "paperType" parameter is required for all models.
*The following settings are available only for RJ, TD-2 and TD-4D series:
- "roll"
- "dieCut"
- "markRoll"
*The following setting is available only for PJ series:
- "custom"
If you set the "paperType" parameter as "custom", the "tapeWidth" and "tapeLength" parameter values are measured in dots.
*The following setting is available only for TD-4T series and TJ series:
- "typeB"
If you set the "paperType" parameter as "typeB", all parameter values are measured in mm.
*If there are multiple media settings parameters in the URL scheme, only the last parameter is used.
Parameter | Description | Configurable setting | Default setting |
---|---|---|---|
paperType | Paper types | roll dieCut markRoll custom typeB |
- |
tapeWidth | Media width | 0 or higher | 2 |
margin_top | Top margin | 0 or higher | 0 |
margin_left | Left margin | 0 or higher | 0 |
margin_bottom | Bottom margin | 0 or higher | 0 |
margin_right | Right margin | 0 or higher | 0 |
unit | Unit | inch mm |
inch |
tapeLength | Media length (Die-cut label/Media with marks only) |
0 or higher | 0 |
gapLength | Label spacing (Die-cut label only) |
0 or higher | 0 |
markVerticalOffset | Distance from paper leading edge to marks (Media with marks only) |
0 or higher | 0 |
markLength | length of marks (Media with marks only) |
0 or higher | 0 |
conveying_offset | Set the feed offset (in mm) between -25.4 and 25.4. | Between -25.4 and 25.4 | 0 |
"paperType" parameter settings
✓: supported, -: not supported
paperType | roll | dieCut | markRoll | custom | typeB |
---|---|---|---|---|---|
tapeWidth | ![]() |
![]() |
![]() |
![]() |
![]() |
margin_top | ![]() |
![]() |
![]() |
- | ![]() |
margin_left | ![]() |
![]() |
![]() |
- | ![]() |
margin_bottom | ![]() |
![]() |
![]() |
- | ![]() |
margin_right | ![]() |
![]() |
![]() |
- | ![]() |
unit | ![]() |
![]() |
![]() |
- | - |
tapeLength | - | ![]() |
![]() |
![]() |
![]() |
gapLength | - | ![]() |
- | - | - |
markVerticalOffset | - | - | ![]() |
- | - |
markLength | - | - | ![]() |
- | - |
offset | - | - | - | - | ![]() |
sensor | - | - | - | - | ![]() |
conveying_offset | - | - | - | - | ![]() |
[Optional Parameters "successCallback" and "failureCallback"]
Set this parameter if you want to check the print result from the user's web app or mobile app.
If you set this parameter, the printing outcomes will not be displayed in Smooth Print.
Both callback parameters must be specified and connected with "&". If only one parameter is specified, the setting will be invalid.
Parameter | Description | Values | Example values (URL-encoded values) | Example values (before URL encoding) |
---|---|---|---|---|
successCallback | URL scheme is launched when printing is successful. | URL string | sendurlscheme%3A%2F%2F successCallback%3Fresult%3D |
sendurlscheme:// successCallback?result= |
failureCallback | The URL scheme shows an error when printing fails. | URL string *Set any value to the parameter. |
sendurlscheme%3A%2F%2F failureCallback%3Fparam%3D abc%26result%3D |
sendurlscheme:// failureCallback?param= abc&result= |
To run the example value above, the web app or mobile app must support the URL scheme of "sendurlscheme".
If the web app or mobile app fails to launch, the result will be shown in Smooth Print.
*When printing is successful, the URL scheme used by Smooth Print is "sendurlscheme://successCallback?result=SUCCESS".
*When printing fails, the URL scheme used by Smooth Print is
"sendurlscheme://failureCallback?param=%E3%81%82%E3%81%84%E3%81%86&result=ERROR_PRINTER _NO_SETTING".
For the list of error codes to use with callback parameters, see [Brother Print SDK error codes].
[Optional Parameter "startIndex"]
When printing in multiple layouts, if printing is suspended due to a printer error, use this parameter to start printing again from the last printed page.
The suspended index is sent to your web app or mobile app via callback or HTTP response.
Example: sendurlscheme://failureCallback?result=noPaper&errorcode=ERROR_PAPER_EMPTY&suspendedIndex=2
*Make sure you enter the correct suspended page index number to resume printing from the last printed page. If you enter an index that is not included in the URL scheme, all pages will be printed.
When the URL scheme is set as "brotherwebprint://print?filename1=a.lbx&filename2=b.lbx&filename3=c.lbx&size=size.bin&startIndex=2", b.lbx and c.lbx will be printed.
Parameter | Description | Values | Example values |
---|---|---|---|
startIndex | Index to start(Multiple Layout Printing) | Numeric value | 1 |
URL Encoding
Parameter settings must be UTF-8-encoded and URL-encoded, including colons and slashes.
File names are case-sensitive except when they are used in Android™ local paths.
Configure Print Settings in Smooth Print.
[Cut Options]
Select Cut Option on the Smooth Print home screen, then activate or deactivate the cut option.
*Cut options are available only for models that support an auto cutter.
*"cut the end" is not supported with TD-4T and TJ series.
Cut option | Description | Default |
---|---|---|
auto-cut | Automatically cut the paper after each page. | Enabled (This setting remains enabled until it is changed by a user.) |
cut the end | Automatically cut the paper after the print job. | Enabled (This setting remains enabled until it is changed by a user.) |
Cut after the specified number of pages | Cut after the specified number of pages. | 1 (This setting remains enabled until it is changed by a user.) |
[Self-signed certificate (iOS only)]
Enable this setting only if you want to print files from a website that uses an untrusted self-signed certificate.
Select Self-signed certificate, then activate or deactivate the function.
*We recommend disabling this setting, as websites that trust all certificates by default may be vulnerable to unauthorized attacks.
Print History/Error Log Settings
[Save print history and error logs]
Select Print History/Error Log Settings, then activate or deactivate the log saving function.
When this log saving function is turned on:
- A log file is created in a specified location when a user prints something for the first time.
- Log data is added to the log file every time a user prints.
- A new log file for that mobile device is created in the same location each month.
Save print logs of successful printing
Language | English |
Name | New log files are saved in the following format: printLog_MM-YYYY.txt For example, when a log file is created on 7th May 2023, the file name is "printLog_05-2023.txt" |
Print date and time | Example: 2023-05-07T13:00:00+0900 |
URL scheme | Example: brotherwebprint://print?filename=Template.lbx&size=26x76.bin&copies=1 &text_TEXT=sample&barcode_BARCODE=12345 |
Save error logs of failed prints
Language | English |
Name | New log files are saved in the following format: printLog_MM-YYYY.txt For example, when a log file is created on 7th May 2023, the file name is "printLog_05-2023.txt" |
Print error date and time | Example: 2023-05-07T13:00:00+0900 |
URL scheme | Example: brotherwebprint://print?filename=Template.lbx&size=26x76.bin&copies=1& text_TEXT=sample&barcode_BARCODE=12345 |
error code | Example: PRINT_CANCEL |
*Print log contents are added to the same TXT file throughout the month. If new print information fails to be added to the existing log file, a new log file will be created with a version number (1, 2, …) at the end of the file name.
*If the print log file cannot be saved, the following message appears in the web app or the mobile app:
- Message title: Unable to save.
- Message body: (N/A)
Print data may fail to save if the mobile device's memory is full. Check the mobile device's memory and clear it if necessary.
[View print history and error logs in Smooth Print]
Select Print History/Error Log Settings, then select the options to view print history and error logs in Smooth Print.
Error Codes
[List of Smooth Print error codes]
Error code | Description | Error message |
---|---|---|
SUCCESS | Printing successful | - |
PRINT_CANCEL | Printing cancelled | - |
ERROR_PRINTER_NO_SETTING | The printer has not been selected or configured. | Connect the printer. |
ERROR_INVALID_SCHEME_PARAMETER | Missing a required URL scheme parameter. | Invalid URL scheme parameter. |
ERROR_NO_PRINT_DATA, ERROR_OPEN_LBX_FAILED |
Smooth print failed to find the print data or open the LBX file. | Data file not found. |
ERROR_NO_CUSTOM_PAPER_FILE | Smooth Print failed to find the media settings file. | Custom paper size information not found. |
NO_FILES_ACCESS_PERMISSION | Smooth Print does not have access to the device's internal storage (Android™ only). | "Data file not found." or "Custom paper size information not found." |
DIALOG_CLOSE | The "Printing in Progress" screen was closed before the print process completed (Android™ only). | - |
[Brother Print SDK error codes]
The connection and printing process uses Brother Print SDK.
The error codes below may appear if you use callback parameters.
*If you are using the Android™ mobile app, these error codes may appear even if you are not using callback parameters.
Error code | Error message | |
---|---|---|
iOS | Android™ | |
BRLMPrintErrorCodeNoError | NoError | - |
BRLMPrintErrorCodePrintSettingsError | PrintSettingsError, | Printing error |
BRLMPrintErrorCodeFilepathURLError | FilepathURLError, | |
BRLMPrintErrorCodePDFPageError | PDFPageError, | |
BRLMPrintErrorCodePrintSettingsNotSupportError | PrintSettingsNotSupportError, | |
BRLMPrintErrorCodeDataBufferError | DataBufferError, | |
BRLMPrintErrorCodePrinterModelError | PrinterModelError, | |
- | WorkPathError, | |
BRLMPrintErrorCodeCanceled | Canceled, | |
BRLMPrintErrorCodeChannelTimeout | ChannelTimeout, | |
BRLMPrintErrorCodeSetModelError | SetModelError, | |
BRLMPrintErrorCodeUnsupportedFile | UnsupportedFile, | |
BRLMPrintErrorCodeSetMarginError | SetMarginError, | |
BRLMPrintErrorCodeSetLabelSizeError | SetLabelSizeError, | The size of the media installed in the printer does not match the app's settings. |
BRLMPrintErrorCodeCustomPaperSizeError | CustomPaperSizeError, | Printing error |
BRLMPrintErrorCodeSetLengthError | SetLengthError, | |
BRLMPrintErrorCodeTubeSettingError | TubeSettingError, | |
BRLMPrintErrorCodeChannelErrorStreamStatusError | ChannelErrorStreamStatusError, | |
BRLMPrintErrorCodeChannelErrorUnsupportedChannel, | ChannelErrorUnsupportedChannel, | |
BRLMPrintErrorCodePrinterStatusErrorPaperEmpty | PrinterStatusErrorPaperEmpty, | No media in the printer. |
BRLMPrintErrorCodePrinterStatusErrorCoverOpen | PrinterStatusErrorCoverOpen, | The printer cover is open. |
BRLMPrintErrorCodePrinterStatusErrorBusy | PrinterStatusErrorBusy, | Wait for the current operation to finish. |
BRLMPrintErrorCodePrinterStatusErrorPrinterTurnedOff | PrinterStatusErrorPrinterTurnedOff, | Printer status error |
BRLMPrintErrorCodePrinterStatusErrorBatteryWeak, | PrinterStatusErrorBatteryWeak, | Battery low. Charge the battery. |
BRLMPrintErrorCodePrinterStatusErrorExpansionBufferFull, | PrinterStatusErrorExpansionBufferFull, | Printer status error |
BRLMPrintErrorCodePrinterStatusErrorCommunicationError, | PrinterStatusErrorCommunicationError, | Printer not connected. |
BRLMPrintErrorCodePrinterStatusErrorPaperJam, | PrinterStatusErrorPaperJam, | Label jammed. |
BRLMPrintErrorCodePrinterStatusErrorMediaCannotBeFed, | PrinterStatusErrorMediaCannotBeFed, | Cannot detect media. |
BRLMPrintErrorCodePrinterStatusErrorOverHeat, | PrinterStatusErrorOverHeat, | The printer is cooling. |
BRLMPrintErrorCodePrinterStatusErrorHighVoltageAdapter, | PrinterStatusErrorHighVoltageAdapter, | Printer status error |
BRLMPrintErrorCodePrinterStatusErrorMotorSlow, | - | |
BRLMPrintErrorCodeUnsupportedCharger, | PrinterStatusErrorUnsupportedCharger, | Printing error |
BRLMPrintErrorCodePrinterStatusErrorUnknownError, | PrinterStatusErrorUnknownError, | Printer status error |
BRLMPrintErrorCodeTemplatePrintNotSupported, | - | Printing error |
BRLMPrintErrorCodeInvalidTemplateKey, | - | |
BRLMPrintErrorCodeUnknownError, | UnknownError; |
[RJ-2035B, RJ-2055WB, RJ-3035B, RJ-3055WB, TD-4T and TJ series error codes]
*RJ-2035B, RJ-2055WB, RJ-3035B, RJ-3055WB, TD-4T and TJ series do not support the Error codes occurring during printing.
Error code | Error message |
---|---|
0 | |
20 | |
02 | Label jammed |
0A | |
04 | No media in the printer |
08 | |
0C | |
01 | The printer cover is open |
03 | |
05 | |
09 | |
0B | |
0D | |
10 | Printing error |
80 |
Print PDF
Configure the URL scheme as shown below:
[URL scheme]
Single Layout Printing
brotherwebprint://print?filename=file.pdf&size=26x76.bin&copies=1
|

Multiple Layout Printing
brotherwebprint://print?filename1=file1.pdf&filename2=file2.pdf&…&size=26x76.bin&copies=1 |
*An index in the filename is required. A Filename without an index will be ignored and will not be printed.
*0 or a positive integer can be configured as an index.
Configure the HTTP as shown below:
[HTTP]
Single Layout Printing via HTTP (Android™ only)
http://localhost:8088/print?filename=file.pdf&size=26x76.bin&copies=1 |
Sample response for Single Layout Printing via HTTP (Android™ only)
Success |
Failure |
|
<response> <result>SUCCESS</result> </response> |
<response> <result>The printer cover is open</result> <code>PrinterStatusErrorCoverOpen</code> </response> |
Multiple Layout Printing via HTTP (Android™ only)
http://localhost:8088/print?filename1=file1.pdf&filename2=file2.pdf&…&size=26x76.bin&copies=1 |
*An index in the filename is required. A Filename without an index will be ignored and will not be printed.
*0 or a positive integer can be configured as an index.
Sample response for Multiple Layout Printing via HTTP (Android™ only)
Success |
Failure |
|
<response> <result>SUCCESS</result> </response> |
<response> <result>The printer cover is open</result> <code>PrinterStatusErrorCoverOpen</code> <suspendedIndex>1</suspendedIndex> </response> |
[Required parameters]
Make sure you specify the template and media size as shown below and that they are URL-encoded.
Parameters can be in any order.
Parameter | Configurable setting | Example |
---|---|---|
filename | ingle layout template file (.pdf) ▪Set local or Internet path |
Local path: file.pdf Internet path: http%3A%2F%2Fexample.com%2F%E3%82%B5%E3%83%B3% E3%83%97%E3%83%AB.pdf |
filename[index] | Multiple layout template file (.pdf) ▪Set local or Internet path |
Local path: file1.pdf Internet path: http%3A%2F%2Fexample.com%2F%E3%82%B5%E3%83%B3% E3%83%97%E3%83%AB1.pdf |
size | Media settings file (bin) ▪Set local or Internet path |
Local path: 26x76.bin Internet path: http%3A%2F%2Fexample.com%2F%E3%82%B5%E3%83%B3% E3%83%97%E3%83%AB.bin |
To use a PDF file or a media settings file (BIN file) from another app, share the files with Smooth Print using the "file sharing function" (an OS standard function).
Once the file is shared, specify the file name in the URL scheme before printing.
Get Printer Status
Configure the URL scheme as shown below:
[URL scheme]
brotherwebprint://getstatus?statuscallback=sendurlscheme%3A%2F%2FsuccessCallback%3Fresult%3D |
[Required parameters for callback]
*For the list of error codes to use with callback parameters, see [Brother Print SDK error codes].
*Parameter settings must be UTF-8-encoded and URL-encoded, including colons and slashes.
*TD-4T and TJ series are not supported.
Parameter | Description | Values | Example values |
---|---|---|---|
statuscallback | Use this parameter in the URL scheme to return printer status. | URL string | sendurlscheme%3A%2F%2F successCallback%3Fresult%3D |
Configure the HTTP as shown below:
[HTTP]
Get printer status via HTTP (Android™ only)
http://localhost:8088/getstatus?statuscallback=sendurlscheme%3A%2F%2FsuccessCallback%3Fresult%3D |
Sample response for get printer status via HTTP (Android™ only)
<response> <result>The printer cover is open</result> <code>PrinterStatusErrorCoverOpen</code> </response> |
Send File
Configure the URL scheme as shown below:
[URL scheme]
brotherwebprint://send?filename=file.prn |
Configure the HTTP as shown below:
[HTTP]
Send file via HTTP (Android™ only)
http://localhost:8088/send?filename=file.prn |
Sample response for send file via HTTP (Android™ only)
Success |
Failure |
|
<response> <result>SUCCESS</result> </response> |
<response> <result>Data transmission error</result> <code>ERROR_COMMUNICATION_ERROR</code> </response> |
[Required parameters]
Parameter | Description | Example values |
---|---|---|
filename | Single layout file Supported format: prn, bin *Set local or Internet path |
Local path: file.prn Internet path: http%3A%2F%2Fexample.com%2F%E3%82%B5%E3% 83%B3%E3%83%97%E3%83%AB.prn |
filename[index] | Multiple layout file Supported format: prn, bin *Set local or Internet path |
Local path: file1.prn Internet path: http%3A%2F%2Fexample.com%2F%E3%82%B5%E3% 83%B3%E3%83%97%E3%83%AB.prn |
*Parameter settings must be UTF-8-encoded and URL-encoded, including colons and slashes.
[Optional parameters]
Parameter | Description | Default setting |
---|---|---|
fileattach | Set the base64 data as a print file to attach to a URL scheme. (single layout) |
- |
fileattach_filename[index]. | Set the base64 data as a print file to attach to a URL scheme. (multiple layout) |
- |
formatarchiveupdate | Update and save files. 0 = Off 1 = On |
0 |
Find Printer
Configure the URL scheme as shown below:
[URL scheme]
brotherwebprint://search?connecttype=BT&search_result=sendurlscheme%3A%2F%2Fsearch_result%3Fresult%3D
|
Configure the HTTP as shown below:
[HTTP]
Find Printer via HTTP (Android™ only)
http://localhost:8088/search?connecttype=BT |
Sample response for Find Printer via HTTP (Android™ only)
<resultList> <response> <name>RJ-4230B_0000</name> <macAddress>00:00:00:00:00:00</macAddress> </response> <response> <name>RJ-4250WB_0000</name> <macAddress>00:00:00:00:00:00</macAddress> </response> </resultList> |
[Required parameters]
Parameter | Configurable setting |
---|---|
connecttype | BT |
[Required parameters for callback]
Parameter | Description | Values | Example values (URL-encoded values) |
Example values (before URL encoding) |
---|---|---|---|---|
search_result | Use this parameter in the URL scheme to return printer search results. | URL string | sendurlscheme%3A%2F% 2Fsearch_result% 3Fresult%3D |
searchurlscheme://search_result? result= |
Connect Printer
Configure the URL scheme as shown below:
[URL scheme]
brotherwebprint://connect?connecttype=BT&connectaddress=00%3A00%3A00%3A00%3A00%3A00&serialnum=U00000-K0Z000000&model=PT-P910BT&connectcallback=sendurlscheme%3A%2F%2Fconnectcallback%3Fresult%3D |
Configure the HTTP as shown below:
[HTTP]
Connect Printer via HTTP (Android™ only)
http://localhost:8088/connect?connecttype=BT&connectaddress=00%3A00%3A00%3A00%3A00%3A00&serialnum=U00000-K0Z000000&model=PT-P910BT |
Sample response for Connect Printer via HTTP (Android™ only)
Success |
Failure |
|
<response> <result>SUCCESS</result> </response> |
<response> <result>Failure</result> </response> |
[Required parameters]
*The "serialnum" parameter is required when connecting iOS to any of these printer series via Bluetooth:
- MW, PJ, PT, QL, RJ, TD-2, TD-4D
Parameter | Configurable setting | Example values |
---|---|---|
connecttype | BT, WiFi | BT |
connectaddress | For Bluetooth connection: Bluetooth MAC Address of the printer For Wi-Fi connection: IP Address of the printer |
00:00:00:00:00:00 |
serialnum | String | U00000-K0Z000000 |
model | Model name of the printer | PT-P910BT |
[Required parameters for callback]
Parameter | Description | Values | Example values (URL-encoded values) |
Example values (before URL encoding) |
---|---|---|---|---|
connectcallback | Use this parameter in the URL scheme to return printer connection results. | URL string | sendurlscheme%3A%2F% 2Fconnectcallback% 3Fresult%3D |
searchurlscheme://connectcallback? result= |
Supported Models
PJ series
Supported OS | ||||
---|---|---|---|---|
iOS | Android™ | |||
Bluetooth® (MFi) | Wi-Fi® | Bluetooth® | Wi-Fi® | |
PJ-883 | ![]() |
![]() |
![]() |
![]() |
PJ-863 | ![]() |
- | ![]() |
- |
PJ-862 | ![]() |
- | ![]() |
- |
PT series
Supported OS | ||||
---|---|---|---|---|
iOS | Android™ | |||
Bluetooth® (MFi) | Wi-Fi® | Bluetooth® | Wi-Fi® | |
PT-P950NW | - | ![]() |
- | ![]() |
PT-P910BT | ![]() |
- | ![]() |
- |
PT-P900W | - | ![]() |
- | ![]() |
PT-P750W | - | ![]() |
- | ![]() |
QL series
Supported OS | ||||
---|---|---|---|---|
iOS | Android™ | |||
Bluetooth® (MFi) | Wi-Fi® | Bluetooth® | Wi-Fi® | |
QL-1110NWBc | ![]() |
![]() |
![]() |
![]() |
QL-1110NWB | ![]() |
![]() |
![]() |
![]() |
QL-820NWBc | ![]() |
![]() |
![]() |
![]() |
QL-820NWB | ![]() |
![]() |
![]() |
![]() |
RJ series
Supported OS | ||||
---|---|---|---|---|
iOS | Android™ | |||
Bluetooth® (MFi) | Wi-Fi® | Bluetooth® | Wi-Fi® | |
RJ-4250WB | ![]() |
![]() |
![]() |
![]() |
RJ-4230B | ![]() |
- | ![]() |
- |
RJ-3250WB | ![]() |
![]() |
![]() |
![]() |
RJ-3230B | ![]() |
- | ![]() |
- |
RJ-3150Ai | ![]() |
![]() |
![]() |
![]() |
RJ-3150 | - | ![]() |
![]() |
![]() |
RJ-3055WB | - | ![]() |
![]() |
![]() |
RJ-3035B | ![]() |
- | ![]() |
- |
RJ-2150 | ![]() |
![]() |
![]() |
![]() |
RJ-2140 | - | ![]() |
- | ![]() |
RJ-2055WB | - | ![]() |
![]() |
![]() |
RJ-2035B | ![]() |
- | ![]() |
- |
RJ-2050 | ![]() |
![]() |
![]() |
![]() |
RJ-2030 | - | - | ![]() |
- |
TD-4D series
Supported OS | ||||
---|---|---|---|---|
iOS | Android™ | |||
Bluetooth® (MFi) | Wi-Fi® | Bluetooth® | Wi-Fi® | |
TD-4550DNWB | ![]() |
![]() |
![]() |
![]() |
TD-4520DN | - | ![]() |
- | ![]() |
TD-4420DN | - | ![]() |
- | ![]() |
*The printer must be connected via wired LAN.
TD-2 series
Supported OS | ||||
---|---|---|---|---|
iOS | Android™ | |||
Bluetooth® (MFi) | Wi-Fi® | Bluetooth® | Wi-Fi® | |
TD-2350D/2350DF/2350DSA | ![]() |
![]() |
![]() |
![]() |
TD-2320D/2320DF/2320DSA | - | ![]() |
- | ![]() |
TD-2135NWB | ![]() |
![]() |
![]() |
![]() |
TD-2135N | - | ![]() |
- | ![]() |
TD-2130N | - | ![]() |
![]() |
![]() |
TD-2125NWB | ![]() |
![]() |
![]() |
![]() |
TD-2125N | - | ![]() |
- | ![]() |
TD-2120N | - | ![]() |
![]() |
![]() |
*The printer must be connected via wired LAN.
TD-4T series
Supported OS | ||||
---|---|---|---|---|
iOS | Android™ | |||
Bluetooth® (MFi) | Wi-Fi® | Bluetooth® | Wi-Fi® | |
TD-4750TNWBR | - | ![]() |
![]() |
![]() |
TD-4750TNWB | - | ![]() |
![]() |
![]() |
TD-4650TNWBR | - | ![]() |
![]() |
![]() |
TD-4650TNWB | - | ![]() |
![]() |
![]() |
TD-4520TN | - | ![]() |
- | ![]() |
TD-4420TN | - | ![]() |
- | ![]() |
*The printer must be connected via wired LAN.
TJ series
Supported OS | ||||
---|---|---|---|---|
iOS | Android™ | |||
Bluetooth® (MFi) | Wi-Fi® | Bluetooth® | Wi-Fi® | |
TJ-4620TN | - | ![]() |
![]() |
![]() |
TJ-4520TN | - | ![]() |
![]() |
![]() |
TJ-4420TN | - | ![]() |
![]() |
![]() |
TJ-4121TNR | - | ![]() |
- | ![]() |
TJ-4121TN | - | ![]() |
- | ![]() |
TJ-4120TN | - | ![]() |
- | ![]() |
TJ-4021TNR | - | ![]() |
- | ![]() |
TJ-4021TN | - | ![]() |
- | ![]() |
TJ-4020TN | - | ![]() |
- | ![]() |
Specifications
Supported Wireless Connection
iOS: Bluetooth Classic (MFi), Wi-Fi
Android™: Bluetooth Classic, Wi-Fi
Supported OS
iOS: 14.1 or higher
Android™: 8.0 or higher
Download
- Smooth Print for Android™ devices and sample programs.
After downloading the APK file, install it on your Android™ device.
iOS devices:
Download Smooth Print for iOS from the App Store to your iOS device.
For Developers
-
Choose from Purposes
*Label printing, printer setup and management information.
-
b-PAC
Information on application development tools for Windows
-
Mobile SDK
Information on application development tools for mobile terminals
-
Command Reference
Information on control command reference for label printers and mobile printers
-
Versatile software
Information on versatile software provided by Brother
-
Choose from Models
Introduction of Brother tools applicable to your model
-
Video Library
Videos showing how to use SDK and other information
-
Contact Us
Fill out the contact us form if you have questions about Brother developer tool.