2009-11-03 1 views
5

사람들이 인쇄를 허용하는 인터넷 카페에서 의도 한 것보다 많은 페이지를 인쇄하는 경우가 있습니다."X 페이지를 인쇄 하시겠습니까?" 실제로 인쇄하기 전에 대화 상자를 엽니 다. (모든 응용 프로그램 용)

"X 페이지를 인쇄 하시겠습니까?"라는 메시지가 표시됩니다. 대화 상자에서 작업을 대기열로 보내기 전에 (모든 응용 프로그램에서) 인쇄를 누른 후.

나는 이러한 고리를 구현하는 방법에 대한 지침을 찾고 있습니다.

(예를 들어, 먼저 FOSS PDF 프린터를 수정하여 PDF로 인쇄 한 다음 대화 상자를 표시 한 다음 사용자가 "예"를 누르면 실제 프린터로 인쇄합니다.하지만이 작업은 정말 로터리 방식입니다 이것과 하나는 또한 프린터 고유의 기능을 이런 방식으로 잃어 버린다.)

+0

나는이 일을 직접 수행하지 못했습니다. 그러나 나는 이것을 할 수있는 인터넷 카페 관리 소프트웨어를 발견했다 : http://www.truecafe.net/doc/printer_watcher.html –

답변

3

당신이 할 수있는 일 중 하나는 거의 비슷하다. 인쇄 스풀러를 일시 중지하고 작업을 인쇄하고 페이지 수를 얻은 다음 프롬프트를 표시한다. 확인을 위해 사용자. 사용자가 작업을 정상적으로 수행하면 스풀러를 해제하십시오. API 호출이 편리하지 않지만 스풀러 대기열을 아주 쉽게 조작했습니다.

물론이 생각의 단점은 큐가 서버 기반이며 잠재적 사용 권한 문제가 발생할 수있는 경우입니다.

또 다른 대안은 출력을 WMF 또는 EMF 파일로 강제로 가져와 페이지 수를 계산 한 다음 스풀러로 넘겨주는 것입니다. 이는 PDF로 출력한다는 개념과 유사하지만 기본 접근 방식을 사용합니다. (이것은 본질적으로 미리보기를 수행하기 위해 일반적으로 수행하는 응용 프로그램입니다. 화면에 표시되거나 프린터에 스풀링되는 메타 파일 형식으로 작업을 렌더링합니다.)

불행히도 페이지 수를 얻을 방법이 없습니다 당신이 내용을 깊이 인식하지 못하고 그것을 판단 할 수 없다면 인쇄 작업을 렌더링 할 수 있으므로 적어도 인쇄 동작을 따라야합니다.

희망이 도움이됩니다.

+0

나는 멈춤 - 더 - 스풀러 해결책, 감사를 좋아한다! 심플 해 보입니다. 이 프린터의 대부분은 TCP/IP 기반이므로 각 워크 스테이션마다 자체 대기열이 있습니다. WMF/EMF 솔루션이 더 깨끗해 보입니다. 그러나 어떻게 시작해야할지 모르겠습니다. –

관련 문제