2010-08-02 2 views
0

이상한 문제가 있습니다. 나는 axAcroPDF 컨트롤을 통해 pdf를 보여주는 프로그램을 가지고있다. 컨트롤에서 사용자가 액세스 할 수 없기 때문에 도구 모음을 숨겨서 인쇄 단추 (액세스 권한을 부여하려는 유일한 기능)를 만들었습니다.C# AcroPDF는 항상 첫 번째 프린터에서 인쇄합니다.

이제 어도비는 printAll() 함수에서 프린터 경로를 전달하는 것이 현명하다고 생각했기 때문에 기본 프린터를 변경하는 방법을 찾아갔습니다.

두 종류의 용지가 있습니다. 하나는 값이 싼 것이고 다른 하나는 매우 비쌉니다. 따라서 어떤 종류의 문서에 따라 다른 프린터에서 인쇄하고 다른 프린터에서는 인쇄합니다.

그래서 여기서는 PrintA가 모든 프린터의 기본 프린터이고 PrintB는 값 비싼 용지 프린터입니다.

PrintB로 인쇄 할 때 내 프로그램은 현재 기본 프린터를 메모리에두고 기본 프린터를 PrintB로 전환하고 문서를 인쇄 한 다음 PrintA로 전환합니다. 문제는 그 이후에 일반 문서를 인쇄하려고하면 PrintB가 기본 프린터 인 경우에도 인쇄됩니다.

반대의 경우도 마찬가지입니다. 그런 다음 PrintA를 사용하여 일반 문서를 먼저 인쇄하면 PrintA를 사용하여 특수 문서를 인쇄합니다.

프로그램을 종료 할 때까지이 작업을 수행합니다. 그래서 처음에는 내 프로그램이라고 생각했지만 디버깅을했고 모든 것이 잘되었습니다. 나는 심지어 printWithDialog()로 테스트하고 throu를 처음으로 통과 시키면 대화 상자가 나타납니다. 그러나 이후에 시간이 지나면 아무 일도 일어나지 않을 것입니다 : O

그래서이 문제를 해결하는 방법에 대해서는 완전히 분실되어 있습니다. 툴바에 대한 액세스 권한을 부여하고 프린터 및 인쇄물의 양을 스스로 설정할 필요가 있다고 느낍니다 (이는 매우 나쁜 생각입니다. 얼마나 멍청한 것인지 알지 못합니다).

답변

0

마침내 우리가 어도비를 다뤄야 만한다면 모든 문제가 더 나아질 것이라고 생각했습니다. 그것이 바로 우리가 한 일입니다. 우리는 Foxit을 설치했고 모든 프린터 드라마는 사라졌습니다!

관련 문제