feat(534-5): E05 안정성평가 보고서 다듬기 — 목차(쪽 = 실제 PDF 쪽) · 머리말 사업명 · 꼬리말 n / N(표지 뺌) · 측점표 = 판정 일람표(대책 필요 열 · 쪽마다 고르게 나눔) · 대표 단면 그림(안전율 상자 · 지층 무늬 범례 · 성토 점 · 축척 막대 · 해석에 쓴 넓힌 지반선 · 흑백 선 모양 · 높이 = 엔진 값) · 부록 절편 계산표(대표 단면마다 지배 조건 한 쪽) · 「사용자 확정 전」 표기 한 규칙(기준 안전율 · 노면 하중 · 우기 지하수 갈래 · 물성 · 광역 기본값 줄) · 표지 꾸밈 · 옛 작업본 갱신 = 목차 자리 · 서식 붙임 · Build 나눔(Cells · Section · Print) · 공용 PDF 엔진에 머리말 · 꼬리말 칸 덧붙임(기본 동작 그대로)(요구 347-5 · 351)

시험 고침: 534-3 양식 시험의 시트 목록 · 쪽 수 기대(목차 · 부록 더함) · E05 시험 시트 수 7 → 9 · PDF = report_pdf(목차 쪽 번호 = 실제 · 꼬리말 · 머리말) · 부록 절편 · 측점표 쪽 나눔 · 옛 작업본 갱신 시험 덧.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-26 00:54:07 +09:00
co-authored by Claude Opus 5.5
parent 54bc1e369e
commit 35f40d2083
14 changed files with 1622 additions and 402 deletions
+9 -1
View File
@@ -58,6 +58,12 @@ def _pdf_options(job: dict[str, Any]) -> dict[str, Any]:
options.update(
display_header_footer=True, header_template="<span></span>", footer_template=FOOTER
)
if job.get("header_template") or job.get("footer_template"): # 머리말 · 꼬리말 HTML(E05)
options.update(
display_header_footer=True,
header_template=job.get("header_template") or "<span></span>",
footer_template=job.get("footer_template") or "<span></span>",
)
return options
@@ -102,7 +108,9 @@ def render_htmls_to_pdfs(jobs: list[dict[str, Any]], timeout_s: float = TIMEOUT_
"""HTML 여러 벌 → PDF 여러 벌(차례 그대로 · 자식 프로세스 한 번).
job = {html, page_size="A4", landscape=False, margins=None, page_numbers=False,
prepare_js=None, prepare_arg=None} — prepare_js = PDF 직전 page.evaluate(줄임 등).
prepare_js=None, prepare_arg=None, header_template=None, footer_template=None} —
prepare_js = PDF 직전 page.evaluate(줄임 등) · header/footer_template = 쪽마다 머리말 · 꼬리말
HTML(Playwright `pageNumber` · `totalPages` 칸 · 주면 page_numbers 대신).
"""
jobs = [{"page_size": "A4", **job} for job in jobs]
with _lock, tempfile.TemporaryDirectory() as tmp: