카테고리 없음
js 현재 화면 프린트할 때
Empty_Bottle
2024. 3. 21. 09:29
프린트 하고 싶다!
= window.print()
프린트 미리보기 화면이 닫히는 시점
= onafterprint
적용하고자 했던 예시
- 팝업 화면을 프린트할 때 미리보기가 너무 작아서 보이지 않는 문제가 있었음.
그래서 생각한 방법
1. 현재 창의 가로, 세로를 저장
2.현재 창을 최대화
3. window.print()
4. 원래의 크기로 돌아가기.
chatGPT가 알려줌
// 1. 현재 창의 크기를 저장합니다.
var originalWidth = window.innerWidth;
var originalHeight = window.innerHeight;
// 2. 현재 창을 최대화합니다.
window.resizeTo(screen.availWidth, screen.availHeight);
// 3. window.print() 실행합니다.
window.print();
// 4. 프린트 대화상자가 닫힌 후에 원래 크기로 돌아갑니다.
window.onafterprint = function() {
// 원래의 크기로 돌아갑니다.
window.resizeTo(originalWidth, originalHeight);
};
실제론 이렇게 함
// 프린트 이후 원래 창의 크기로 돌리기 위해 변수로 저장
var originalWidth = window.outerWidth;
var originalHeight = window.outerHeight;
window.onbeforeprint = function() {
// 미리보기에서 잘 보일 수 있도록 현재 창을 최대화
window.resizeTo(screen.availWidth, screen.availHeight);
}
window.onafterprint = function() {
// 원래의 팝업 사이즈로 변경
window.resizeTo(originalWidth, originalHeight);
var screenWidth = screen.availWidth;
var screenHeight = screen.availHeight;
var leftPosition = (screenWidth - originalWidth) / 2;
var topPosition = (screenHeight - originalHeight) / 2;
// 화면의 중앙으로 위치 변경
window.moveTo(leftPosition, topPosition);
}