# (프롬프트) A4 규격 보고서 형식으로 변환 (HTML) Gemini 등 생성형 AI가 문서를 분석하면, 결과물은 페이지 구분 없이 내용이 쭉 이어지는 HTML 파일로 나옵니다. 이 프롬프트는 그 HTML을 받아 **표지 → 목차 → 요약 → 본문** 순서의 A4 규격 보고서 형태로 재조립하는 변환 도구입니다. 출력물은 브라우저에서 바로 인쇄하거나 PDF로 저장할 수 있습니다. --- ## 전체 구성 한눈에 보기 | 순서 | 구성요소 | 역할 한 줄 요약 | |:---:|---------|--------------| | 1 | **페르소나** | AI의 작업 태도와 판단 기준 설정 | | 2 | **원칙 0** | 내용 손실 방지 — 절대 규칙 | | 3 | **원칙 1** | 레이아웃 품질 기준 — 6가지 규칙 | | 4 | **제작가이드 가** | 보고서 외형 설계 (CSS) | | 5 | **제작가이드 나** | 콘텐츠 입력 공간 정의 (Body 구조) | | 6 | **제작가이드 다** | 실제 변환 처리 로직 (JS 엔진) | | 7 | **실행 순서** | 전체 처리 흐름 제어 | --- ## 1. 페르소나 — AI의 작업 태도 설정 **이 프롬프트에서 하는 역할** '지능형 퍼블리싱 아키텍트'라는 역할을 AI에게 부여합니다. 구체적으로는 두 가지 행동 방식을 강제합니다. "스타일 독소 제거" 지시는 원본 HTML의 디자인을 무시하고 A4 기준으로 새로 입히도록 유도하고, "복사기처럼 보존 / 강박증 수준으로 맞춤"이라는 표현은 내용은 절대 건드리지 말고 레이아웃만 정밀하게 처리하라는 이중 명령입니다. **왜 가장 먼저 오는가** AI는 프롬프트를 위에서부터 순서대로 읽고 이후 내용을 해석합니다. 페르소나가 먼저 정의되어야 그 뒤에 나오는 원칙과 코드를 "어떤 태도로" 수행해야 하는지 기준이 생깁니다. 페르소나를 뒤에 두면 AI가 앞의 원칙들을 해석할 때 기준이 없어 느슨하게 적용할 가능성이 높아집니다. --- ## 2. 원칙 0 — 내용 손실 방지 **이 프롬프트에서 하는 역할** AI가 HTML을 처리하는 과정에서 자주 발생하는 문제인 "내용 요약, 생략, 임의 수정"을 차단합니다. "복사기 모드"라는 단어는 AI에게 편집자가 아닌 복사 도구로 동작하도록 행동 방식을 제한하고, "토씨 하나 바꾸지 않는다"는 표현은 표의 수치나 문장이 변경되는 것을 명시적으로 금지합니다. **왜 원칙 1과 분리되어 있는가** 원칙 0은 이 프롬프트 전체에서 어떤 경우에도 예외 없이 지켜야 하는 절대 규칙이고, 원칙 1은 레이아웃 품질에 관한 기술적 규칙으로 상황에 따라 판단이 개입될 수 있습니다. 두 가지를 같은 레벨에 두면 AI가 레이아웃 최적화를 위해 내용을 임의로 조정하는 판단 오류가 생길 수 있어, 우선순위를 명확히 분리한 것입니다. --- ## 3. 원칙 1 — 레이아웃 품질 기준 (6가지) **렌더링이란** HTML 코드를 사람이 볼 수 있는 화면으로 표시하는 과정을 렌더링이라 합니다. 이 프롬프트에서는 HTML 코드를 A4 용지 형태의 보고서로 표시하는 것이 렌더링에 해당합니다. **왜 6가지인가** 6개는 임의로 정한 숫자가 아닙니다. 실제 변환 작업 과정에서 반복적으로 발생한 레이아웃 문제들을 해결하며 버전을 거듭하는 과정에서 수렴된 규칙들입니다. 각각이 실제로 발생하는 특정 문제에 대응합니다. **각 규칙이 해결하는 실제 문제** | 규칙 | 없으면 발생하는 문제 | |------|-----------------| | Deep Sanitization | Gemini 출력 HTML의 색상·글자크기가 A4 디자인을 덮어씌워 보고서 외형이 망가짐 | | H1 Only Break | 모든 소제목에서 페이지가 나뉘어 페이지 수가 과도하게 늘거나, 아무데서도 안 나뉘어 내용이 뭉침 | | Orphan Control | 소제목만 페이지 맨 아래에 홀로 남고 내용은 다음 페이지에 있는 어색한 구성 발생 | | Smart Fit | 표·그림이 페이지를 조금만 넘어도 다음 페이지로 밀려나 현재 페이지 하단이 텅 빔 | | Gap Filling | 그림이 다음 페이지로 넘어가면서 현재 페이지 하단에 불필요한 공백 발생 | | Visual Standard | 여백과 캡션 위치 기준이 없어 페이지마다 정렬이 제각각 | **왜 원칙 0 다음에 오는가** 내용 보존(원칙 0)이 확보된 이후에 레이아웃 품질(원칙 1)을 논의하는 것이 논리적 순서입니다. 레이아웃 규칙을 먼저 두면 AI가 레이아웃 최적화를 위해 원칙 0을 희생하는 판단을 할 수 있습니다. --- ## 4. 제작가이드 가 — 보고서 외형 설계 (CSS) **이 프롬프트에서 하는 역할** 보고서의 시각적 외형 전체를 코드로 정의합니다. 글자 크기, 색상, 여백, 제목 스타일, 표 디자인 등이 여기서 결정됩니다. AI는 앞서 배운 원칙들을 이 CSS 설계도를 기반으로 구현합니다. **주요 항목과 영향** | CSS 항목 | 보고서에서의 영향 | |---------|---------------| | `:root` 색상 변수 | `--primary: #006400` 한 줄을 바꾸면 보고서 전체 색상 테마가 변경됨 | | `.sheet` | A4 용지 1장의 물리적 크기(210mm × 297mm) 고정 | | `.body-content` | 본문 작업 영역을 상하좌우 20mm 여백 안쪽으로 제한 | | `h1, h2, h3` | 제목 계층별 글자 크기와 색상을 차별화하여 가독성 확보 | | `.highlight-box` | 강조 박스의 배경색·테두리·글자 크기 통일 | | `.squeeze` | 요약 페이지가 약간 넘칠 때 자동 압축 적용 (행간·자간 축소) | **왜 Body 구조(나) 보다 먼저 오는가** CSS가 먼저 선언되어야 그 다음에 나오는 HTML 구조와 JS 엔진이 스타일을 참조할 수 있습니다. HTML → JS 순서로 실행되는 웹 브라우저의 기술적 특성 때문에 이 순서는 변경이 불가합니다. --- ## 5. 제작가이드 나 — 콘텐츠 입력 공간 (Body 구조) **이 프롬프트에서 하는 역할** 원본 HTML을 역할별로 분리하여 주입할 수 있는 4개의 전용 공간을 정의합니다. AI에게 "원본 내용을 이 4개 박스에 나눠 담아라"는 입력 인터페이스 역할을 합니다. **4개 박스의 역할** | 박스 | 담기는 내용 | 처리 방식 | |-----|----------|---------| | `#box-cover` | 문서 제목, 부제, 작성 정보 | 중앙 정렬 표지로 생성 | | `#box-toc` | 목차 | 3계층 목차로 자동 포맷 | | `#box-summary` | 요약 내용 | 1페이지 압축 우선 적용 | | `#box-content` | 본문 전체 | 페이지 분할 렌더링 | **`