세무조정 ver 0.87 — 앞면·세네카 텍스트 치환

스크립트 기준으로 정리했습니다. 실제 인식은 텍스트 프레임 전체 문자열이 조건과 일치해야 합니다.

공통 데이터 (엑셀·new_arr 열)

열의미날짜·기간 치환에 쓰임
[0]상호앞면·세네카 상호
[1]기수제 1 기 / 第 1 期
[2]연도(숫자)연도 치환. 옵션 chk3가 켜지면 연도 − 1
[3]1기 시작 월일예: 05월 01일 형태. 비우면 01월 01일 처리
[4]제목제목 플레이스홀더
[5]책 두께(mm)bookThick — 세네카는 chk1 시 구간별 글자 크기. 10mm·*10* 문자열 치환은 앞면만
[10]~[15][no], [a]~[e]앞면 전용 치환

chk3 체크 시 위 표의 연도([2])를 1 빼서 사용합니다.

087 스크립트 — 엑셀 행·시작일 처리

0. 보기 쉬운 치환 예시

아래 예시는 엑셀(데이터)이 연도 2025, 시작 월일 03월 13일(열 [3]), chk3 해제일 때를 가정했습니다. 시작일 열이 비어 있으면 01월 01일로 치환됩니다.

앞면 레이어 — 치환 내용

앞면

인디자인에서 오브젝트의 레이어명이 앞면일 때만 이 블록의 규칙이 적용됩니다.

예시 — 날짜·기간

한글 · 부터 / 까지 (두 줄, 16번째 글자가 「터」인 형태)

기본틀에서 찾을 텍스트
2000년 01월 01일 부터
2000년 12월 31일 까지
치환 후 예시
2025년 03월 13일 부터
2025년 12월 31일 까지

시작일 열이 비었을 때: 2025년 01월 01일 부터 / 2025년 12월 31일 까지

한글 · 부터·까지 없음 (두 줄)

기본틀에서 찾을 텍스트
2000년 01월 01일
2000년 12월 31일
치환 후 예시
2025년 03월 13일
2025년 12월 31일

한글 · 한 줄 ( - 로 연결)

기본틀에서 찾을 텍스트
2000년 01월 01일 - 2000년 12월 31일
치환 후 예시
2025년 03월 13일 - 2025년 12월 31일

하이픈 앞뒤 공백 없이 붙여도 인식합니다. 치환 후에는 - (양쪽 공백)으로 맞춥니다.

한글 · 한 줄 (부터 · 까지 로 연결, 앞면만)

기본틀에서 찾을 텍스트
2000년 01월 01일부터  2000년 12월 31일까지
치환 후 예시
2025년 03월 13일부터 2025년 12월 31일까지

일과 부터 사이 공백은 있어도·없어도 됩니다. 부터 뒤 공백은 치환 후 한 칸으로 정리됩니다.

한문 · 自 / 至 (첫 글자 「自」)

기본틀에서 찾을 텍스트
自 2000年 01月 01日
至 2000年 12月 31日
치환 후 예시
自 2025年 03月 13日
至 2025年 12月 31日

예시 — 짧은 플레이스홀더

기수 예시는 엑셀 [1] = 3, 제목 예시는 [4] = 아래 문장으로 가정.

제목 · 기수 · 상호 · 두께 · 바코드 자리

기본틀에서 찾을 텍스트
제목
제 1 기
第 1 期
상호
10mm
*10*
치환 후 예시
2025년 법인세무조정 계산서
제 3 기
第 3 期
(주)화인회계법인
15mm
*15*

10mm·*10*는 책 두께(bookThick)가 15일 때의 예입니다. [no], [a]~[e]는 엑셀 해당 열 값으로 그대로 바뀝니다.

조건·결과 (상세 표)

문자열 내용 치환만 정리했습니다. (else if 체인에서 앞 조건에 걸리면 뒤 조건은 적용되지 않습니다.)

조건 (템플릿에 넣을 글자) 바뀌는 결과
정확히 제목 new_arr[p][4] (제목)
정확히 第 1 期 第 + 기수([1]) + 期
정확히 제 1 기 제 + 기수([1]) + 기
문장 첫 글자가 自 (한문 기간) 전체를 한문 2줄로 교체. 연도는 [2](+ chk3), 시작일은 [3]에서 월·일 추출.
自 YYYY年 MM月 DD日
至 YYYY年 12月 31日
[3]이 비면 MM·DD는 01·01.
16번째 글자(인덱스 15)가 터 — 보통 2000년 01월 01일 부터로 이어지는 2줄 형태 한글 기간(부터·까지) 2줄로 교체.
YYYY년 [시작월일] 부터
YYYY년 12월 31일 까지
[3] 비면 시작을 01월 01일.
부터·까지가 없고, 아래 둘 중 하나에 해당 A) 줄바꿈 2줄: 첫 줄 ^\d{4}년 \d{2}월 \d{2}일$, 둘째 줄 ^\d{4}년 12월 31일$ (앞뒤 공백 무시)
B) 한 줄: - 로 나눈 두 부분이 위와 동일 패턴
결과는 입력과 같이 \n 구분 또는 - 구분 유지.
연도·시작일 규칙은 위 “부터/까지” 경우와 동일(끝은 항상 해당 연도 12월 31일).
정확히 상호 new_arr[p][0]

앞면 — else if와 별도로 항상 검사 (같은 레이어 내)

조건결과
10mmbookThick + mm
*10** + bookThick + *
[no], [a]~[e]각각 [10]~[15] 대응 값

위 세 줄은 앞의 else if와 관계없이, 텍스트가 정확히 일치하면 덮어씁니다(실행 순서상 나중에 실행되는 항목이 우선).

