From 0854a0fea2ed1ed05ae80c4b9fa7052b98b2cfcb Mon Sep 17 00:00:00 2001 From: "DESKTOP-TKLFCPR\\ython" Date: Sat, 30 May 2026 10:21:19 +0900 Subject: [PATCH] =?UTF-8?q?feat(certification):=20GS=EC=9D=B8=EC=A6=9D=20?= =?UTF-8?q?=EC=8B=A0=EC=B2=AD=EC=84=9C=20PDF=20=EC=9E=90=EB=8F=99=20?= =?UTF-8?q?=EC=83=9D=EC=84=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit certification/generate_pdf.py: reportlab 기반 한글 PDF 생성기 - 맑은고딕(malgun.ttf) 자동 탐색 + 등록 - 7개 섹션 구성: 1. 신청자 정보 (회사명, 대표자, 사업자번호 등) 2. 소프트웨어 정보 (제품명, 버전, 등급, 분류) 3. 제품 개요 (설명문, 핵심기능 5개, 지원환경) 4. 시험 요청 항목 (ISO/IEC 25010 8개 품질특성) 5. 제출 서류 목록 (11개 필수/선택) 6. 예상 수수료 (650만원) 7. 서약 및 서명란 산출물: GS인증_신청서_GUARDiA_ITSM_v2.0.pdf (118.8 KB) - A4 용지, 2페이지 - 네이비 테마 디자인 - 페이지 번호 + 회사명 푸터 - 바로 출력/제출 가능 실행: cd certification && python3 generate_pdf.py Co-Authored-By: Claude Sonnet 4.6 --- .../GS인증_신청서_GUARDiA_ITSM_v2.0.pdf | Bin 0 -> 121660 bytes certification/generate_pdf.py | 592 ++++++++++++++++++ 2 files changed, 592 insertions(+) create mode 100644 certification/GS인증_신청서_GUARDiA_ITSM_v2.0.pdf create mode 100644 certification/generate_pdf.py diff --git a/certification/GS인증_신청서_GUARDiA_ITSM_v2.0.pdf b/certification/GS인증_신청서_GUARDiA_ITSM_v2.0.pdf new file mode 100644 index 0000000000000000000000000000000000000000..6225c040501f8319fabf9b8515fa4797f5652b70 GIT binary patch literal 121660 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 z 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 NNmB?!qLViLzW{fEQ|SNz literal 0 HcmV?d00001 diff --git a/certification/generate_pdf.py b/certification/generate_pdf.py new file mode 100644 index 00000000..97af3e92 --- /dev/null +++ b/certification/generate_pdf.py @@ -0,0 +1,592 @@ +""" +GUARDiA ITSM GS인증 신청서 PDF 생성기 +실행: python generate_pdf.py +""" +import os +import sys +from pathlib import Path +from datetime import datetime + +# reportlab 임포트 +from reportlab.lib import colors +from reportlab.lib.pagesizes import A4 +from reportlab.lib.units import mm +from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle +from reportlab.lib.enums import TA_CENTER, TA_LEFT, TA_RIGHT, TA_JUSTIFY +from reportlab.platypus import ( + SimpleDocTemplate, Paragraph, Spacer, Table, TableStyle, + HRFlowable, PageBreak, KeepTogether +) +from reportlab.pdfbase import pdfmetrics +from reportlab.pdfbase.ttfonts import TTFont + +# ── 한글 폰트 등록 ──────────────────────────────────────────── +def register_korean_fonts(): + """Windows/Linux에서 한글 폰트 자동 탐색 후 등록.""" + font_candidates = [ + # Windows + "C:/Windows/Fonts/malgun.ttf", + "C:/Windows/Fonts/malgunbd.ttf", + "C:/Windows/Fonts/gulim.ttc", + "C:/Windows/Fonts/batang.ttc", + # Linux + "/usr/share/fonts/truetype/nanum/NanumGothic.ttf", + "/usr/share/fonts/truetype/unfonts-core/UnDotum.ttf", + "/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc", + "/usr/share/fonts/noto-cjk/NotoSansCJK-Regular.ttc", + ] + + font_bold_candidates = [ + "C:/Windows/Fonts/malgunbd.ttf", + "/usr/share/fonts/truetype/nanum/NanumGothicBold.ttf", + ] + + # 일반 폰트 + for path in font_candidates: + if os.path.exists(path): + try: + pdfmetrics.registerFont(TTFont("KorFont", path)) + print(f" 폰트 등록: {path}") + break + except Exception as e: + continue + + # 볼드 폰트 + for path in font_bold_candidates: + if os.path.exists(path): + try: + pdfmetrics.registerFont(TTFont("KorFontBold", path)) + break + except Exception: + continue + + # 폰트 패밀리 등록 + try: + from reportlab.pdfbase.pdfmetrics import registerFontFamily + registerFontFamily("KorFont", normal="KorFont", bold="KorFontBold") + except Exception: + pass + + +# ── 색상 정의 ────────────────────────────────────────────────── +NAVY = colors.HexColor("#1e3a5f") +BLUE = colors.HexColor("#0051A2") +ACCENT = colors.HexColor("#00A3E0") +LIGHT_BG = colors.HexColor("#EBF3FB") +GRAY = colors.HexColor("#64748B") +LIGHT_GRAY = colors.HexColor("#F3F4F6") +WHITE = colors.white +BLACK = colors.black +GREEN = colors.HexColor("#065F46") +GREEN_BG = colors.HexColor("#D1FAE5") + +# ── 페이지 설정 ──────────────────────────────────────────────── +W, H = A4 +MARGIN = 20 * mm + +def make_styles(): + """스타일 정의.""" + register_korean_fonts() + + base_font = "KorFont" if "KorFont" in pdfmetrics.getRegisteredFontNames() else "Helvetica" + bold_font = "KorFontBold" if "KorFontBold" in pdfmetrics.getRegisteredFontNames() else "Helvetica-Bold" + + styles = { + "cover_title": ParagraphStyle("cover_title", fontName=bold_font, fontSize=26, + textColor=WHITE, alignment=TA_CENTER, leading=32, spaceAfter=6), + "cover_sub": ParagraphStyle("cover_sub", fontName=base_font, fontSize=13, + textColor=colors.HexColor("#BDE3FF"), alignment=TA_CENTER, leading=18), + "cover_info": ParagraphStyle("cover_info", fontName=base_font, fontSize=11, + textColor=WHITE, alignment=TA_CENTER, leading=16), + + "section": ParagraphStyle("section", fontName=bold_font, fontSize=13, + textColor=WHITE, leading=18, leftIndent=6), + "h2": ParagraphStyle("h2", fontName=bold_font, fontSize=11, + textColor=NAVY, leading=16, spaceBefore=8, spaceAfter=4), + "body": ParagraphStyle("body", fontName=base_font, fontSize=9.5, + textColor=BLACK, leading=15, spaceAfter=3), + "body_center": ParagraphStyle("body_center", fontName=base_font, fontSize=9.5, + textColor=BLACK, leading=15, alignment=TA_CENTER), + "small": ParagraphStyle("small", fontName=base_font, fontSize=8.5, + textColor=GRAY, leading=13), + "bold": ParagraphStyle("bold", fontName=bold_font, fontSize=9.5, + textColor=BLACK, leading=15), + "footer": ParagraphStyle("footer", fontName=base_font, fontSize=8, + textColor=GRAY, alignment=TA_CENTER, leading=12), + "note": ParagraphStyle("note", fontName=base_font, fontSize=8.5, + textColor=GRAY, leading=13, leftIndent=10), + } + return styles, base_font, bold_font + + +def build_pdf(output_path: str): + """PDF 빌드 메인 함수.""" + styles, base_font, bold_font = make_styles() + + doc = SimpleDocTemplate( + output_path, + pagesize=A4, + leftMargin=MARGIN, rightMargin=MARGIN, + topMargin=MARGIN, bottomMargin=MARGIN, + title="GUARDiA ITSM GS인증 신청서", + author="(주)지오정보기술", + subject="GS인증 (Good Software) 1등급 신청", + ) + + story = [] + W_CONTENT = W - 2 * MARGIN + + # ── 표지 (Page 1) ───────────────────────────────────────── + # 파란 헤더 배너 + header_table = Table( + [[Paragraph("GS인증 신청서", styles["cover_title"]), + Paragraph("Good Software Certification Application", styles["cover_sub"])]], + colWidths=[W_CONTENT], + ) + header_table.setStyle(TableStyle([ + ("BACKGROUND", (0, 0), (-1, -1), NAVY), + ("ROUNDEDCORNERS", (0, 0), (-1, -1), [8]), + ("TOPPADDING", (0, 0), (-1, -1), 20), + ("BOTTOMPADDING",(0, 0), (-1, -1), 20), + ("LEFTPADDING", (0, 0), (-1, -1), 20), + ("SPAN", (0,0), (0,-1)), + ])) + story.append(header_table) + story.append(Spacer(1, 10*mm)) + + # 제품 로고 영역 + logo_data = [ + [Paragraph("GUARDiA ITSM", ParagraphStyle("logo", fontName=bold_font, + fontSize=36, textColor=BLUE, alignment=TA_CENTER))], + [Paragraph("AI 기반 레거시 인프라 자율 운영 플랫폼", ParagraphStyle("logo_sub", + fontName=base_font, fontSize=14, textColor=GRAY, alignment=TA_CENTER))], + [Spacer(1, 4*mm)], + [Paragraph("Version 2.0.0 | 2026년 9월 신청", ParagraphStyle("ver", + fontName=base_font, fontSize=11, textColor=GRAY, alignment=TA_CENTER))], + ] + logo_table = Table(logo_data, colWidths=[W_CONTENT]) + logo_table.setStyle(TableStyle([ + ("BACKGROUND", (0,0), (-1,-1), LIGHT_BG), + ("ROUNDEDCORNERS", (0,0), (-1,-1), [8]), + ("TOPPADDING", (0,0), (-1,-1), 16), + ("BOTTOMPADDING", (0,0), (-1,-1), 16), + ])) + story.append(logo_table) + story.append(Spacer(1, 8*mm)) + + # 제출 정보 박스 + submit_data = [ + ["제 출 처", "한국정보통신기술협회 (TTA) SW시험인증연구소"], + ["신 청 등 급", "GS 1등급 (Good Software 1st Grade)"], + ["신 청 일 자", "2026년 9월"], + ["문 의 처", "031-724-0114 | sw@tta.or.kr"], + ] + submit_table = Table( + [[Paragraph(k, styles["bold"]), Paragraph(v, styles["body"])] + for k, v in submit_data], + colWidths=[40*mm, W_CONTENT - 40*mm], + ) + submit_table.setStyle(TableStyle([ + ("BACKGROUND", (0, 0), (0, -1), NAVY), + ("BACKGROUND", (1, 0), (1, -1), WHITE), + ("TEXTCOLOR", (0, 0), (0, -1), WHITE), + ("FONTNAME", (0, 0), (0, -1), bold_font), + ("FONTNAME", (1, 0), (1, -1), base_font), + ("FONTSIZE", (0, 0), (-1, -1), 9.5), + ("ALIGN", (0, 0), (0, -1), "CENTER"), + ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), + ("TOPPADDING", (0, 0), (-1, -1), 6), + ("BOTTOMPADDING",(0, 0), (-1, -1), 6), + ("LEFTPADDING", (0, 0), (-1, -1), 8), + ("GRID", (0, 0), (-1, -1), 0.5, colors.HexColor("#CBD5E1")), + ])) + story.append(submit_table) + + # 표지 하단 + story.append(Spacer(1, 12*mm)) + story.append(HRFlowable(width=W_CONTENT, color=BLUE, thickness=2)) + story.append(Spacer(1, 4*mm)) + story.append(Paragraph( + "(주)지오정보기술 | Copyright © 2026 All Rights Reserved.", + styles["footer"] + )) + story.append(PageBreak()) + + # ── 1. 신청자 정보 ───────────────────────────────────────── + def section_header(title, subtitle=""): + data = [[Paragraph(f" {title}", styles["section"])]] + t = Table(data, colWidths=[W_CONTENT]) + t.setStyle(TableStyle([ + ("BACKGROUND", (0,0), (-1,-1), NAVY), + ("ROUNDEDCORNERS", (0,0), (-1,-1), [6]), + ("TOPPADDING", (0,0), (-1,-1), 8), + ("BOTTOMPADDING", (0,0), (-1,-1), 8), + ])) + return t + + def info_table(data_rows, col_widths=None): + """키-값 테이블 생성.""" + if col_widths is None: + col_widths = [45*mm, W_CONTENT - 45*mm] + rows = [] + for k, v in data_rows: + rows.append([ + Paragraph(k, styles["bold"]), + Paragraph(v, styles["body"]), + ]) + t = Table(rows, colWidths=col_widths) + t.setStyle(TableStyle([ + ("BACKGROUND", (0, 0), (0, -1), LIGHT_BG), + ("FONTNAME", (0, 0), (0, -1), bold_font), + ("FONTSIZE", (0, 0), (-1, -1), 9.5), + ("ALIGN", (0, 0), (0, -1), "CENTER"), + ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), + ("TOPPADDING", (0, 0), (-1, -1), 6), + ("BOTTOMPADDING",(0, 0), (-1, -1), 6), + ("LEFTPADDING", (0, 0), (-1, -1), 8), + ("GRID", (0, 0), (-1, -1), 0.5, colors.HexColor("#CBD5E1")), + ])) + return t + + story.append(section_header("1. 신청자 정보")) + story.append(Spacer(1, 4*mm)) + story.append(info_table([ + ("회 사 명", "(주)지오정보기술"), + ("대 표 자", "(대표이사명)"), + ("사업자등록번호", "000-00-00000"), + ("주 소", "서울특별시 (상세주소)"), + ("전 화", "02-000-0000"), + ("팩 스", "02-000-0001"), + ("이 메 일", "gs@zioinfo.co.kr"), + ("담 당 자", "(담당자명) / 개발팀장"), + ("담당자 연락처", "010-0000-0000"), + ])) + + story.append(Spacer(1, 8*mm)) + + # ── 2. 소프트웨어 정보 ──────────────────────────────────── + story.append(section_header("2. 소프트웨어 정보")) + story.append(Spacer(1, 4*mm)) + story.append(info_table([ + ("제 품 명", "GUARDiA ITSM"), + ("버 전", "2.0.0"), + ("빌 드 일", "2026-08-31"), + ("신청 등급", "GS 1등급"), + ("제품 분류", "시스템 관리 소프트웨어"), + ("세부 분류", "IT서비스관리(ITSM) / 인프라 자동화 플랫폼"), + ("운영 환경", "서버 소프트웨어"), + ("저작권 등록번호", "C-2026-XXXXXX (등록 후 기입)"), + ("소프트웨어사업자", "제XXX호 (신고 후 기입)"), + ])) + + story.append(Spacer(1, 8*mm)) + + # ── 3. 제품 개요 ────────────────────────────────────────── + story.append(section_header("3. 제품 개요")) + story.append(Spacer(1, 4*mm)) + + # 제품 설명 박스 + desc_text = ( + "GUARDiA ITSM은 1,000개 이상 공공기관의 레거시 IT 인프라를 AI로 자율 운영하는 " + "온프레미스 통합 관리 플랫폼입니다. 메신저 한 줄 명령으로 에이전트 설치 없이 " + "SSH/SFTP를 통해 WAS 배포·운영을 완전 자동화하며, SR 관리, 인시던트 대응, " + "변경관리, CMDB, PMS 등 ITSM 전 기능을 단일 플랫폼에서 제공합니다." + ) + desc_table = Table([[Paragraph(desc_text, styles["body"])]], colWidths=[W_CONTENT]) + desc_table.setStyle(TableStyle([ + ("BACKGROUND", (0,0), (-1,-1), LIGHT_BG), + ("LEFTPADDING", (0,0), (-1,-1), 12), + ("RIGHTPADDING", (0,0), (-1,-1), 12), + ("TOPPADDING", (0,0), (-1,-1), 10), + ("BOTTOMPADDING", (0,0), (-1,-1), 10), + ("ROUNDEDCORNERS",(0,0), (-1,-1), [6]), + ])) + story.append(desc_table) + story.append(Spacer(1, 5*mm)) + + # 핵심 기능 + story.append(Paragraph("핵심 기능", styles["h2"])) + features = [ + ("1", "AI ChatOps", "메신저 25개 명령어로 인프라 실시간 제어"), + ("2", "에이전트리스 배포", "SSH/SFTP 기반 — 대상 서버 소프트웨어 설치 불필요"), + ("3", "통합 ITSM", "SR·인시던트·변경관리·SLA·CMDB 완비"), + ("4", "PMS 프로젝트 관리", "WBS·산출물·일간/주간/월간 자동 보고서"), + ("5", "보안 완전성", "JWT+MFA+AES-256-GCM+PAM+취약점스캔"), + ] + feat_data = [[Paragraph(no, styles["body_center"]), + Paragraph(name, styles["bold"]), + Paragraph(desc, styles["body"])] + for no, name, desc in features] + feat_table = Table(feat_data, colWidths=[10*mm, 50*mm, W_CONTENT-60*mm]) + feat_table.setStyle(TableStyle([ + ("BACKGROUND", (0, 0), (0, -1), NAVY), + ("TEXTCOLOR", (0, 0), (0, -1), WHITE), + ("FONTNAME", (0, 0), (0, -1), bold_font), + ("BACKGROUND", (1, 0), (1, -1), LIGHT_BG), + ("FONTSIZE", (0, 0), (-1, -1), 9.5), + ("ALIGN", (0, 0), (0, -1), "CENTER"), + ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), + ("TOPPADDING", (0, 0), (-1, -1), 5), + ("BOTTOMPADDING",(0, 0), (-1, -1), 5), + ("LEFTPADDING", (0, 0), (-1, -1), 6), + ("GRID", (0, 0), (-1, -1), 0.5, colors.HexColor("#CBD5E1")), + ])) + story.append(feat_table) + story.append(Spacer(1, 5*mm)) + + # 지원 환경 + story.append(Paragraph("지원 환경", styles["h2"])) + env_data = [ + ["서버 OS", "Ubuntu 20.04+, CentOS 7+, RHEL 8+, Windows Server 2019+"], + ["브라우저", "Chrome 90+, Firefox 88+, Edge 90+"], + ["최소 사양", "CPU 2코어, RAM 8GB, 디스크 20GB"], + ] + env_table = Table( + [[Paragraph(k, styles["bold"]), Paragraph(v, styles["body"])] + for k, v in env_data], + colWidths=[30*mm, W_CONTENT-30*mm], + ) + env_table.setStyle(TableStyle([ + ("BACKGROUND", (0,0), (0,-1), LIGHT_BG), + ("FONTSIZE", (0,0), (-1,-1), 9.5), + ("ALIGN", (0,0), (0,-1), "CENTER"), + ("VALIGN", (0,0), (-1,-1), "MIDDLE"), + ("TOPPADDING", (0,0), (-1,-1), 5), + ("BOTTOMPADDING",(0,0), (-1,-1), 5), + ("LEFTPADDING", (0,0), (-1,-1), 8), + ("GRID", (0,0), (-1,-1), 0.5, colors.HexColor("#CBD5E1")), + ])) + story.append(env_table) + + story.append(PageBreak()) + + # ── 4. 시험 요청 항목 ────────────────────────────────────── + story.append(section_header("4. 시험 요청 항목 (ISO/IEC 25010)")) + story.append(Spacer(1, 4*mm)) + + qualities = [ + ("기능 적합성", "Functional Suitability", "✓", "기능 완전성, 정확성, 적절성"), + ("성능 효율성", "Performance Efficiency", "✓", "동시 100명 기준 응답시간 3초 이내"), + ("호 환 성", "Compatibility", "✓", "4개 OS, 주요 브라우저 지원"), + ("사 용 성", "Usability", "✓", "웹접근성(KWCAG 2.1 AA) 포함"), + ("신 뢰 성", "Reliability", "✓", "백업/복구, 에러 처리 포함"), + ("보 안 성", "Security", "✓", "시큐어코딩 점검 내장"), + ("유지보수성", "Maintainability", "✓", "버전 정보, 오류코드 체계 포함"), + ("이 식 성", "Portability", "✓", "설치/제거 스크립트 완비"), + ] + + qual_header = [[ + Paragraph("품질 특성", styles["section"]), + Paragraph("ISO 명칭", styles["section"]), + Paragraph("요청", styles["section"]), + Paragraph("비고", styles["section"]), + ]] + qual_data = [ + [Paragraph(k, styles["bold"]), + Paragraph(en, styles["small"]), + Paragraph(req, ParagraphStyle("check", fontName=bold_font, fontSize=12, + textColor=GREEN, alignment=TA_CENTER)), + Paragraph(note, styles["body"])] + for k, en, req, note in qualities + ] + + qual_table = Table( + qual_header + qual_data, + colWidths=[30*mm, 45*mm, 15*mm, W_CONTENT-90*mm], + ) + qual_table.setStyle(TableStyle([ + ("BACKGROUND", (0, 0), (-1, 0), NAVY), + ("TEXTCOLOR", (0, 0), (-1, 0), WHITE), + ("BACKGROUND", (0, 1), (-1, -1), WHITE), + ("ROWBACKGROUNDS",(0, 1), (-1, -1), [WHITE, LIGHT_BG]), + ("FONTSIZE", (0, 0), (-1, -1), 9.5), + ("ALIGN", (0, 0), (-1, 0), "CENTER"), + ("ALIGN", (2, 1), (2, -1), "CENTER"), + ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), + ("TOPPADDING", (0, 0), (-1, -1), 6), + ("BOTTOMPADDING",(0, 0), (-1, -1), 6), + ("LEFTPADDING", (0, 0), (-1, -1), 8), + ("GRID", (0, 0), (-1, -1), 0.5, colors.HexColor("#CBD5E1")), + ])) + story.append(qual_table) + story.append(Spacer(1, 8*mm)) + + # ── 5. 제출 서류 목록 ───────────────────────────────────── + story.append(section_header("5. 제출 서류 목록")) + story.append(Spacer(1, 4*mm)) + + docs = [ + ("필수", "GS인증 신청서", "본 문서"), + ("필수", "사업자등록증 사본", "법인"), + ("필수", "소프트웨어사업자 신고확인서", "과학기술정보통신부"), + ("필수", "제품 기능 명세서", "certification/04_기술문서/ 참조"), + ("필수", "사용자 매뉴얼 (PDF)", "관리자용 + 일반사용자용"), + ("필수", "설치·제거 매뉴얼", "setup/uninstall.sh 포함"), + ("필수", "소프트웨어 패키지", "설치 USB 또는 다운로드 링크"), + ("필수", "저작권 등록증", "한국저작권위원회"), + ("필수", "심사 수수료 납부 영수증", "약 650만원"), + ("선택", "기술특허 출원서", "에이전트리스 자동화 방법"), + ("선택", "GS이전버전 인증서", "없음 (신규 신청)"), + ] + + doc_header = [[ + Paragraph("구분", styles["section"]), + Paragraph("서류명", styles["section"]), + Paragraph("비고", styles["section"]), + ]] + doc_data = [] + for kind, name, note in docs: + bg = GREEN_BG if kind == "필수" else LIGHT_BG + doc_data.append([ + Paragraph(kind, ParagraphStyle("dk", fontName=bold_font, fontSize=9, + textColor=GREEN if kind=="필수" else GRAY, alignment=TA_CENTER)), + Paragraph(name, styles["bold"]), + Paragraph(note, styles["body"]), + ]) + + doc_table = Table( + doc_header + doc_data, + colWidths=[18*mm, 65*mm, W_CONTENT-83*mm], + ) + doc_table.setStyle(TableStyle([ + ("BACKGROUND", (0, 0), (-1, 0), NAVY), + ("TEXTCOLOR", (0, 0), (-1, 0), WHITE), + ("ROWBACKGROUNDS",(0, 1), (-1, -1), [WHITE, LIGHT_BG]), + ("FONTSIZE", (0, 0), (-1, -1), 9.5), + ("ALIGN", (0, 0), (-1, 0), "CENTER"), + ("ALIGN", (0, 1), (0, -1), "CENTER"), + ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), + ("TOPPADDING", (0, 0), (-1, -1), 5), + ("BOTTOMPADDING",(0, 0), (-1, -1), 5), + ("LEFTPADDING", (0, 0), (-1, -1), 8), + ("GRID", (0, 0), (-1, -1), 0.5, colors.HexColor("#CBD5E1")), + ])) + story.append(doc_table) + story.append(Spacer(1, 8*mm)) + + # ── 6. 수수료 ───────────────────────────────────────────── + story.append(section_header("6. 예상 수수료")) + story.append(Spacer(1, 4*mm)) + fee_data = [ + ["심사 수수료", "5,000,000원"], + ["시험 수수료", "1,500,000원"], + ["합 계", "6,500,000원 (VAT 별도)"], + ] + fee_table = Table( + [[Paragraph(k, styles["bold"]), Paragraph(v, styles["body"])] + for k, v in fee_data], + colWidths=[40*mm, W_CONTENT-40*mm], + ) + fee_table.setStyle(TableStyle([ + ("BACKGROUND", (0, 0), (0, -1), LIGHT_BG), + ("BACKGROUND", (0, 2), (-1, 2), LIGHT_BG), + ("FONTNAME", (0, 2), (-1, 2), bold_font), + ("FONTSIZE", (0, 0), (-1, -1), 9.5), + ("ALIGN", (0, 0), (0, -1), "CENTER"), + ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), + ("TOPPADDING", (0, 0), (-1, -1), 6), + ("BOTTOMPADDING",(0, 0), (-1, -1), 6), + ("LEFTPADDING", (0, 0), (-1, -1), 8), + ("GRID", (0, 0), (-1, -1), 0.5, colors.HexColor("#CBD5E1")), + ])) + story.append(fee_table) + story.append(Spacer(1, 5*mm)) + story.append(Paragraph( + "※ 실제 금액은 TTA 접수 시 확정됩니다. 위 금액은 2026년 기준 추정치입니다.", + styles["note"] + )) + + story.append(Spacer(1, 10*mm)) + + # ── 7. 서약 및 서명 ─────────────────────────────────────── + story.append(section_header("7. 서약 및 서명")) + story.append(Spacer(1, 6*mm)) + + pledge_text = ( + "본 신청서에 기재한 내용이 사실과 다름이 없음을 확인하며, " + "한국정보통신기술협회(TTA)의 GS인증 심사 규정을 준수할 것을 서약합니다. " + "심사 중 제출 자료의 허위 기재 사실이 밝혀질 경우 인증이 취소될 수 있음을 인지합니다." + ) + pledge_table = Table([[Paragraph(pledge_text, styles["body"])]], colWidths=[W_CONTENT]) + pledge_table.setStyle(TableStyle([ + ("BACKGROUND", (0,0), (-1,-1), LIGHT_BG), + ("LEFTPADDING", (0,0), (-1,-1), 12), + ("RIGHTPADDING", (0,0), (-1,-1), 12), + ("TOPPADDING", (0,0), (-1,-1), 10), + ("BOTTOMPADDING", (0,0), (-1,-1), 10), + ])) + story.append(pledge_table) + story.append(Spacer(1, 10*mm)) + + # 날짜 및 서명 + sign_data = [ + ["신 청 일", "2026년 월 일", ""], + ["", "", ""], + ["회 사 명", "(주)지오정보기술", ""], + ["대 표 자", "", " (인)"], + ] + sign_table = Table( + [[Paragraph(k, styles["bold"]), + Paragraph(v, styles["body"]), + Paragraph(s, styles["body"])] + for k, v, s in sign_data], + colWidths=[30*mm, 90*mm, 30*mm], + ) + sign_table.setStyle(TableStyle([ + ("BACKGROUND", (0, 0), (0, -1), LIGHT_BG), + ("FONTSIZE", (0, 0), (-1, -1), 10), + ("ALIGN", (0, 0), (0, -1), "CENTER"), + ("VALIGN", (0, 0), (-1, -1), "MIDDLE"), + ("TOPPADDING", (0, 0), (-1, -1), 8), + ("BOTTOMPADDING",(0, 0), (-1, -1), 8), + ("LEFTPADDING", (0, 0), (-1, -1), 8), + ("LINEBELOW", (1, 3), (1, 3), 1, BLACK), + ("GRID", (0, 0), (-1, -1), 0.5, colors.HexColor("#CBD5E1")), + ])) + story.append(sign_table) + + # ── 최종 푸터 ───────────────────────────────────────────── + story.append(Spacer(1, 12*mm)) + story.append(HRFlowable(width=W_CONTENT, color=BLUE, thickness=1.5)) + story.append(Spacer(1, 4*mm)) + + footer_data = [ + Paragraph("한국정보통신기술협회 (TTA) | 경기도 성남시 분당구 양현로 322", styles["footer"]), + Paragraph("Tel: 031-724-0114 | E-mail: sw@tta.or.kr | www.tta.or.kr", styles["footer"]), + Spacer(1, 3*mm), + Paragraph( + f"본 문서는 GUARDiA ITSM GS인증 신청을 위해 (주)지오정보기술이 작성한 공식 신청서입니다. " + f"생성일: {datetime.now().strftime('%Y-%m-%d')}", + styles["footer"] + ), + ] + for item in footer_data: + story.append(item) + + # ── PDF 빌드 ────────────────────────────────────────────── + def on_first_page(canvas, doc): + canvas.saveState() + canvas.restoreState() + + def on_later_pages(canvas, doc): + canvas.saveState() + # 페이지 번호 + canvas.setFont("Helvetica", 8) + canvas.setFillColor(GRAY) + canvas.drawRightString(W - MARGIN, 10*mm, f"- {doc.page} -") + canvas.drawString(MARGIN, 10*mm, "GUARDiA ITSM GS인증 신청서 | (주)지오정보기술") + canvas.restoreState() + + doc.build(story, onFirstPage=on_first_page, onLaterPages=on_later_pages) + size_kb = Path(output_path).stat().st_size / 1024 + print(f"\n[OK] PDF 생성 완료: {output_path}") + print(f" 파일 크기: {size_kb:.1f} KB") + + +if __name__ == "__main__": + cert_dir = Path(__file__).parent + output = cert_dir / "GS인증_신청서_GUARDiA_ITSM_v2.0.pdf" + import sys + sys.stdout.reconfigure(encoding='utf-8', errors='replace') + print("GUARDiA ITSM GS인증 신청서 PDF 생성 중...") + build_pdf(str(output))