안녕하세요. 박용준 강사입니다.
조재문 님도 새해 복 많이 받으세요.
감사합니다.
 
우선, 제가 웹 쪽 일을 하면서도
가장 어려워하는 부분이
Reporting 부분입니다.
Telerik Reporting, SSRS, Power BI 등에 대한 사용하는 솔루션을 곁에서 지켜만 봤을 뿐,
이 파트는 제가 할 일이 아니다라는 생각에
인쇄쪽은 현재까지는 사용을 미루고 있는 부분입니다.
"인쇄는 이렇게 하는거다."라는 경우의 수가 딱 정해져 있으면 그 방법을 따라가겠지만,
제가 접한 회사들은 대부분, 상용 컴포넌트를 사용하다보니, 
강의용으로 사용할 수 있는 공통 요소가 너무 적어 
제 강의 능력을 벗어나는 영역으로 남겨두었습니다.
결론적으로, 질문하신 내용에 대한 조언드릴만한 경험이 없어 답변을 해드리지 못합니다.
 
다만, 인쇄 창 출력 및 인쇄가 잘 되는 부분에 추가적으로 인쇄 전의 화면으로 돌아가고자 한다면,
또 다른 자바스크립트 코드(location.href) 또는 NavigationManager를 통해서
직접 인쇄 끝나는 지점에 리디렉션 시키는 건 어떨까 하는 정도만 답변일 될 듯 합니다.
아니면, Blazor 페이지가 아닌 MVC 또는 일반적인 웹 페이지를 Blazor에서 링크로 띄우고 그쪽에서 실행하는 것도 하나의 방법이 될 수도 있겠구요.
 
어쨌든,
오늘 질문주신 부분은
제 경험이 부족하여 특별히 도움이 되어 드리지 못한 점 죄송합니다.
제가 준비한 강의 외적으로 벗어나는 부분은 
구글링 또는 추가적인 개발자 커뮤니티의 도움을 받으셔도 좋을 것 같습니다.
 
감사합니다. 
 
 
 
 
 
On 2021-02-13 오전 12:22:00, '조재문' wrote:
 
 
명절 잘 보셨습니까?
지난번 질문에 대한 상세하신 답변에 감사드립니다.
또 질문 하나 드려도 될는지요?
 
Blazor에서 인쇄는 어떻게 하는지요?
_Host.cshtml 에서 @@media와 script로 제어를 하고 있습니다만 
인쇄 후에는 인쇄전 화면이 나오지 않습니다.
Blazor에서 쉽게 할 수 있는 인쇄방법은 없는지요?
 
현재 제가 사용 하는 방법
*.razor
// 인쇄하기
        private async void PrintNow()
        {
            bool v = await JSRuntimeInjector.InvokeAsync<bool>("printwindow", null);
            if (v == true)
            {
            }
        }
 
_Host.cshtml
window.printwindow = () => {
            setTimeout(function () {
                window.onbeforeprint = beforePrint;
                window.onafterprint = afterPrint;
                window.print();
                //window.history.back(-1);
            }, 200);
            return true;
        }
 
@@media print {
            body {
                margin-top: 100px;
                margin-left: 40px;
                text-align: center;
                width: 900px;
            }
            #div_page {
                width: 900px;
            }
            .tblList td, .tblList th {
                text-align: center;
                vertical-align: middle;
            }
            /*검도 셀 높이*/
            .kemdo tr td {
                height: 36px;
            }
            .tdBtn {
                display: none;
            }
            .tbl_foot {
                text-align: center;
                letter-spacing: 5px;
                word-spacing: 5px;
                font-size: 22px;
            }
            .footSubDay {
                margin: 20px;
            }
            .footSubChair {
                padding-left: 400px;
            }
            .footSubLast {
                font-size: 25px;
                font-weight: bold;
                text-align: left;
                margin-top: 10px;
                margin-left: 50px;
            }
        }
    </style>