사용자가 인쇄 작업을 취소한 경우
addPage()
및
send()
호출을 실행하기 전에
PrintJob.start()
메서드가
true
를 반환하는지 확인하십시오. 계속 진행하기에 앞서 이러한 메서드가 취소되었는지 확인하는 간단한 방법은
if
문에서 해당 메서드를 다음과 같이 래핑하는 것입니다.
if (myPrintJob.start())
{
// addPage() and send() statements here
}
PrintJob.start()
가
true
인 경우 사용자가 [인쇄]를 선택했거나 Flash Player나 AIR와 같은 Flash 런타임에서 인쇄 명령을 시작한 것입니다. 따라서
addPage()
및
send()
메서드를 호출할 수 있습니다.
또한 인쇄 프로세스를 관리할 수 있도록 Flash 런타임에서
PrintJob.addPage()
메서드에 대한 예외를 발생시키므로 오류를 catch하고 사용자에게 정보와 옵션을 제공할 수 있습니다.
PrintJob.addPage()
메서드가 실패하면 다른 함수를 호출하거나 현재 인쇄 작업을 중지할 수도 있습니다. 다음 예제와 같이
addPage()
호출을
try..catch
문 내에 포함하여 이러한 예외를 catch합니다. 예제에서
[params]
는 실제 인쇄할 내용을 지정하는 매개 변수의 자리 표시자입니다.
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error,
}
myPrintJob.send();
}
인쇄 작업이 시작되면
PrintJob.addPage()
를 사용하여 내용을 추가할 수 있으며 그로 인해 예외가 생성되는지 여부(예: 사용자가 인쇄 작업을 취소했는지 여부)를 확인할 수 있습니다. 예외가 발생한 경우
catch
문에 논리를 추가하여 사용자 또는 Flash 런타임에 정보와 옵션을 제공하거나 현재 인쇄 작업을 중지할 수 있습니다. 페이지를 제대로 추가한 경우에는 계속해서
PrintJob.send()
를 사용하여 페이지를 프린터로 전송할 수 있습니다.
Flash 런타임이 프린터에 인쇄 작업을 보내는 데 문제가 발생하는 경우, 예를 들어 프린터가 오프라인인 경우 이 예외도 catch하여 추가 정보나 추가 옵션(예: 메시지 텍스트 표시 또는 애니메이션 내에 경고 표시)을 제공할 수 있습니다. 예를 들어 다음 코드와 같이
if..else
문의 텍스트 필드에 새 텍스트를 지정할 수 있습니다.
if (myPrintJob.start())
{
try
{
myPrintJob.addPage([params]);
}
catch (error:Error)
{
// Handle error.
}
myPrintJob.send();
}
else
{
myAlert.text = "Print job canceled";
}
작업 예제는
인쇄 예제: 배율 조절, 자르기 및 자동 맞춤
을 참조하십시오.