name: printing-foundation description: | 인쇄 산업 공통 기술 지식 베이스. 조판 계산, CTP 판수, 접지 배열, 책등/오시, 크립 보정 등 인쇄 기초 지식 제공.
🔹 조판 계산: "UP수 계산", "판걸이", "조판 효율", "자투리 배치" 🔹 CTP 계산: "CTP 몇 판?", "판수 계산", "Work&Turn" 🔹 접지 배열: "십자접지", "3단접지", "페이지 순서", "대지" 🔹 책등/오시: "책등 두께", "오시 줄 수", "표지 펼침 크기" 🔹 크립 보정: "크립 계산", "중철 보정" 🔹 용지 규격: "국전", "46전", "롤 폭", "인쇄 영역"
사용 시점: 인쇄 견적/생산 시스템 개발, 조판 최적화, 제본 계산 필요 시 확장 스킬: huni-printing-estimator, mycom-printing-estimator에서 참조
인쇄 기반 지식 (Printing Foundation)
인쇄 산업 공통 기술 지식. 회사별 가격/정산은 개별 스킬에서 관리.
1. 용지 규격
전지 규격 (옵셋)
| 규격 | 용지(mm) | 인쇄영역(mm) | 1R | CTP |
|---|---|---|---|---|
| 대국전 | 1020×720 | 1000×700 | 500매 | 1300 |
| 국전 | 939×636 | 919×616 | 500매 | 1300 |
| 국전횡 | 636×939 | 616×919 | 500매 | 1300 |
| 46전 | 788×1091 | 768×1071 | 500매 | 1300 |
| 46전횡 | 1091×788 | 1071×768 | 500매 | 1300 |
| 국2절 | 636×468 | 616×448 | 500매 | 730 |
| 국4절 | 469×318 | 449×298 | 1000매 | 730 |
롤 규격 (디지털)
| 외주사 | 폭 | 길이 | 여백 |
|---|---|---|---|
| 스티키랩 | 330mm | 5m | 1.5mm |
| 애즈랜드 | 487mm | 2m | 1.5mm |
| 로터리 | 156mm | 연속 | 2.0mm |
상세: data/paper-formats.json
2. 조판 계산
2.1 조판 3분류
| 유형 | 적용 | 알고리즘 |
|---|---|---|
| 규격 | 표준 판형 (A4, A5) | 단순 그리드 |
| 비규격 | 커스텀 사이즈 | 모든 용지 비교 |
| 비정형 | 자유형 칼선 | NFP + GA |
2.2 UP수 계산 공식
# 편집 사이즈 (도련 포함)
edit_w = product_w + bleed * 2 # 보통 3mm
edit_h = product_h + bleed * 2
# 정배치 vs 회전배치
up1 = (print_w // edit_w) * (print_h // edit_h)
up2 = (print_w // edit_h) * (print_h // edit_w)
best_up = max(up1, up2)
2.3 자투리 배치 원칙
⚠️ 핵심: 자투리도 동일한 완성물 크기로 배치!
⚠️ 완성물 크기는 절대 불변!
처리 방식:
• 90° 회전 배치 (가장 일반적)
• 추가 배치 없음 (효율 차이 적을 때)
• 다품종 합대 (소량 다품종)
스크립트: scripts/imposition_calc.py
3. CTP 판수 계산
기본 공식
CTP = 대지수 × 색상수 × 인쇄면수
대지수 = ceil(총페이지 / 대지당페이지)
색상수 = 1(먹), 4(CMYK), +N(별색)
인쇄면수 = 2(Sheetwise), 1(Work&Turn)
인쇄 방식
| 방식 | 판수 | 조건 |
|---|---|---|
| Sheetwise | ×2 | 앞뒤 별도 인쇄 |
| Work&Turn | ×1 | 좌우 뒤집기, 50% 절감 |
| Work&Tumble | ×1 | 상하 뒤집기 |
예시: 100P 무선, 4도양면
내지: ceil(100/16) × 4 × 2 = 7 × 4 × 2 = 56판
표지: 1 × 4 × 2 = 8판
총합: 64판
스크립트: scripts/ctp_calc.py
4. 접지 및 페이지 배열
4.1 대지 크기
| 대지 | 페이지 | 접지 | 용도 |
|---|---|---|---|
| 4P | 4 | 1회 | 리플렛 |
| 8P | 8 | 2회 | 소형책자 |
| 16P | 16 | 3회 | 표준책자 |
| 32P | 32 | 4회 | 대형책자 |
4.2 십자접지 16P 배열
규칙: 마주보는 페이지 합 = 17
앞면:
┌────┬────┬────┬────┐
│ 4 │ 13 │ 16 │ 1 │
├────┼────┼────┼────┤
│ 5 │ 12 │ 9 │ 8 │
└────┴────┴────┴────┘
뒷면:
┌────┬────┬────┬────┐
│ 6 │ 11 │ 14 │ 3 │
├────┼────┼────┼────┤
│ 7 │ 10 │ 15 │ 2 │
└────┴────┴────┴────┘
4.3 롤접지 주의사항
⚠️ 안쪽 패널 크기 감소 필수 (2~3mm씩)
예: 76mm → 74mm → 72mm → 70mm
상세: references/page-layouts.md
5. 책등 및 오시 계산
5.1 책등 두께
책등(mm) = (페이지수 / 2) × 용지두께(mm)
5.2 용지 두께 참조
| 용지 | 평량 | 두께 |
|---|---|---|
| 모조 | 80g | 0.10mm |
| 아트 | 120g | 0.10mm |
| 스노우 | 120g | 0.11mm |
| 랑데뷰 | 120g | 0.15mm |
상세: data/paper-thickness.json
5.3 오시 줄 수
| 제본 | 오시 | 구성 |
|---|---|---|
| 무선(날개X) | 4줄 | 책등2 + 힌지2 |
| 무선(날개O) | 6줄 | 책등2 + 힌지2 + 날개2 |
| 중철 | 0줄 | 접지만 |
5.4 힌지 간격
| 표지 평량 | 간격 |
|---|---|
| ~250g | 6mm |
| 250~300g | 8mm |
| 300g+ | 10mm |
5.5 표지 펼침 크기
# 날개 없음
가로 = 도련 + 너비 + 책등 + 너비 + 도련
세로 = 도련 + 높이 + 도련
# 날개 있음
가로 = 날개 + 도련 + 너비 + 책등 + 너비 + 도련 + 날개
스크립트: scripts/spine_calc.py
6. 크립(Creep) 보정
적용 조건
- 중철제본 40P 이상 → 필수
- 중철 24~36P → 권장
- 무선제본 → 불필요
계산 공식
총_크립(mm) = (페이지수 / 4 - 1) × 용지두께
예시: 48P 중철, 80g
총 크립 = (48/4 - 1) × 0.10 = 11 × 0.10 = 1.1mm
스프레드 1 (바깥): 0.00mm
스프레드 6 (중간): 0.50mm
스프레드 12 (안쪽): 1.10mm
7. 효율 계산
용지_효율(%) = (사용면적 / 전체면적) × 100
생산_효율(%) = max(0, 100 - 대수 × 5)
종합_점수 = 용지효율 × 0.7 + 생산효율 × 0.3
8. 비정형 조판 (네스팅)
알고리즘 분류
| 유형 | 대상 | 복잡도 |
|---|---|---|
| 1D Cutting | 롤 길이 | O(n log n) |
| 2D Bin Packing | 낱장 판형 | O(n²) |
| 2D Irregular | 비정형 칼선 | NP-hard |
오픈소스
| 라이브러리 | 언어 | 용도 |
|---|---|---|
| rectpack | Python | 사각형 |
| SVGnest | JS | 비정형 웹 |
| libnest2d | C++ | 산업용 |
상세: references/nesting-algorithms.md
9. 파일 규격
체크리스트
□ CMYK 색상모드
□ 300dpi 해상도
□ 도련 3mm (옵셋), 1.5mm (디지털)
□ 안전영역 3mm
□ 서체 아웃라인
□ PDF/X-1a
후가공 파일
박가공: K100% 또는 별색 레이어
칼선: CutContour 스팟컬러, 0.25pt
파일 구조
printing-foundation/
├── SKILL.md # 이 문서
├── data/
│ ├── paper-formats.json # 용지 규격
│ └── paper-thickness.json # 용지 두께
├── scripts/
│ ├── imposition_calc.py # 조판 계산
│ ├── ctp_calc.py # CTP 판수
│ └── spine_calc.py # 책등/오시/크립
└── references/
├── page-layouts.md # 접지별 배열
└── nesting-algorithms.md # 네스팅 상세
스크립트 사용법
# 조판 계산
python scripts/imposition_calc.py --width 210 --height 297 --bleed 3
# CTP 판수
python scripts/ctp_calc.py --pages 100 --signature 16 --colors 4
# 책등/오시
python scripts/spine_calc.py --pages 200 --paper 80g --binding 무선