다음을 통해 공유


자습서: 인쇄 및 인쇄 옵션 설정

소개

Crystal Reports UI가 아닌 코드를 통해 인쇄 옵션을 구성하고 프린터를 호출할 수 있습니다. 이렇게 하려면 ReportDocument 개체 모델의 PrintOptions 클래스와 PrintToPrinter() 메서드를 사용해야 합니다.

CrystalReportViewer 컨트롤의 도구 모음에 있는 인쇄 단추를 사용해도 원하는 대로 인쇄되는 경우에는 추가 인쇄 옵션을 구성하는 코드를 작성할 필요가 없습니다.

그러나 다음과 같은 특정 시나리오에는 코드 기반 방식을 사용하여 보고서를 인쇄하는 것이 유용할 수 있습니다.

  • 인쇄 시간, 위치 및 방식을 제어하려는 경우. 이 경우 CrystalReportViewer 컨트롤의 도구 모음에 있는 인쇄 단추를 비활성화하고 코드를 통해 모든 인쇄 작업을 관리하십시오.
  • 보고서를 표시하지 않고 백그라운드에서 인쇄하려는 경우. 모든 인쇄 설정은 ReportDocument 모델에 포함되어 있습니다. 이 모델은 CrystalReportViewer 컨트롤을 사용하여 보고서를 표시하지 않고도 인스턴스화하고 구성할 수 있습니다.
  • 모든 인쇄 작업을 웹 클라이언트용 웹 서버에서 중앙 집중식으로 관리하려는 경우. PrintToPrinter() 메서드를 사용하면 웹 클라이언트에 연결된 로컬 프린터에 인쇄 작업을 보내는 대신 웹 서버에 연결된 프린터에 인쇄 작업을 보낼 수 있습니다.
    Note참고

    이 백 엔드 인쇄 기능은 Crystal Reports Server 또는 BusinessObjects Enterprise에서 제공하는 보고서 일정 프레임워크보다 사용 범위가 좁습니다. 이러한 제품에 대한 자세한 내용은 "업그레이드 옵션"을 참조하십시오.

우선 Web Form또는 Windows Form의 CrystalReportViewer 컨트롤 위에 인쇄 옵션을 설정하는 여러 가지 목록 컨트롤을 추가합니다.

그런 다음 사용할 프린터 경로를 할당할 CURRENT_PRINTER 문자열 상수를 코드 숨김 클래스에 만듭니다.

용지 방향, 용지 크기 및 프린터 양면 인쇄 설정에 대한 인쇄 옵션이 포함된 열거형에 각 목록 컨트롤을 바인딩합니다. 추가 목록 컨트롤에는 CURRENT_PRINTER 상수에 지정되어 있는 프린터의 사용자 지정 용지 공급 설정이 표시됩니다. 사용자 지정 용지 공급 컨트롤의 경우 PrinterSettings를 인스턴스화하여 현재 프린터에 할당한 다음 현재 프린터의 용지 공급 배열을 반환하는 도우미 메서드를 만듭니다.

그런 다음 보고서 인쇄 단추에 대한 단추 클릭 이벤트 메서드를 만듭니다. 해당 이벤트 메서드에서는 목록 컨트롤에서 선택한 사항에 따라 값이 각 인쇄 옵션 속성에 할당됩니다. 마지막으로 CURRENT_PRINTER 상수에 지정되어 있는 프린터로 보고서가 인쇄됩니다.

샘플 코드

이 자습서에는 완성된 프로젝트 버전을 보여 주는 Visual Basic 및 C# 샘플 코드가 함께 제공됩니다. 완성된 버전에서 작업하려면 이 자습서의 지침에 따라 새 프로젝트를 만들거나 샘플 코드 프로젝트를 여십시오.

샘플 코드는 언어와 프로젝트 형식에 따라 다른 폴더에 저장되어 있습니다. 샘플 코드 버전별 폴더 이름은 다음과 같습니다.

  • C# 웹 사이트: CS_Web_RDObjMod_SetPrintOptions
  • C# Windows 프로젝트: CS_Win_RDObjMod_SetPrintOptions
  • Visual Basic 웹 사이트: VB_Web_RDObjMod_SetPrintOptions
  • Visual Basic Windows 프로젝트: VB_Win_RDObjMod_SetPrintOptions

이러한 샘플이 포함된 폴더를 찾으려면 "자습서의 샘플 코드 디렉터리"를 참조하십시오.

이 섹션에 포함된 내용: