> ## Documentation Index
> Fetch the complete documentation index at: https://make.edicus.io/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# 템플릿 제작 시작하기

> InDesign 디자인을 에디쿠스에서 편집할 수 있는 템플릿으로 만드는 전체 흐름

에디쿠스 템플릿은 사용자가 사진과 글자를 바꿀 수 있게 만든 디자인 견본입니다. InDesign으로 디자인하고, InDesign 확장 프로그램인 **Edicus Exporter**(익스포터)로 변환해 올립니다. `.indd` 파일을 편집기에 그대로 넘기지는 않습니다.

## 배우는 것

* 템플릿을 만들기 전에 정해야 할 것
* 상품 만들기부터 편집기에 띄우기까지의 순서
* `ps_code`와 `resUri`, `template_uri`의 관계

## 왜 InDesign인가

에디쿠스는 주로 인쇄 상품을 다룹니다. 인쇄용 디자인은 도련, 색 공간, 후가공 판처럼 화면용 그래픽보다 많은 정보를 담아야 합니다. 그래서 출판용 프로그램인 InDesign의 문서 구조를 읽어 템플릿으로 바꿉니다. 그래야 사용자가 편집한 결과가 그대로 생산 파일로 이어집니다.

## 시작 전에 받을 것

<Steps>
  <Step title="Edicus Manager 계정을 받습니다">
    모션원에 Edicus Manager 계정을 요청합니다. Edicus Manager는 상품, 템플릿, 폰트를 관리하는 에디쿠스 관리 도구이고, 접속 주소는 모션원에서 안내받습니다. 템플릿을 올릴 디자이너 계정은 역할이 `partner-admin`이나 `partner-designer`여야 합니다.
  </Step>

  <Step title="역할을 나눕니다">
    디자이너 계정(`partner-designer`)은 익스포터 로그인과 업로드는 되지만, 지금은 Edicus Manager에 로그인해도 왼쪽 메뉴가 보이지 않습니다. 그래서 상품과 사이즈 저장(재단 여백 포함), 폰트 등록, **Demo**, `resUri` 복사, **Test Order**는 파트너 관리자 계정(`partner-admin`)으로 합니다. 디자이너는 이 일을 관리자에게 요청합니다.
  </Step>

  <Step title="익스포터 설치 파일을 받습니다">
    모션원에 익스포터 설치 파일(`.zxp`)을 요청합니다. 새 버전도 모션원에서 받습니다. 설치는 [익스포터 설치와 설정](/docs/templates/install-exporter)을 따릅니다.
  </Step>

  <Step title="폰트를 준비합니다">
    템플릿에 쓸 폰트는 Edicus Manager에 등록돼 있어야 올릴 수 있습니다. 새 파트너에는 등록된 폰트가 하나도 없으므로, 첫 업로드 전에 관리자에게 폰트 하나를 등록하고 **폰트 적용**까지 해 달라고 요청합니다. 방법은 [폰트](/docs/products/fonts)에 있습니다.
  </Step>
</Steps>

## 시작 전에 정할 것

| 준비물 | 정할 내용 |
| - | - |
| 생산 규격 | 실제 생산 파일 기준의 완성 크기, 도련, 칼선, 앞뒤와 페이지 순서 |
| 목업 | 편집 화면에 보일 상품 모양. 규격과 함께 확정돼 있어야 레이어를 설계할 수 있습니다 |
| 편집 범위 | 사용자가 바꿀 사진과 글자, 움직이면 안 되는 장식 |
| 상품과 사이즈 | Edicus Manager에서 만든 `ps_code` |
| 제작 환경 | 한국어판 InDesign, 익스포터, Edicus Manager 계정, Edicus Manager에 등록한 폰트 |
| 사람 | 디자이너와 Edicus Manager를 맡을 담당자. 상품 설정과 템플릿이 맞물리므로 함께 익히세요 |

## 전체 흐름

```mermaid theme={null}
flowchart TD
    A["Edicus Manager: 상품과 ps_code 만들기"] --> B["InDesign에 익스포터 설치"]
    B --> C["InDesign: 디자인과 레이어 나누기"]
    C --> D["익스포터: 익스포트 아이템에 ps_code 지정"]
    D --> E["Export"]
    E --> F["Preview"]
    F --> G["Upload Template"]
    G --> H["Edicus Manager Resource: 확인과 Demo"]
    H --> I["resUri 복사"]
    I --> J["편집기 띄우기: template_uri에 resUri"]
```

1. Edicus Manager에서 상품과 ps\_code를 만듭니다. [상품과 ps\_code 만들기](/docs/products/create)를 보세요.
2. InDesign에 익스포터를 설치합니다. [익스포터 설치와 설정](/docs/templates/install-exporter)을 보세요.
3. InDesign에서 디자인하고 개체를 정해진 이름의 레이어에 나눠 넣습니다. [레이어 이름과 개체 종류](/docs/templates/layers)를 보세요.
4. 익스포터의 익스포트 아이템에 `ps_code`를 지정하고 **Export**, **Preview**, **Upload Template** 순서로 올립니다. 자세한 내용은 [템플릿 업로드와 수정](/docs/templates/upload)에 있습니다.
5. 관리자 계정으로 Edicus Manager **Resource** 화면에서 템플릿을 찾아 **Demo**로 열어 봅니다.
6. 템플릿의 `resUri`를 복사해 개발자에게 `ps_code`와 함께 전달합니다.
7. [테스트 주문과 렌더링](/docs/templates/test-render)으로 생산 파일까지 점검합니다.

처음이라면 [첫 템플릿 만들기](/docs/templates/first-template)에서 명함 한 장으로 이 흐름을 한 번에 따라가 보세요.

## ps\_code와 resUri와 template\_uri

| 값 | 무엇을 고르나 | 어디서 얻나 |
| - | - | - |
| `ps_code` | 상품과 사이즈. 편집기 동작과 크기를 정합니다 | Edicus Manager **Product** 화면 |
| `resUri` | 업로드한 템플릿 디자인 하나 | Edicus Manager **Resource** 화면 |
| `template_uri` | 편집기를 띄울 때 쓸 템플릿 | `resUri` 값을 그대로 넣습니다 |

템플릿의 `resUri`는 아래 형식입니다. `gcs://`는 웹 주소가 아니라 에디쿠스 저장소 안의 위치를 가리키는 표기입니다. 브라우저 주소창에 넣어 열지 않습니다.

```text theme={null}
gcs://template/partners/<파트너 코드>/res/template/<리소스 ID>.json
```

편집기는 `ps_code`로 상품 설정을, `template_uri`로 디자인을 따로 읽습니다. 둘이 짝이 맞는지는 검사하지 않습니다. 그래서 템플릿을 올릴 때 지정한 `ps_code`로 띄워야 크기와 설정이 맞습니다. 띄우는 코드는 [편집기 띄우기](/docs/sdk/launch)에 있습니다.

## 됐는지 확인

<Check>
  쓸 `ps_code`와 생산 규격, 사용자가 바꿀 개체와 고정할 개체가 정해졌으면 템플릿을 만들 준비가 끝났습니다.
</Check>

## 다음 단계

<Columns cols={2}>
  <Card title="익스포터 설치" icon="download" href="/docs/templates/install-exporter">
    InDesign에 익스포터를 설치하고 로그인합니다.
  </Card>

  <Card title="첫 템플릿 만들기" icon="address-card" href="/docs/templates/first-template">
    명함 한 장으로 제작 흐름을 익힙니다.
  </Card>
</Columns>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.