# 클라우드 인쇄

클라우드 인쇄를 사용하면 WCPOS가 계산대를 실행하는 장치에 직접 연결되지 않은 프린터로 영수증을 전송할 수 있습니다. WP Admin에서 한 번만 설정하면, 각 장치가 하드웨어를 직접 검색하고 페어링할 필요 없이 주문이 주방 프린터, 백오피스 프린터 또는 다른 방의 프린터로 인쇄됩니다.

## 클라우드 인쇄란?[​](#what-is-cloud-printing "클라우드 인쇄란?으로 직접 링크")

**로컬 인쇄**에서는 POS를 실행하는 장치가 USB, 블루투스 또는 로컬 네트워크를 통해 프린터와 직접 통신합니다. 프린터가 계산대 옆에 있을 때 적합한 방식입니다 — 동일한 장치에서 USB, 블루투스, 네트워크 프린터를 연결하는 방법은 [프린터 설정](/ko/hardware/printers.md)을 참조하세요.

**클라우드 인쇄**는 그 외의 모든 경우를 위한 것입니다: 다른 위치에 있거나, 다른 네트워크에 있거나, 각 장치마다 따로 설정하지 않고 모든 장치가 공유하기를 원하는 프린터입니다. 전달 방식은 두 가지가 있습니다:

* **폴링 프린터.** 프린터가 일정에 따라 인터넷을 통해 WCPOS에 접속하여 "전송할 작업이 있나요?"라고 물어보고 대기 중인 작업을 가져옵니다. WCPOS는 프린터에 연결하지 않으며, 항상 프린터가 먼저 통신을 시작합니다. **Star CloudPRNT**와 **Epson Server Direct Print**가 이 방식으로 작동합니다.
* **호스팅 릴레이 제공업체.** WCPOS가 호스팅 서비스에 인쇄 작업을 제출하면, 해당 서비스가 프린터로 전달합니다. **Star Online**과 **PrintNode**가 이 방식으로 작동합니다. Star Online은 stario.online 계정에 등록된 Star CloudPRNT 프린터로 전달하고, PrintNode는 데스크톱 클라이언트를 통해 해당 컴퓨터가 이미 인쇄할 수 있는 거의 모든 프린터로 전달합니다.

왜 폴링 방식 프린터인가?

폴링 프린터는 열린 포트, 고정 IP 또는 방화벽 변경이 필요 없으며, 오직 아웃바운드 요청만 보냅니다. 따라서 원격 사이트에 있거나 제어할 수 없는 라우터 뒤에 있는 프린터에 이상적입니다. 단점은 약간의 지연입니다: 프린터는 다음 폴링이 돌아올 때만 인쇄합니다.

## 제공업체 선택[​](#providers "제공업체 선택으로 직접 링크")

하드웨어에 맞는 제공업체를 선택하세요.

#### Star CloudPRNT

**CloudPRNT** 펌웨어를 실행하는 Star 감열 프린터용. 프린터가 WCPOS를 폴링하여 작업을 가져옵니다. 영수증은 프린터의 네이티브 명령으로 렌더링됩니다. 감열 템플릿이 필요합니다.

#### Star Online

**stario.online** 계정에 등록된 Star 프린터용. WCPOS가 Star Document Markup을 Star의 호스팅 서비스에 제출하면, 프린터가 Star Online에서 이를 수집합니다. 감열 템플릿이 필요합니다.

#### Epson Server Direct Print

**Server Direct Print**를 지원하는 Epson ePOS 프린터용. 프린터가 WCPOS를 폴링하여 작업을 ePOS-Print XML로 가져옵니다. 감열 템플릿이 필요합니다.

#### PrintNode

**PrintNode 데스크톱 클라이언트**를 통해 모든 OS에서 컴퓨터가 인쇄할 수 있는 거의 모든 프린터와 함께 작동합니다. WCPOS가 PDF를 제출하므로 전체 페이지 HTML 인보이스를 포함한 모든 템플릿을 사용할 수 있습니다.

| 제공업체                      | 하드웨어                                       | 작업 흐름 방식                                    | 템플릿      |
| ----------------------------- | ---------------------------------------------- | ------------------------------------------------- | ----------- |
| **Star CloudPRNT**            | CloudPRNT 펌웨어가 있는 Star 감열 프린터       | 프린터가 WCPOS를 폴링                             | 감열 전용   |
| **Star Online**               | stario.online에 등록된 Star 프린터             | WCPOS가 Star Document Markup을 Star Online에 제출 | 감열 전용   |
| **Epson Server Direct Print** | Server Direct Print가 있는 Epson ePOS 프린터   | 프린터가 WCPOS를 폴링                             | 감열 전용   |
| **PrintNode**                 | OS에 연결된 모든 프린터 + PrintNode 클라이언트 | WCPOS가 PrintNode에 PDF를 제출                    | 모든 템플릿 |

