사용자 요청에 따라 일부 중앙 파일 생성을 수행하는 응용 프로그램이 있습니다. 일단 파일이 만들어지면 그 파일로 작업 할 수 있기를 원하는 것은 사용자의 인쇄 대기열 (이 조직에는 중앙 인쇄 대기열이 있으므로 사용자가 자신의 문서를 인쇄 할 책임이 있습니다)에 넣을 수 있기 때문입니다. 사용자가 준비되면 인쇄됩니다.특정 사용자의 PrintQueue에 작업 추가
.net에 System.Printing
어셈블리를 사용하면 자체 인쇄 대기열에 작업을 추가 할 수 있으므로 해당 부분에서 소리가납니다. 내 인쇄 코드는 다음과 같습니다 :
private void RunPrintJob(string myFileName)
{
PrintServer ps = new PrintServer(@"\\printatron");
PrintQueue queue = new PrintQueue(ps, "psandqueues");
try
{
PrintSystemJobInfo pj = queue.AddJob(myFileName);
Stream myStream = pj.JobStream;
Byte[] myByteBuffer = GenerateBufferFromFile(myFileName); myStream.Write(myByteBuffer, 0, myByteBuffer.Length);
myStream.Close();
}
catch (Exception ed)
{
Debug.WriteLine(ed.Message);
if (ed.InnerException != null)
{
Debug.WriteLine(" -> " + ed.InnerException);
}
result = false;
}
queue.Commit();
}
그래서 중앙 집중식으로 작성된 문서를 가지고있어서 어떤 사용자가 작성을 담당했는지 알고 프린터로 보낼 수 있습니다.
내가 지금 필요한 것은 프린터를 사용자로 설정 한 사용자와 함께 프린터로 보낼 수있는 방법입니다. 인쇄 대기열을 통해이를 수행 할 수 있습니까? PrintSystemJobInfo.Submitter
속성에서 읽을 수 있지만 읽기 전용이라는 것을 알고 있습니다. 그렇지 않다면 나는 가장을 통해 그것을해야합니까? 그렇다면 후자의 경우 사용자 비밀번호를 여러 개 저장하지 않아도되고 사용자가 비밀번호를 변경할 때마다 소프트웨어가 실패하는 것을 피할 수있는 방법이 있습니까? 이것은 실제로 작동이 어색한 것처럼 보입니다. 그러나이 활동은 현재 대화 형으로 수행되지 않으므로 다른 옵션은 있습니까?
나는 이것에 대한 대답을 듣고 싶다. 그러나, 내가 사용할 수있는 도구로 서버의 인쇄 작업을 스풀링하는 유용한 방법을 찾지 못해 결국 다른 접근법을 취했다. .net 2.0, 확실하지 System.Printing 물건이 여기에 도움이되었을 경우) 대신 배경에 앉아있는 로컬 응용 프로그램을 설정하여 문제를 해결하고 인쇄용 워드 프로세서를 검색하여 사용자의 컴퓨터에서 인쇄하여 사용 권한을 피하는 방법 문제. – glenatron
그럼 질문을 업데이트 하시겠습니까? –