10. 인쇄 [Winforms] 인쇄 페이지 머리글 및 바닥글 사용자 정의
페이지 정보
작성자 GrapeCity 작성일 2021-11-09 11:28 조회 952회 댓글 0건본문
관련링크
Spread.NET의 인쇄 기능을 사용할 때, 인쇄 페이지의 머리글과 바닥글을 설정할 수 있습니다. 예를 들어, 머리글로는 인쇄할 문서의 이름, 바닥글로는 페이지 번호를 표시하는 것입니다.
PrintInfo 클래스의 Header 속성과 Footer 속성을 통해 페이지 번호와 같은 텍스트 및 변수를 지정하고 글꼴을 설정할 수 있습니다. 글꼴 관련 명령은 'f'로 시작합니다.
다음 표는 머리글과 바닥글에 삽입할 수 있는 제어 명령 목록입니다. 여러 제어 문자를 사용할 때에는 띄어쓰기 없이 나열합니다.
제어 명령 | 동작 |
---|---|
/ | 슬래시 문자(/)를 삽입합니다. |
/l | 항목을 좌측 정렬합니다. |
/c | 항목을 가운데 정렬합니다. |
/r | 항목을 우측 정렬합니다. |
cl"n" | 색상 인덱스를 사용하여 따옴표로 묶은 텍스트의 색상을 설정합니다. n은 0 이상일 수 있습니다. |
/dl | 긴 형식으로 날짜를 입력합니다. (yyyy년 mm월 dd일 x요일) |
/ds | 짧은 형식으로 날짜를 입력합니다. (yyyy-mm-dd) |
/tl | 긴 형식으로 시간을 입력합니다. (오후 hh:mm:ss) |
/ts | 짧은 형식으로 시간을 입력합니다. (오후 hh:mm) |
/fb0 | 굵은 글꼴을 해제합니다. |
/fb1 | 굵은 글꼴을 사용합니다. |
/fi0 | 기울임꼴을 해제합니다. |
/fi1 | 기울임꼴을 사용합니다. |
/fk0 | 텍스트 취소선을 해제합니다. |
/fk1 | 텍스트 취소선을 사용합니다. |
/fu0 | 밑줄을 해제합니다. |
/fu1 | 밑줄을 사용합니다. |
/fn"name" | 글꼴 이름을 따옴표로 묶은 이름으로 설정합니다. |
/fz"n" | 글자 크기를 n으로 설정합니다. |
/fs"n" | 글꼴 설정 재사용을 위해, n번째 인덱스에 글꼴 설정을 저장합니다. |
/f"n" | 이전에 저장된 n번째 인덱스를 가진 글꼴 설정을 불러옵니다. 인덱스 n은 0 이상입니다. |
/g"n" | 이미지 배열에서 인덱스가 n에 해당하는 이미지(그래픽)을 삽입합니다. 인덱스 n은 0 이상입니다. |
/n | 새 줄을 입력합니다. |
/p | 페이지 번호를 입력합니다. |
/pc | 인쇄할 총 페이지 수를 입력합니다. |
/sn | 시트 이름을 입력합니다. |
예제를 통해 자세히 살펴보겠습니다. 예제에서는 머리글과 바닥글에 각각 다음과 같은 내용을 인쇄합니다.
머리글 좌측: 이미지
바닥글 좌측: 인쇄 날짜(긴 형식)
바닥글 우측: 현재 페이지 번호 / 전체 페이지 번호
인쇄 설정을 위해 PrintInfo 객체를 생성합니다. 결과 확인을 위해 인쇄 미리보기 옵션(Preview 속성)을 true로 설정합니다.
PrintInfo printInfo = new PrintInfo(); // 인쇄 시 미리보기 창이 나타납니다. printInfo.Preview = true;
머리글에 이미지를 삽입할 것이므로, 먼저 이미지 배열을 생성합니다. 이미지를 불러올 때에는 Image.FromFile 메소드를 사용합니다. 이때 경로는 상대 경로와 절대 경로 모두 사용하실 수 있습니다. 변수 filePath에 원하시는 이미지가 있는 경로를 입력하여 테스트해보시길 바랍니다.
String filePath = "..\\..\\full-spread.png"; printInfo.Images = new Image[] {Image.FromFile(filePath)};
PrintInfo의 Header 속성을 설정을 통해 머리글 좌측(/l)에 이미지 배열의 0번 인덱스를 가진 이미지(/g"0")를 삽입합니다. 이미지 인덱스는 큰따옴표로 감싸져있습니다.
printInfo.Header = "/l/g\"0\"";
PrintInfo의 Footer 속성을 설정합니다. 바닥글에는 두 가지 항목을 입력할 것이며, 여러 항목을 입력할 때에 제어문자를 띄어쓰기 없이 나열합니다.
먼저, 바닥글 좌측(/l)에 긴 형식의 인쇄 날짜(/dl)를 삽입합니다. 이어서 바닥글 우측(/r) '현재 페이지 번호(/p) / 전체 페이지 수(/pc)'를 입력합니다.
printInfo.Footer = "/l/dl/r/p / /pc";
설정한 인쇄 정보를 활성화된 시트에 적용합니다.
// 인쇄 설정을 활성화된 시트에 적용합니다. fpSpread1.ActiveSheet.PrintInfo = printInfo;
설정이 적용된 시트를 인쇄합니다.
// 인쇄 설정을 적용한 시트를 출력합니다. fpSpread1.PrintSheet(fpSpread1.ActiveSheetIndex);
코드를 실행하면 다음과 같이 인쇄 미리보기 창이 나옵니다. 머리글 좌측에 이미지가, 바닥글 양쪽에 인쇄 날짜와 페이지 번호가 삽입된 것을 확인할 수 있습니다.
샘플을 다운로드하여 전체 코드를 확인해 보실 수 있습니다.
지금 바로 Spread.NET을 다운로드하여 직접 테스트해보세요!
댓글목록
등록된 댓글이 없습니다.