## 클라우드 프린터 설정[​](#setup "클라우드 프린터 설정으로 직접 링크")

클라우드 프린터는 WP Admin에서 한 번 구성되어 모든 장치에서 공유됩니다 — 장치마다 저장되는 로컬 프린터와는 다릅니다.

**WP Admin > POS > Settings > Cloud Print**로 이동하여 **Add printer**를 클릭하세요. **이름**(예: "Kitchen" 또는 "Back office")을 지정합니다. WCPOS는 프린터로부터 안정적인 **프린터 ID**를 자동으로 도출하며, 이 ID는 절대 변경되지 않으므로 프린터의 펌웨어 구성에서 참조해도 안전합니다.

프린터가 생성된 후 제공업체 쪽을 구성합니다.

### Star 또는 Epson (폴링 프린터)[​](#setup-polling "Star 또는 Epson (폴링 프린터)으로 직접 링크")

1

#### WCPOS에서 프린터 추가

**WP Admin > POS > Settings > Cloud Print**에서 프린터를 추가하고 제공업체로 **Star CloudPRNT** 또는 **Epson Server Direct Print**를 선택합니다. WCPOS는 해당 프린터에 대한 **폴 URL**과 **일회용 토큰**을 생성합니다.

2

#### 폴 URL과 토큰 복사

생성된 폴 URL과 토큰을 복사합니다. **토큰은 한 번만 표시됩니다** — 분실한 경우 프린터 카드에서 새 토큰을 재생성하고 새 값으로 프린터를 업데이트하세요.

3

#### 프린터 구성에 입력

프린터의 구성 페이지를 엽니다 — Star의 경우 **CloudPRNT** 설정, Epson의 경우 **Server Direct Print** 설정 — 그리고 폴 URL과 토큰을 붙여넣습니다. 프린터가 폴링 간격을 요구하면 설정하세요(보통 몇 초). 필요한 경우 프린터를 저장하고 재부팅하세요.

폴링 주기 내에 프린터가 체크인하면 WCPOS에서 해당 상태가 **Waiting**에서 **Connected**로 변경됩니다.

### PrintNode[​](#setup-printnode "PrintNode으로 직접 링크")

1

#### PrintNode 데스크톱 클라이언트 설치

대상 프린터로 이미 인쇄할 수 있는 컴퓨터에 **PrintNode 클라이언트**를 설치하고 로그인합니다. 작업이 인쇄되려면 클라이언트가 계속 실행되고 온라인 상태를 유지해야 합니다.

2

#### PrintNode API 키 발급

PrintNode 계정에서 **API 키**를 생성합니다. 이를 통해 WCPOS가 PrintNode 계정에 작업을 제출할 수 있습니다.

3

#### WCPOS에 API 키 입력

**WP Admin > POS > Settings > Cloud Print**에서 프린터를 추가하고 제공업체로 **PrintNode**를 선택한 후 API 키를 붙여넣습니다. WCPOS는 이를 사용하여 PrintNode 계정에 등록된 프린터 목록을 가져옵니다.

4

#### 프린터 선택

PrintNode 클라이언트가 보고한 프린터 목록에서 대상 프린터를 선택한 후 저장합니다. WCPOS는 이 프린터에 대한 작업을 PrintNode에 제출하고, 클라이언트가 이를 인쇄합니다.

### Star Online[​](#setup-star-online "Star Online으로 직접 링크")

Star 프린터가 이미 **stario.online** 계정에 등록되어 있고 Star의 호스팅 서비스가 전달을 처리하기를 원할 때 Star Online을 사용하세요.

1

#### CloudPRNT URL 발급

stario.online에서 **Device Groups**를 열고 그룹의 **CloudPRNT URL**을 복사합니다. `https://device.stario.online/cloudprnt/...` 또는 `https://eu-device.stario.online/cloudprnt/...`와 같은 형식이어야 합니다.

2

#### 권한이 있는 API 키 생성

stario.online에서 WCPOS용 API 키를 생성합니다. 키에는 장치를 나열하고 인쇄할 수 있는 권한이 있어야 합니다. 최소한 다음을 활성화하세요:

* **EnumDevices** — WCPOS가 장치 목록을 가져올 때 필요
* **ViewDevice** — 장치 상태 확인에 사용
* **PrintToDevice** — 인쇄 작업 제출에 필요
* **ViewDeviceGroups** — 그룹 조회 및 진단에 권장

이러한 권한이 활성화되지 않으면 API 키가 존재하더라도 실패할 수 있습니다.

3

#### WCPOS에 URL과 API 키 입력

**WP Admin > POS > Settings > Cloud Print**에서 프린터를 추가하고 제공업체로 **Star Online**을 선택한 후 CloudPRNT URL과 API 키를 붙여넣습니다. **Fetch my devices**를 클릭합니다.

