> ## 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.

# 사이즈 고급 옵션

> 사이즈별 product override, edicus options, sizing option, material option과 부가 기능(Features)

[사이즈와 페이지 정보](/docs/products/sizes)의 기본 설정을 마친 뒤, 사이즈마다 예외가 필요할 때 쓰는 설정입니다. 모두 상품의 `editor`가 `template`일 때만 보입니다.

## 배우는 것

* product override, edicus options, sizing option, material option의 구조와 우선순위
* 공통 템플릿, 미리보기, 페이지 이름, 바코드, surface stack, 마스킹테이프 설정

## 사이즈 옵션 (Options)

사이즈를 고르면 **Options** 묶음에 아래 버튼이 보입니다. 상품의 `editor`가 `template`일 때만 있습니다.

| 화면 이름 | 저장 키 | 보이는 조건 | 설명 |
| - | - | - | - |
| `product override` | `override` | 항상 | 이 사이즈에서만 상품 설정 일부를 바꿉니다 |
| `edicus options` | `rawOption` | 항상 | 사이즈별 추가 옵션 JSON입니다. **적용** 때 JSON 객체인지 검사합니다 |
| `sizing option` | `sizeOption` | 상품의 `size-tab`이 켜짐 | 사용자가 크기를 바꾸는 설정 JSON입니다 |
| `material option` | `materialOption` | 상품의 `mat-code`가 `none`이 아님 | 소재 적용 JSON입니다. `mat-code`는 파트너 권한에 따라 잠금으로 표시될 수 있습니다 |

### product override

드롭다운에서 `undefined`로 둔 항목은 저장되지 않고 상품 설정을 따릅니다. 편집기는 상품을 읽은 직후 아래 값을 상품 설정 위에 덮어씁니다.

| 화면 이름 | 저장 키 | 덮어쓰는 상품 설정 |
| - | - | - |
| Palette Code, Palette Mode | `palCode`, `paletteMode` | 상품 팔레트와 `palette-mode` |
| Foil Code, Foil Mode | `foilCode`, `foilMode` | 박 팔레트와 박 모드 |
| Page Menu, Page Grouping | `pageMenu`, `pageGrouping` | `page-menu`, `grouping` |
| Sticker Group, Design Group | `stickerGroup`, `layoutDesignGroup` | 스티커 묶음, 디자인 묶음 |
| Sticut | `sticutMode` | `sticut-mode`. 값이 있으면 이 사이즈에 `sticut option`이 생깁니다 |
| Show Page Size, Show Item Size | `showPageSize`, `showItemSize` | 크기 표시 |
| BG Fill Value | `fillBGValue` | 레이아웃 전환 때의 배경 채우기 값 |
| BG Remove, BG Remove Value, BG Fix, BG Fix Value | `bgRemove`, `bgRemoveValue`, `bgFix`, `bgFixValue` | 배경 제거와 고정 |
| Static Cell, No Cell Browse, No Face Center | `staticCellUI`, `noCellBrowse`, `noFaceCentering` | 사진 칸 동작 |
| Text Stroke | `textStroke` | 글자 외곽선 도구 |
| Global Plugin, Local Plugin, White Select | `enablePlugin`, `localPlugin`, `whiteSelectUI` | 플러그인, 화이트 선택 |
| Page Filter | `layoutPageFilter` | 없음. 저장되지만 편집기가 읽지 않습니다 |

**Add Tab Control**로 `photo`, `template`, `background`, `layout`, `sticker`, `mask`, `text`, `name`, `size` 탭을 하나씩 골라 켜고 끕니다. `tabControls`에 `{ "type": "photo", "value": true }` 꼴로 쌓이고, 편집기는 `photoTab` 같은 상품의 탭 설정을 바꿉니다. **Reset**은 목록을 지웁니다.

