# How To: Set Up a Kiosk Ticket Printer

{% hint style="info" %}
This guide is for printing tickets on a Kiosk running on a PC
{% endhint %}

To print tickets on the kiosk, you need to connect a dedicated printer to the kiosk and either define the printing settings in the Browser or install the "Cubu Print Service".&#x20;

The Cubu Print Service is a Windows service responsible for printing tickets.

## Using Cubu Print Service

When the Kiosk's print mode is set to "Cubu Print Service", the kiosk will print tickets using Cubu Print Service. The service must be installed on the same machine running the kiosk. The service exposes an HTTP endpoint that is called by the kiosk web application when it needs to print a ticket.

<div align="left"><figure><img src="/files/ibdLWTI0Y1IXATaaXvZg" alt="" width="343"><figcaption></figcaption></figure></div>

The "Print service port" must match the local service's port. The default port is **8089**.

### **Downloading the Installer**

Download the service from the following link and then follow the wizard to install it. The Cubu installer will run as a local Windows service on the machine.

💽 [Cubu.PrintService.Installer.msi](https://cubushared.blob.core.windows.net/downloads/PrintService/Cubu.PrintService.Installer.msi)

### **Changing the Print Service Port**

Cubu Print Service uses port 8089 by default. If this port is unavailable on your machine and you need to change it, you can edit `appsettingsFile.json,` in the service's installation directory (normally, "**Program FIles\Cubu\Cubu Print Service**"). Open the file using a text editor (e.g., Notepad) and change the port number in the **urls** attribute.

For example, to listen on port 9091 set the **urls** attribute like this:

```json
{
    // ...
    "urls": "http://*:9091"
    //...
}
```

Save the file and restart the service.

**Changing The Default Printer**

By default, Cubu Print Service uses the printer set as the default printer. If you wish to print to another printer, set the printer name in the `appsettingsFile.json` file.&#x20;

For example:

```json
"Printer": { 
  "Name": "Ticket Printer 1"
}
```

Save the file and restart the service.

## Using Browser Printing

When the kiosk Print Method is set to "Browser printing", the kiosk application will print the tickets using the browser print method. Browsers usually show a print dialog before printing, which is not a desired behavior for a kiosk. To suppress the print dialog, follow the instructions below:

### Browser Configuration on a PC Running Windows

#### Using Google Chrome

Open the regular print dialog once, open up "**More settings**", make sure to uncheck "**Print headers and footers**", and set "**Margins**" to "**None**". Then select the printer you want to use and close it (you can cancel).

After that, you launch Chrome with `--kiosk-printing` , `--kiosk`, and the URL to the page you want to show as command line arguments.

**Starting the browser in kiosk mode**

{% code overflow="wrap" %}

```
"C:\Program Files\Google\Chrome\Application\chrome.exe" --chrome-frame --kiosk <kiosk_url>
```

{% endcode %}

#### Using Firefox

On Firefox, open the regular print dialog once, open up "**More settings**", make sure to uncheck "**Print headers and footers**", and set "**Margins**" to "**None**". Then select the printer you want to use and close it (you can cancel).

Firefox doesn't have a `--kiosk-printing` command line argument, so you need to browse to `about:config` and set `print.always_print_silent` to true.

After that, you launch Firefox with the `--kiosk` option and and the URL to the page you want to show as command line arguments.

### Browser Configuration on Mac OS

#### Using Google Chrome

**Starting the browser in Kiosk mode**

{% code overflow="wrap" %}

```
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --kiosk-printing --kiosk <kiosk_url>
```

{% endcode %}

For example:

{% code overflow="wrap" %}

```
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --kiosk-printing --kiosk https://my.public.dev.cubu.com/kiosks  
```

{% endcode %}

#### Print settings

Open the regular print dialog once, open up "**More settings**", make sure to uncheck "**Print headers and footers**", and set "**Margins**" to "**None**". Then select the printer you want to use and close it (you can cancel).

### Using Firefox

**Starting the browser in Kiosk mode**

```
/Applications/Firefox.app/Contents/MacOS/firefox --kiosk <kiosk_url>
```

For example

{% code overflow="wrap" %}

```
/Applications/Firefox.app/Contents/MacOS/firefox --kiosk https://my.public.dev.cubu.com/kiosks
```

{% endcode %}

#### Print settings

On Firefox, open the regular print dialog once, open up "**More settings**", make sure to uncheck "**Print headers and footers**", and set "**Margins**" to "**None**". Then select the printer you want to use and close it (you can cancel).

Firefox doesn't have a `--kiosk-printing` command line argument, so you need to browse to `about:config` and set `print.always_print_silent` to true.

## See Also

{% content-ref url="/spaces/8vfRpZGqpk7N0egaXMQ8/pages/985cEFjqz89YJCLluevx" %}
[Kiosks](/guides/understanding-the-basics/kiosks.md)
{% endcontent-ref %}

{% content-ref url="/spaces/8vfRpZGqpk7N0egaXMQ8/pages/lXoVfLm65Z7P74uTkAJf" %}
[Managing Kiosks](/guides/admin-tools/organization-tree/managing-kiosks.md)
{% endcontent-ref %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cubu.com/guides/how-to-guides/admin-tasks/how-to-set-up-a-kiosk-ticket-printer.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