4

#### Star 장치 선택

장치 목록에서 프린터를 선택하고 저장합니다. WCPOS는 API 키를 서버 측에 저장하고, Star Online에 작업을 제출할 때 선택한 장치의 액세스 식별자를 사용합니다.

## 자동 인쇄 규칙[​](#auto-print "자동 인쇄 규칙으로 직접 링크")

자동 인쇄 규칙은 무엇을 어디에 인쇄할지 자동으로 결정합니다 — 평이한 문장으로 작성됩니다. 규칙은 **범위 × 프린터 × 템플릿**으로 구성되며, 예를 들면 다음과 같습니다:

> **Kitchen Ticket**을 사용하여 **모든 주문**을 **Kitchen**에 인쇄합니다.

일치하는 주문이 완료되면 WCPOS가 선택한 **템플릿**을 서버 측에서 프린터에 필요한 형식으로 렌더링하여 대기열에 넣습니다 — 캐셔가 할 일은 없습니다.

템플릿 호환성이 중요합니다

Star 및 Epson 프린터는 **감열** 템플릿만 사용할 수 있습니다. 작업이 프린터의 네이티브 명령 언어(Star의 경우 Star Document Markup 또는 ESC/POS, Epson의 경우 ePOS-Print)로 렌더링되어야 하기 때문입니다. PrintNode는 작업이 **PDF**로 렌더링되므로 **모든** 템플릿(감열 또는 전체 페이지 HTML)을 사용할 수 있습니다. 템플릿이 특정 프린터의 옵션으로 나타나지 않는다면, 이는 프린터가 해당 형식을 렌더링할 수 없기 때문입니다. 감열 레이아웃 생성은 [감열 템플릿](/ko/receipts/thermal-templates.md)을 참조하세요.

## 매장별 프린터 (Pro)[​](#per-store-printers "매장별 프린터 (Pro)으로 직접 링크")

Pro 기능

매장별 인쇄 라우팅에는 [WCPOS Pro](/ko/getting-started/pro-license.md)와 [다중 매장](/ko/stores/.md) 설정이 필요합니다.

기본적으로 자동 인쇄 규칙은 전역적이며, 모든 매장이 이를 공유합니다. Pro에서는 개별 매장에 **자체** 클라우드 인쇄 규칙을 부여하여 해당 매장의 주문이 자체 프린터로 인쇄되도록 할 수 있습니다(한 위치의 주방 티켓이 다른 위치에서 인쇄되어서는 안 됩니다).

**POS → Stores**에서 매장을 편집하고 **Cloud Printing** 섹션을 열어 **Add rule**을 클릭하세요. 각 규칙은 다음과 같습니다:

* **프린터 ID** — 전송할 클라우드 프린터의 안정적인 ID
* **범위** — **POS 주문만**(기본값), **온라인 주문만** 또는 **모든 주문**
* **형식** — **StarPRNT**(기본값), **ESC/POS**, **Epson ePOS-Print** 또는 **HTML**

주문이 자체 규칙이 있는 매장에 속하면 WCPOS는 이를 해당 매장의 프린터로 라우팅합니다. 매장에 자체 규칙이 **없으면** **전역** 자동 인쇄 규칙으로 **폴백**합니다 — 따라서 다른 설정이 필요한 매장만 구성하면 됩니다.

## 수동 인쇄[​](#manual "수동 인쇄으로 직접 링크")

자동 인쇄 규칙을 기다릴 필요가 없습니다. **결제/영수증 화면**에서 캐셔는 필요에 따라 클라우드 프린터로 영수증을 전송할 수 있습니다 — 재인쇄하거나 일회성 티켓을 특정 프린터로 라우팅할 때 유용합니다.

영수증이 생성되는 방식은 프린터에 따라 다릅니다:

* **Star CloudPRNT** — 영수증이 **장치에서** 렌더링되어 CloudPRNT를 통해 프린터로 전달됩니다.
* **Star Online, Epson, PrintNode** — 영수증이 선택한 주문과 템플릿으로부터 **서버에서** 렌더링된 후 프린터 또는 호스팅 릴레이로 전달됩니다.

## 테스트 인쇄 및 연결 상태[​](#status "테스트 인쇄 및 연결 상태으로 직접 링크")

각 프린터 카드에는 **Test print** 버튼이 있어 짧은 진단 작업을 전송하므로, 실제 주문에 사용하기 전에 프린터에 도달할 수 있는지와 형식이 올바른지 확인할 수 있습니다.

또한 카드에는 실시간 상태가 표시됩니다:

| 제공업체                   | 상태          | 의미                                                                       |
| -------------------------- | ------------- | -------------------------------------------------------------------------- |
| **Star CloudPRNT / Epson** | **Waiting**   | 프린터가 아직 체크인하지 않았습니다 — WCPOS가 첫 폴링을 기다리고 있습니다. |
| **Star CloudPRNT / Epson** | **Connected** | 프린터가 최근에 WCPOS를 폴링했으며 작업을 수집하고 있습니다.               |
| **Star Online**            | **Online**    | Star Online이 선택한 장치가 사용 가능하다고 보고합니다.                    |
| **Star Online**            | **Offline**   | Star Online이 선택한 장치가 사용 불가능하다고 보고합니다.                  |
| **Star Online**            | **Unknown**   | WCPOS가 Star Online에서 장치 상태를 확인할 수 없었습니다.                  |
| **PrintNode**              | **Online**    | PrintNode 서비스가 클라이언트와 프린터가 사용 가능하다고 보고합니다.       |
| **PrintNode**              | **Offline**   | PrintNode가 클라이언트 또는 프린터를 사용할 수 없다고 보고합니다.          |

## 문제 해결[​](#troubleshooting "문제 해결으로 직접 링크")

프린터가 Waiting 상태에 멈춤

**Waiting** 상태를 벗어나지 못하는 폴링 프린터는 WCPOS에 한 번도 성공적으로 도달하지 못한 것입니다. 다음을 확인하세요:

* 프린터 펌웨어의 **폴 URL과 토큰**이 WCPOS가 생성한 것과 정확히 일치하는지. 문자 하나만 틀려도 모든 폴링이 거부됩니다 — 확실하지 않으면 WCPOS에서 토큰을 재생성하고 다시 입력하세요.
* 프린터가 인터넷을 통해 실제로 **사이트에 도달**할 수 있는지(올바른 DNS, 아웃바운드 HTTPS를 차단하는 방화벽 없음, 스토어의 유효한 SSL 인증서).
* 프린터의 CloudPRNT / Server Direct Print 구성에서 **폴링이 활성화**되어 있고 적절한 간격으로 설정되어 있는지. 설정을 변경한 후에는 프린터를 재부팅하세요.

Star Online에서 API 키가 권한이 없거나 금지되었다고 표시됨

Star Online은 **인증**과 **권한**을 구분합니다:

* **401 / 인증 실패**는 API 키 자체가 수락되지 않았음을 의미합니다. 키가 올바르게 복사되었는지, 취소되지 않았는지, 예상한 Star Online 계정/지역에 속하는지 확인하세요.
* **403 / 금지**는 API 키는 수락되었지만 요청한 작업에 대한 권한이 없음을 의미합니다. stario.online에서 키를 편집하고 필요한 권한, 특히 **Fetch my devices**를 위한 **EnumDevices**와 인쇄를 위한 **PrintToDevice**를 활성화하세요.

**Fetch my devices**는 성공하지만 프린터가 나타나지 않으면 stario.online의 **Device Groups** 페이지를 확인하세요. 그룹에는 연결된 장치가 하나 이상 있어야 하며, WCPOS의 CloudPRNT URL이 동일한 그룹을 가리켜야 합니다.

PrintNode 작업이 인쇄되지 않음

작업이 PrintNode에 도달했지만 프린터에서 출력되지 않았습니다. 다음을 확인하세요:

* 프린터에 연결된 컴퓨터에서 **PrintNode 데스크톱 클라이언트가 실행 중이고 온라인 상태**인지. 컴퓨터가 절전 모드이거나 클라이언트가 닫혀 있으면 아무것도 인쇄되지 않습니다.
* WCPOS에서 **올바른 프린터**를 선택했는지 — 이름이 클라이언트가 보고하는 프린터와 일치해야 합니다.
* **API 키가 유효**하고 취소되지 않았는지. PrintNode가 프린터를 Offline으로 표시하면 다시 입력하세요.

Star 또는 Epson 프린터에서 내 템플릿을 선택할 수 없음

Star 및 Epson 클라우드 프린터에서는 **감열** 템플릿만 작동합니다. 영수증이 ESC/POS 또는 ePOS-Print 명령으로 렌더링되어야 하기 때문입니다. HTML 및 전체 페이지 템플릿은 이러한 형식으로 표현할 수 없으므로 이 프린터에서는 숨겨집니다.

[감열 템플릿](/ko/receipts/thermal-templates.md)을 선택하거나 **PrintNode** 프린터를 사용하세요 — PrintNode는 PDF로 렌더링하므로 모든 템플릿을 인쇄할 수 있습니다.

## 관련 문서[​](#related-documentation "관련 문서으로 직접 링크")

[프린터 설정동일한 장치 또는 네트워크에서 프린터 연결](/ko/hardware/printers.md)

[템플릿영수증 템플릿 시스템](/ko/receipts/.md)

[감열 템플릿Star 및 Epson 프린터용 ESC/POS 레이아웃 구축](/ko/receipts/thermal-templates.md)
