9.1 KB · 수정 2026-08-11 18:31
목차

인계문 — PFS 생산 인쇄(윈폼+WebView2) 세션 릴레이 · 2026-08-11(화)

이전 세션 컨텍스트 51.8% 초과로 넘김. 지금 최우선 = 미해결 1건(실페이지 인쇄가 여전히 작게 나온다).

0-A. 🔴페페 최신 지시 (이것부터 — 2026-08-11 세션 마지막)

"웹페이지 인쇄설정 기능을 완전히 빼봐. 아직 버튼도 있고 계속 덮고 있는건지도 모른다."

페페 가설이 유력하다. 실제로 살아 있는 결합이 있다:

작업 = 웹의 인쇄설정 기능을 통째로 제거한다. - ⚙ 인쇄 설정 버튼(#stk-cfg-btn)·패널(#stk-print-cfg)·저장/초기화 핸들러 삭제 - CFG_KEY/PRINT_CFG/applyPrintCfg/stickerPageCss 제거 → 100×100mm·여백 5mm 상수로 고정 (--stk-w/--stk-h 는 상수 90mm 로 세팅하거나 CSS 에 직접 박는다) - 브라우저 폴백 인쇄도 같은 상수를 쓰게 한다(배율 140% 보정은 폐기 — 앱이 정식 경로다) - 용지 크기를 바꿔야 할 일이 생기면 앱 ⚙ 프린터 설정에만 둔다(단일 출처) - ⚠기존 사용자의 localStorage 잔재가 남아도 무시되도록, 읽는 코드를 아예 없앤다

검증 = 배포 후 실물 1장 + 아래 0-B 의 PDF 진단으로 크기 실측.

0-B. 원인 규명 도구 (0-A 로도 안 잡히면)

🔴증상 = 프린터 설정의 테스트 인쇄는 고쳐졌다(90×90mm, 사방 5mm 여백, 중앙 정렬 성공 — 페페 확인). 그런데 실제 PFS 스티커 페이지 인쇄는 위치·크기가 전혀 안 변했다(여전히 라벨 좌하단에 1/4 크기).

🔑추측으로 또 고치지 말 것. 테스트(standalone HTML)와 실페이지의 차이가 뭔지 측정부터 한다. 가장 빠른 길 = 앱에 「현재 페이지를 PDF 로 저장」 진단 경로를 넣어 실제 인쇄물을 파일로 받는다.

MainForm 에 이미 있는 DoPrint 와 똑같은 PrintSettings 로
  await web.CoreWebView2.PrintToPdfAsync(path, s)
를 호출하는 분기를 추가(예: 웹 메시지 "printpdf:<kind>:<w>:<h>:<m>" 또는 툴바 숨김 버튼).
→ 나온 PDF 를 pfs/print-app/tools/verify_print_size.py 로 재고, 내용 위치는
   PDF content stream 을 zlib 로 풀어 좌표를 본다(배경 사각형이 제일 크니 두 번째로 큰 경로를 봐야 한다).

확인 후보(우선순위) 1. WebView2 캐시 — 앱이 옛 sticker.html 을 물고 있을 수 있다. 앱에서 강력 새로고침 (CoreWebView2.Reload() 는 캐시를 쓴다 → ExecuteScriptAsync("location.reload(true)") 또는 프로필 폴더 %LOCALAPPDATA%\PfsPrint\webview 삭제 후 재실행)로 먼저 배제한다. 가장 싸고 가능성 높다. 2. appPageCss 가 붙긴 하는데 !important 가 다른 규칙에 지는지 — 인쇄 시점에 getComputedStyle(document.body).width 를 웹 메시지(log:)로 앱 로그에 남겨 실측한다. 3. 축소 주체가 레이아웃 폭이 아니라 WebView2 의 ZoomFactor / 장치 배율 일 가능성. web.ZoomFactor 를 로그에 찍어 본다(1.0 이 아니면 그게 범인). 4. .stk-sheetvar(--stk-w) 를 쓰는데 그 값이 그 PC 의 localStorage stk_print_cfg_v1 에서 온다. 생산팀 PC 값이 이상할 수 있다 → log: 로 PRINT_CFG 를 찍어 확인.

1. 확정 규약 (건드리지 말 것)

2. 끝난 것 (배포·검증 완료)

항목 상태
앱 신규(WebView2 PrintAsync, 스티커=GT800 / 파레트=A4 분기)
단일 폴더 설치(더블클릭 → %LOCALAPPDATA% 자가설치 + 바탕화면·시작메뉴 바로가기)
SSH 원격배포(remote_update.py --status/--log/--deploy) ✅ 로컬 실측
현장검색 = 기본 진행중만 / 검색 시 과거 현장 포함 + 「지난 현장」 배지 ✅ 운영 API 7/7
이동선반 발주 목록 ID 오름차순 ✅ 운영 API 4/4
PFS 로고 앱 아이콘(텍스트 없는 정사각)
프린터 설정창 하단 버튼 잘림(620×400 → 620×466 자동계산) --layout 검사
앱 내 사이드메뉴 접힘 시작 ✅ (육안 미확인)
상단바 동기화 상태 텍스트 제거 → 버튼에 ✓ HH:MM ✅ (육안 미확인)
테스트 인쇄 여백 5mm·중앙 정렬 페페 실물 확인
실페이지 인쇄 크기·위치 🔴미해결 — 위 0번

커밋 = master 88302d6 / deploy-live b43a9ac(웹) · 119739b(이동선반) · 17ab861(스티커 앱경로). 서버 반영 확인 완료(양쪽 appPageCss=True, uwsgi active). DB 스키마 변경 0.

3. 페페 몫 (대기 중)

  1. 생산팀 PC 에 앱 설치 — NAS \\192.168.0.101\공유폴더\poin\PFS생산인쇄앱_26.8.11\프로그램 폴더째 복사 → PfsPrint.exe 더블클릭
  2. deploy_enable_ssh_prod.ps1 관리자 1회 실행 → IP·사용자명 알려주면 ~/.ssh/configHost prod 등록(키 C:\dev\.secrets\prod_ed25519 생성 완료)
  3. ❓판단 = 폐기된 print-agent 폴더를 리포에서 지울지

4. 도구·검증 스크립트

5. 시드 포인터