**Tn**은 이 사이즈의 썸네일입니다. `default`는 `width`, `height`(px)를 썸네일 상자 크기로 씁니다. `grid-fit`은 여러 페이지를 한 장에 모으며 `flow`, 바깥·안쪽 여백(`padding.outer`, `padding.inner`), `page-count`를 씁니다. 자세한 동작은 [썸네일](/docs/products/thumbnail-preview#썸네일)을 보세요.

### edicus options

편집기는 상품을 읽은 뒤 이 JSON의 키를 하나씩 해석합니다. 모르는 키는 무시합니다.

```json theme={null}
{
  "group": { "unit_page": 2, "max_order": 21 },
  "filter": { "page_with_sub_types": ["front", "back"] },
  "override": { "spine_mm": 12, "sizeOption": { "palCode": "BASIC" } },
  "params": { "num_page": 10 }
}
```

| 키 | 동작 |
| - | - |
| `group` | 페이지 그룹 설정입니다. [포토카드](/docs/products/photocard)를 보세요 |
| `filter` | 새 프로젝트를 만들 때 템플릿 페이지를 거릅니다. `page_with_indexes`, `page_without_indexes`(0부터 센 번호 배열), `page_with_sub_types`, `page_without_sub_types`(페이지 subType 배열)를 씁니다. subType은 템플릿 페이지에 붙인 세부 종류 이름(예: `front`, `rightside`)입니다. subType이 없는 페이지는 subType 조건으로 거르지 않습니다 |
| `page` | 템플릿 페이지를 읽을 때 페이지 값을 바꿉니다. `renderBound_mm`(페이지 안에서 실제로 인쇄할 영역), `hideSrc`, `maskSrc`, `clipSrc`만 받고 나머지 키는 무시합니다 |
| `override` | `spine_mm`은 책등 폭(mm)을 강제합니다. `sizeOption`은 product override처럼 `palCode`, `paletteMode`, `foilCode`, `foilMode`, `sticutMode`, `tabControls`, `bgRemove`, `bgRemoveValue`, `bgFix`, `bgFixValue`, `noCellBrowse`, `noFaceCentering`, `fillBGValue`를 덮어씁니다 |
| `palette` | `palCode`, `paletteMode`(`strict`만 반영), `noCustomColor`로 팔레트를 바꾸고, `max_color`, `palNameMajor`, `palNameFilters`, `foilCode`, `foilNameMajor`, `foilNameFilters`, `foilTarget`으로 색과 박 선택지를 좁힙니다 |
| `background` | `can_transparent`, `set_transparent`로 배경 투명 허용과 초기 투명을 정합니다 |
| `calendar` | `range`로 달력 개월 수를 정합니다. [달력 상품](/docs/products/calendar)을 보세요 |
| `spine_text` | `min_title_thick`, `text_top_margin`, `limit_margin_mm`, `limit_with_margin`으로 책등 글자 규칙을 정합니다 |
| `asset` | `sticker`, `design`, `pattern`으로 자산 탭에 보일 묶음을 정합니다 |
| `composition` | `group-type`이 `composite`인 상품의 대지 크기와 여백, 칼선 값입니다 |
| `promo` | 프로모션 창입니다. 띄우기 옵션이나 상품 설정에 프로모션이 있으면 무시합니다 |
| `sizing` | 새 프로젝트를 만들 때 페이지 크기를 바꿉니다. 띄우기 옵션 `options.sizing`과 같은 구조이며, 띄우기 옵션이 있으면 무시합니다 |
| `plugins`, `plugin_info` | `plugins` 배열은 쓸 플러그인 목록 뒤에 붙습니다. `plugin_info`는 상품의 로컬 플러그인 정보에 합칩니다 |
| `params` | `num_page`(와 `num_page_set`)로 처음 만들 내지 수를 정합니다. 띄우기 옵션 `num_page`가 있으면 무시합니다 |
| `css` | 문자열 CSS를 편집기 화면에 넣습니다 |
| `effective_layers` | 플러그인 사진의 레이어를 거르는 목록입니다. 편집기가 이 값을 반영하는 시점이 거름 목록을 만든 뒤라 현재는 효과가 없습니다 |

같은 이름의 값을 [띄우기 옵션](/docs/reference/launch-options#options-키) `options`로도 넘길 수 있습니다. `group`, `filter`, `palette`, `background`, `calendar`, `spine_text`, `asset`, `composition`, `override`는 키 단위로 합치며 겹치는 키는 띄우기 옵션이 이깁니다. `promo`와 `sizing`은 띄우기 옵션이 있으면 통째로 띄우기 옵션을 씁니다. 그 위에 `option_string`의 `sizing_*`, `composition_*`, `group_*` 값이 다시 덮어씁니다.

### sizing option

[크기 탭](/docs/products/editor-tabs)과 모바일 크기 창이 이 JSON을 읽습니다. 템플릿에 크기 기준 개체가 있어야 합니다([템플릿 어노테이션](/docs/templates/annotations)).

| 키 | 동작 |
| - | - |
| `enable_sizing` | `false`면 크기 정보만 보이고 바꾸지 못합니다. JSON이 비어 있어도 같습니다 |
| `presets` | 드롭다운 항목 배열 `[{ "name": "90 × 50mm", "value": "90x50" }]`입니다. `value`가 `custom-fix`나 `custom-free`면 직접 입력을 엽니다 |
| `size_type` | `presets`가 없을 때 쓰는 방식입니다. `custom-fix`는 비율을 지키며 긴 변만, `custom-free`는 가로·세로를 따로 입력합니다. `-only`를 붙이면 프리셋을 숨깁니다 |
| `max_custom`, `min_custom` | 직접 입력의 긴 변 `long`, 짧은 변 `short` 범위(mm)입니다. `custom-free`에서는 두 변 모두 `long` 범위로 제한합니다 |
| `enable_round`, `min_round_mm` | `false`면 모서리 둥글기 칸을 숨깁니다. 최소값 기본은 `2`이고 최대값은 짧은 변의 절반에서 2mm를 뺀 값입니다 |
| `sizing_all_page` | 크기를 바꿀 때 모든 페이지에 적용합니다 |
| `masking_target` | `main`이면 재단 크기 개체 모양으로, 그 밖에는 작업 크기 개체 모양으로 페이지를 가립니다 |
| `main_color_hex`, `work_color_hex` | 캔버스 위 재단 크기·작업 크기 안내 글자 색입니다 |

`option_string`의 `sizing_enable_sizing`, `sizing_option_type`, `sizing_custom_max_size_mm`(`size-tab`도 켭니다), `sizing_custom_min_size_mm`, `sizing_enable_round`, `sizing_min_round_mm`도 이 값들을 바꿉니다.

### material option

```json theme={null}
{ "material_code": "SILVER", "overlay": "material", "underlay": "white", "fallback": "hidden" }
```

새 프로젝트를 만들 때와 레이아웃을 바꿀 때, 템플릿의 `material` 변수 개체에 상품 `mat-code` 팔레트의 `material_code` 항목을 입힙니다. `overlay`와 `underlay`는 `material`(그 색이나 패턴), `white`(흰색), `hidden`(숨김) 중 하나입니다. 항목을 찾지 못하면 `fallback`(쉼표로 둘을 주면 오버레이, 언더레이 순서)을 씁니다. 기본은 `hidden`입니다. 띄우기 옵션 `options.material`이 키 단위로 이깁니다.

## 부가 기능 (Features)

드롭다운이 `none`(미리보기는 `standard`)이면 한 줄에 모여 보이고, 종류를 고르면 설정 줄이 따로 열립니다.

| 화면 이름 | 종류 | 보이는 조건 | 설명 |
| - | - | - | - |
| `base-template` | `none`, `default` | 항상 | 공통 템플릿을 합칩니다 |
| `add-template` | `none`, `default` | 항상 | 템플릿 뒤에 페이지를 붙입니다 |
| `preview` | 아래 표 | 항상 | 미리보기 방식입니다 |
| `page-caption` | `none`, `static` | 항상 | 스토리보드 페이지 이름입니다 |
| `paging-rule` | `none`, `standard` | `grouping`이 꺼짐 | [페이징 규칙](/docs/products/pages#페이징-규칙)을 보세요 |
| `barcode` | `none`, `standard` | 항상 | 바코드 위치입니다 |
| `layout-map` | `none`, `standard` | `layout-tab`이 켜지고 `design-mode`가 `simple`이 아님 | [레이아웃과 배경](/docs/products/layout-background)을 보세요 |
| `surface-stack` | `none`, `default` | 상품의 `surface-stack` 켜짐 | 겹쳐 쌓는 상품 구성입니다 |
| `sticut option` | | `sticut-mode`나 override의 Sticut에 값이 있음 | [스티컷 상품](/docs/products/sticut)을 보세요 |
| `tape option` | | `tape-tab`이 켜짐 | 마스킹테이프 선택지입니다 |

### base-template, add-template

`base-template-uri`(`baseTemplate.rscUri`)의 공통 템플릿을 새 프로젝트를 만들 때와 템플릿을 바꿀 때 합칩니다. 같은 순서의 페이지끼리 마스크·클립·출력 영역·재단 여백·안전선·캡션 같은 페이지 정보를 공통 템플릿 값으로 바꾸고, 공통 템플릿의 오버레이(편집할 수 없는 맨 위 레이어)를 넣습니다. 원래 템플릿의 오버레이는 후가공 레이어 이름이 있고 공통 템플릿에 같은 이름이 없을 때만 남습니다. `skip-org-layer`(`discardPostLayer`)를 켜면 원래 오버레이를 모두 버립니다. 둘 중 하나가 `define` 형식 템플릿이면 대신 `inject` 표시가 있는 개체의 이미지만 정의 개체 것으로 바꿉니다.

`add-template-uri`의 템플릿 페이지는 새 프로젝트를 만들 때만 문서 끝에 붙습니다. 저장된 프로젝트를 다시 열 때는 두 기능 모두 다시 적용하지 않습니다.

### preview

데스크톱 **미리보기** 버튼은 아래 종류대로 엽니다. 모바일에서는 `model-3d`면 3D 버튼이, `surface-stack`이면 겹침 미리보기가 열리고 나머지는 기본 미리보기입니다. 기존 모바일 UI(`mobile: true`)는 상품의 `preview-mobile`이 켜져 있어야 미리보기 버튼이 보이고, 신규 모바일 UI(`mobile: 'm2'`)는 `model-3d`, `surface-stack`이면 항상 보입니다.

| 종류 | 설정과 동작 |
| - | - |
| `standard` | 기본 미리보기입니다 |
| `multi-grid` | `row` × `col` 칸에 페이지를 모아 화면 단위로 넘겨 봅니다. 그룹 상품은 그룹 수량만큼 반복합니다. `outer_w_mm`, `outer_h_mm`는 페이지마다 둘 바깥 여백입니다. 띄우기 옵션 `max_page`가 있으면 남는 칸을 빈칸으로 채웁니다 |
| `real-2d` | PNG 목업을 디자인 위에 겹칩니다. **Add File**로 여러 장을 넣고 `x`, `y`, `w`, `h`로 재단선 안쪽 페이지가 놓일 자리를 정합니다. 목업은 500 × 500 칸에 늘려 그리므로 정사각형으로 만듭니다. 가로 페이지는 `w ≥ h`인 목업을, 세로 페이지는 `w ≤ h`인 목업을 차례로 씁니다 |
| `model-3d` | `3d scene resource uri`의 3D 장면에 페이지를 입힙니다. `use Type`은 페이지 subType(템플릿 페이지의 세부 종류 이름), `use Index`는 페이지 순서로 면을 고릅니다. `Alpha On`은 투명 영역을 반영합니다. `Live Preview On`은 데스크톱 캔버스 옆에 실시간 3D 창을 둡니다. `rotate-axis`는 3D 창에서 개체가 도는 축이며 소문자 `x`, `y`, `z`만 돌고 대문자는 돌지 않습니다. `background color`(기본 `#efefef`), `tone-mapping`, `env-mapping`(기본 `room`)도 정합니다 |
| `surface-stack` | 앞면·흰색·뒷면 레이어를 겹쳐 보여 줍니다. 순서는 아래 `surface-stack` 구성을 씁니다 |

`option_string`의 `file_3d`는 `model-3d`의 장면 파일을 세션마다 바꿉니다. **저장 전 미리보기**는 `standard`, `real-2d`에서만 그 종류로 열립니다.

### page-caption

`static`을 고르고 **static option**에서 언어마다 페이지 이름을 쉼표로 적습니다. `표지,1월,2월`처럼 페이지 순서대로 씁니다. 스토리보드는 화면 언어의 목록을 쓰고, 이름이 모자라거나 그 언어가 없으면 0부터 센 페이지 번호를 보여 줍니다. 템플릿에 페이지 캡션이 있는 페이지는 템플릿 값을 씁니다. `force-apply`는 저장되지만 편집기는 이 값을 읽지 않습니다.

### barcode

| 항목 | 저장 키 | 기본값 | 설명 |
| - | - | - | - |
| Type | `target` | `default` | `cover-page`(저장 값 `default`), `content-page`, `first-page`, `all-page`입니다. `first-page`는 지금 편집 중인 페이지가 첫 페이지일 때입니다 |
| from | `origin` | `left-bottom` | 기준 모서리입니다. 네 모서리와 책등 기준 `spine-left-top` 등 네 값이 있습니다 |
| offset-x, offset-y | `offset.x`, `offset.y` | `0` | 기준에서 바코드 상자의 왼쪽 위 모서리까지 거리(mm)입니다. `right`나 `bottom` 기준이면 바코드 폭과 높이까지 포함해 적습니다 |
| width, height | `size.width`, `size.height` | `0` | 바코드 상자 크기(mm)입니다 |
| Display Image | `src` | | 편집 화면에 위치 안내로 보일 이미지입니다. 비우면 화면에 아무것도 보이지 않습니다 |

Type은 편집기에서 위치 안내 이미지를 어느 페이지에 보여 줄지만 정합니다.

| Type | 편집기 표시 |
| - | - |
| `cover-page` | 표지 페이지에 **Display Image**를 겹쳐 보여 줍니다 |
| `content-page` | 표지가 아닌 모든 페이지에 보여 줍니다 |
| `first-page` | 지금 편집 중인 페이지가 첫 페이지일 때 보여 줍니다. 여러 페이지가 함께 보이는 화면에서는 첫 페이지를 편집하는 동안 다른 페이지에도 보입니다 |
| `all-page` | 모든 페이지에 보여 줍니다 |

편집기는 위치 안내 이미지를 겹쳐 보여 줄 뿐 바코드를 만들지 않습니다. `barcode`가 `standard`이면 저장할 때 이 설정이 프로젝트 문서에 함께 담기고, `none`이면 편집기 표시와 저장 모두 하지 않습니다. 렌더는 바코드를 인쇄 파일에 그리지 않습니다. 렌더 옵션에 [`cover-fixed-size`](/docs/products/render-options#cover-fixed-size와-content-fixed-size)가 있는 표지를 렌더링할 때만 바코드 상자의 위치를 계산해 렌더 결과 정보(`barcode_info`)에 담고, 이때 Type 값은 읽지 않습니다. 위치 계산은 `origin`이 `spine-left-bottom`일 때만 책등 기준으로 바꾸고, 다른 기준이면 `offset`을 출력 영역 왼쪽 위에서 잰 거리로 씁니다. 렌더 옵션 [add-bar-code](/docs/products/render-options#add-bar-code)도 현재 렌더에서 동작하지 않습니다. 그래서 지금은 에디쿠스 렌더로 바코드를 인쇄 파일에 넣을 수 없습니다. 바코드가 필요하면 렌더 결과 정보의 `barcode_info` 위치를 받아 인쇄 공정에서 직접 넣습니다.

### surface-stack

아크릴 스탠드처럼 같은 디자인의 앞면, 흰색, 뒷면을 겹쳐 만드는 상품의 구성입니다. **Add Config**로 구성을 더하지만 편집기는 첫 번째 구성만 씁니다.

| 항목 | 저장 키 | 설명 |
| - | - | - |
| config-code, dp-name, dpNameLn | `configCode`, `dpName`, `dpNameLn` | 구성 이름입니다. 편집기는 읽지 않습니다 |
| main-page-index | `mainPageIndex` | 처음 열리는 페이지이자 스티컷 칼선을 만드는 기준 페이지(`0` 또는 `1`)입니다 |
| page-settings | `pageSettings` | 페이지마다 `none` 또는 `flip`을 쉼표로 적습니다. 개수만큼 페이지를 만들고, `flip`인 페이지는 뒤집어 겹칩니다 |
| stage-count | `stageCount` | `1`이나 `2`입니다. `2`면 두 장을 앞뒤로 띄워 보여 줍니다 |
| sequence | `sequence` | `단:페이지:레이어`를 쉼표로 잇습니다. 레이어는 `front`, `front.white`, `front.white.back`, `white.back`, `back`입니다. 예: `0:0:front.white,0:1:back` |
| filter-type | `filterType` | 겹침 미리보기의 레이어 켜고 끄기 목록입니다. `none`은 목록 없음, `image-only`는 이미지 레이어만, `default`는 흰색 레이어까지 보여 줍니다 |

### tape option

| 항목 | 저장 키 | 기본값 | 설명 |
| - | - | - | - |
| Tape Height List | `tapeHeightList` | | 테이프 탭의 높이 선택지(mm, 쉼표 구분)입니다 |
| Pattern Width List | `patternWidthList` | | 패턴 반복 폭 선택지(mm, 쉼표 구분)입니다 |
| Height Margin | `heightMargin_mm` | `2.5` | 테이프 위아래에 각각 더하는 여유입니다. 출력 높이는 테이프 높이에 이 값의 두 배를 더한 값입니다 |
| pattern-height-fill | `patternHeightFill` | 꺼짐 | 켜면 패턴을 여유를 포함한 출력 높이 전체에 채웁니다 |

두 목록은 정수로 읽으므로 소수를 쓰지 않습니다. 저장 결과 `docInfo.tapeInfo`에 테이프 높이, 패턴 폭, 출력 높이가 담깁니다.

## 됐는지 확인

<Check>
  Manager의 **Resource**에서 이 사이즈의 템플릿을 골라 **Demo**로 띄우면 덮어쓴 팔레트나 탭, 미리보기 방식이 그 사이즈에서만 달라진 것을 볼 수 있습니다. Demo에서는 저장과 사진 업로드를 할 수 없으니, 사진이나 저장이 필요한 확인(소재, 그룹 수량, 저장 결과)은 **Test Order**로 합니다.
</Check>

<Note>
  edicus options가 띄우기 옵션 `options`와 합쳐지는 결과는 Demo로는 볼 수 없고, 내 서비스에서 띄우기 옵션을 넣어 띄워야 확인할 수 있습니다. 키마다 합치는 방식은 [options 키](/docs/reference/launch-options#options-키)에 있습니다.
</Note>

## 다음 단계

<Columns cols={2}>
  <Card title="사이즈와 페이지 정보" icon="ruler-combined" href="/docs/products/sizes">
    재단 여백, 안전선, 저해상도 기준을 정합니다.
  </Card>

  <Card title="포토카드" icon="layer-group" href="/docs/products/photocard">
    edicus options의 group으로 묶음 상품을 만듭니다.
  </Card>
</Columns>


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