인쇄 경로가 해석기를 잃고 있었다 — 화면과 다른 종이가 나왔다
사용자가 미리보기 화면과 실제 인쇄 PDF 를 나란히 놓고서야 드러난 결함. 미리보기에는 환자 값(등록번호·성명·생년월일)이 찍히는데 같은 창의 '인쇄' 버튼으로 뽑은 종이는 태그 이름 그대로였다. ## 원인 BuildFixedDocument 가 BuildPageVisual(page) 을 인자 없이 불렀다 — 기본값이 tags=null, fields=null 이라 인쇄 경로에서만 해석기가 사라졌다. 화면에서 확인하고 인쇄하면 다른 종이가 나온다. 미리보기의 존재 이유를 무너뜨리는 결함이다. ## 고친 것 - Print/BuildFixedDocument 가 해석기 한 벌을 받아 끝까지 넘긴다. - 미리보기 창의 인쇄는 그 창이 화면에 그리는 것과 <b>같은 해석기</b>를 넘긴다. - 미리보기를 안 거친 인쇄(Ctrl+P)도 세션 환자를 따른다 — PatientSession.ResolversFor(document) 가 한 벌을 만들어 준다 (주민번호·주소·담당의를 그 자리에서 한 번씩 읽는다). - printFilter 는 인쇄에서 고정 true 다. 레거시 인쇄가 PrintOutPut=False 를 빼므로 미리보기의 보기 토글과 무관하다. ## 게이트를 추가했다 이 판정이 없어서 지금까지 못 잡았다: 인쇄(대조군): 해석기가 없으면 값이 없다 인쇄: 해석기를 넘기면 환자 값이 인쇄 종이에 찍힌다 인쇄: 미리보기 종이와 인쇄 종이의 글자가 <b>같다</b> (문자열 완전 일치) 대조군이 먼저다 — 없으면 "값이 어디서든 나온다"와 구분되지 않는다. ## 남긴 것 PDF MediaBox 높이가 856 DIP(642pt)가 아니라 735pt 로 나오는 문제는 별도다 — 용지·여백 처리 조사가 필요하고 이 수정과 무관하게 재현된다. ## 게이트 - dotnet test 338/338 - --edit-smoke 실패 0 (인쇄 판정 3건 신규) - --db-render P062 md5 8d683835f5d81e7bb41c79071d6bf954 불변 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
41e6961b0e
commit
db969fc6b5
@@ -257,9 +257,12 @@ public partial class PreviewWindow : Window
|
||||
{
|
||||
try
|
||||
{
|
||||
// 이 창이 종이에 그리는 것과 <b>같은 해석기</b>로 인쇄한다.
|
||||
// 안 넘기면 화면에는 환자 값이 찍히는데 인쇄물은 태그 이름 그대로가 된다 —
|
||||
// 실제 인쇄 PDF 와 화면을 나란히 놓고서야 발견한 결함이다.
|
||||
PrintService.Print(designer, designer.Document.Title.Length > 0
|
||||
? designer.Document.Title
|
||||
: designer.Document.FormId);
|
||||
: designer.Document.FormId, tags, fields);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user