세네카 레이어 — 치환 내용

세네카

인디자인에서 오브젝트의 레이어명이 세네카일 때만 이 블록의 규칙이 적용됩니다.

예시 — 연도·기간·기수

연도 예시는 앞면과 같이 2025·chk3 해제를 가정합니다. 2000년 등은 한 프레임에 해당 문자열만 있을 때 각각 치환됩니다.

2000 플레이스홀더

기본틀에서 찾을 텍스트
2000년
2000年
2000
2000년도
치환 후 예시
2025년
2025年
2025
2025년도

실제로는 한 프레임에 하나씩 넣는 조건입니다. 위는 네 종류를 한눈에 비교하려고 한 블록에 모아 적었습니다.

세네카 · 제목 플레이스홀더

기본틀에서 찾을 텍스트
제목
치환 후 예시
2025년 법인세무조정 계산서

엑셀 E열·new_arr[p][4]로 한 줄 교체합니다.

세네카 · 한글 기간 (글자 단위 수정, 템플릿 길이가 스크립트와 맞을 때)

기본틀에서 찾을 텍스트
2000년 01월 01일 부터
2000년 12월 31일 까지
치환 후 예시
2025년 03월 13일 부터
2025년 12월 31일 까지

세네카는 문장 전체를 바꾸지 않고 글자 위치로만 고칩니다. 줄바꿈·공백이 다르면 결과가 틀어질 수 있어, 반드시 정해진 템플릿을 쓰는 것이 안전합니다. 책 두께 ≤5mm이면 줄바꿈이 공백 한 칸으로 바뀔 수 있습니다.

앞면과 달리 세네카는 한 줄 … - … 구간이나 한 줄 …부터 …까지 형태는 처리하지 않습니다. 두 줄 한글(18번째 글자 터 조건)·한문 自·至 두 줄만 해당합니다.

세네카 · 한문 自 (글자 단위 수정)

기본틀에서 찾을 텍스트
自 2000年 01月 01日
至 2000年 12月 31日
치환 후 예시
自 2025年 03月 13日
至 2025年 12月 31日

세네카 · 제 1 기 / 第 1 期 (기수 3 예시)

기본틀에서 찾을 텍스트
제 1 기
第 1 期
치환 후 예시
제 3 기
第 3 期

실제 동작은 중간의 1을 지우고 기수를 끼워 넣는 방식이라, 보이는 결과는 위와 같습니다. (제 1 기와 第 1 期는 보통 각각 별도 프레임입니다.)

중요: 세네카 기수는 앞면처럼 전체 교체하지 않습니다. 세로쓰기 프레임에서 두 자리 기수(예: 13)를 전체 교체하면 숫자가 1, 3으로 세로 분리될 수 있으므로, 이전 버전처럼 insertionPoints[3]에 B열 값을 삽입하고 기존 1만 삭제합니다.

글자 크기·장평 (상세 표)

옵션 chk1을 켰을 때만 적용됩니다. 책 두께 bookThick(new_arr[p][5]) 구간에 따라 pointSize, 가로·세로 장평 등이 달라지며, 값은 스크립트 상단 변수(v21 등)에 정의되어 있습니다.

텍스트 조건적용
제목두께 ≤3 / ≤5 / 15~20 / ≥20mm 구간별 스타일
제 1 기 또는 第 1 期위와 동일하게 구간별 스타일
한글 기간: 년·부터·까지 모두 포함
또는 한문: 自·至·年 포함
날짜 블록용 구간별 스타일. 일부 구간에서 leading 16pt 등 추가
상호상호용 구간별 스타일
위에 해당 없음 (기타)기타용 구간별 스타일

내용 치환 (상세 표)

스크립트에서 같은 루프 뒤쪽 블록으로 처리합니다.

조건바뀌는 결과
정확히 제목 new_arr[p][4]
정확히 제 1 기 또는 第 1 期 앞면과 달리 전체 교체가 아님: 삽입점에 기수([1])를 넣고, 기존 1 글자 한 자리를 삭제해 제 N 기/第 N 期 형태로 맞춤. 두 자리 숫자가 세로로 분리되지 않게 하기 위한 이전 버전 호환 처리
정확히 2000년 연도 문자열 + 년 (chk3 반영)
정확히 2000年 연도 문자열 + 年
정확히 2000 (숫자만) 연도 문자열만
정확히 2000년도 연도 문자열 + 년도
18번째 글자(인덱스 17)가 터 — 템플릿에 맞는 한글 기간 문구 스토리를 글자 단위로 수정: 시작 연도 4자리, 월·일([3]의 해당 위치), 끝 줄 연도 4자리 등.
[3]이 비면 시작·끝 연도만 바꿈.
책두께 ≤ 5mm이면 줄바꿈(\n)을 공백 한 칸으로 바꿈.
첫 글자 自 (한문 기간, 한 줄/블록) 역시 글자 단위로 연도·월·일·끝 연도 수정 (한문 템플릿의 글자 위치에 맞춤).
[3] 비면 시작·끝 연도만 조정.
책두께 ≤ 5mm이면 \n → 공백 한 칸.
정확히 상호 new_arr[p][0]로 교체.
상호 길이 < 5면 오른쪽 정렬·tracking 600.
영문 대문자·숫자 글자는 세로쓰기용으로 문자 회전 처리(rotateCharacterOrientation).

앞면 vs 세네카 — 날짜 처리 차이

파일명: 세무조정087.jsx 기준 · 생성: 참고용 HTML (스크립트와 함께 두고 보시면 됩니다). 큰글 예시: 세무조정085_치환예시_큰글씨.html.