표 파일로 문서 만들기
템플릿에서 만들어진 양식을 내려받아 엑셀이나 CSV 로 채우고 올리세요. doc 시트의 한 행이 PDF 한 장이 됩니다. 생성 전에 전부 검사하고, 한 칸이라도 틀리면 한 장도 만들지 않습니다.
양식 받기
템플릿을 열고 "표 파일로 만들기"에서 엑셀 양식 또는 시트마다 CSV 하나를 내려받습니다. 양식은 템플릿에서 만들어집니다. 시트 수는 템플릿이 배열을 몇 겹 쓰느냐가 정합니다. 배열이 없으면 한 장(doc), data.items 표가 있으면 두 장(doc·items), 블록 안에 표가 있으면 세 장입니다.
1행은 헤더이자 대조 키입니다 — 고치지 마세요. 2행은 열 설명, 3행은 예시이고 둘 다 업로드 시 무시됩니다. 4행부터 입력합니다. 엑셀 파일에는 템플릿과 잇는 숨김 시트가 함께 있습니다.
채우기
모든 시트의 A열은 _key, 문서 키입니다 — 예를 들면 청구서 번호. 문서마다 달라야 하고, 시트 사이에서 한 문서의 행들을 잇는 것이 이 값입니다. 템플릿이 보는 데이터에는 들어가지 않습니다.
세 번째 시트(반복 블록 안의 표)에는 B열에 _row 도 있습니다. 같은 _key 를 가진 부모 행 중 몇 번째인지, 1부터 셉니다. 두 번째 시트는 _key 만 있으면 되고 순서는 파일 순서입니다.
빈 칸은 누락입니다. 템플릿이 그 값을 쓰면 생성이 멈추고 그 칸을 짚어 줍니다. 비워도 되는 열은 템플릿에서 기본값을 주세요: {{ data.memo || "" }}.
숫자는 숫자만 — 쉼표·통화 기호 없이. "1,000" 은 문자로 남아 계산에서 걸립니다. 날짜는 YYYY-MM-DD. 엑셀의 숫자·날짜 셀은 그 타입이 유지되고, CSV 에서는 숫자로 완전히 읽히는 값만 숫자가 됩니다.
CSV 는 시트마다 파일 하나입니다. 파일 이름을 바꾸지 마세요 — 이름으로 어느 시트인지, 어느 템플릿 것인지 압니다. 한국 엑셀이 EUC-KR 로 저장한 파일도 UTF-8 과 함께 읽습니다.
무엇을 검사하나
검사는 브라우저에서 돕니다. 파일은 서버로 가지 않습니다. 양식이 현재 템플릿의 것인지, 헤더가 기대한 열과 맞는지, 키(빈 키·중복·고아)와 행 한도를 봅니다. 그다음 문서마다 실제 렌더러와 같은 방식으로 컴파일해서 템플릿이 쓸 수 없는 값을 짚습니다. 빈 칸, 계산 자리의 문자, 100쪽 초과가 그것입니다.
지적 하나하나가 시트·행·열을 말합니다. 하나라도 있으면 생성 버튼이 나타나지 않습니다. 파일을 고쳐 다시 올리세요.
생성과 내려받기
검사가 끝나면 첫 문서를 미리 보여 주고, 버튼에 몇 건을 만들지와 크레딧이 적힙니다. 문서는 50건씩 한 실행으로 접수됩니다. 화면에 완료·진행·대기·실패 수와 완료된 문서마다 내려받기 링크가 보입니다.
접수가 도중에 멈추면(쿼터·큐 예산) 이미 접수된 문서는 만들어지고, 실행은 그 지점에서 실패로 표시되며, 다시 올려 나머지를 접수할 수 있습니다. 실행이 조용히 잘리는 일은 없습니다.
반복 실행 (정기 수집)
표를 매번 손으로 올리는 대신, 데이터 주소를 등록해 두면 정해진 때에 시스템이 그 주소에서 표를 가져와 문서를 만듭니다. 구글 스프레드시트의 “웹에 게시” CSV 링크, 사내 서버의 내보내기 주소처럼 로그인 없이 열리는 https 주소여야 합니다.
주기는 매일 · 매주 ○요일 · 매월 N일 중 하나에 시각과 시간대를 더해 정합니다. 크론 문법은 쓰지 않습니다. 시간대를 저장하므로 서머타임이 있는 지역에서도 현지 시계 기준으로 같은 시각에 돕니다. 없는 날짜(2월 31일 등)는 그 달의 마지막 날로 처리합니다.
등록하는 순간 주소를 한 번 열어 검사합니다. 통과하지 못하면 저장하지 않습니다 — 한 달 뒤 첫 회차에서 처음 실패를 알게 되는 일이 없도록 하기 위해서입니다.
회차마다 업로드와 똑같은 검사를 거칩니다. 하나라도 걸리면 한 장도 만들지 않고 그 회차를 실패로 남기며 이메일로 알립니다. 크레딧은 쓰이지 않습니다. 성공은 알리지 않습니다.
같은 회차는 한 번만 돕니다. 연속 3번 실패하면 자동으로 꺼지고 그 사실을 알립니다. 템플릿을 고치면 등록해 둔 양식과 어긋나므로 반복 실행을 지우고 다시 만들어야 합니다.
주기의 최소 단위는 하루입니다(시간·분 단위는 없습니다). 정해진 시각보다 늦게 시작합니다 — 보통 1분 남짓, 최대 6분입니다. 5분 간격으로 도는 검사에 걸리는 시간과 클라우드 쪽 실행 지연이 더해진 값입니다. 한 회차에 문서 500건까지이며(직접 올릴 때의 1,000건보다 적습니다), 주소 하나당 10MB, 응답 대기 20초, 리다이렉트 3번까지입니다. 켤 수 있는 반복 실행 수는 플랜의 템플릿 수와 같습니다. 비공개 소스(로그인·토큰이 필요한 주소)는 아직 지원하지 않습니다.
한도
한 번에 문서 1,000건, 파일 10MB 까지입니다. 배열은 두 겹까지(블록 + 표, 또는 블록 두 겹)이며 세 겹인 템플릿은 양식을 만들 수 없습니다. 문서마다 100쪽 한도와 플랜 쿼터가 그대로 적용됩니다 — 문서 하나가 렌더 하나입니다.