2017-12-14 20 views
0

프린터 이름이있는 문자열을받는 svc가 있는데, 몇 가지 작업을 마치면 pdf 문서 인쇄가 완료됩니다.winspool.Drv-WritePrinter를 사용하여 인쇄하면 올바른 페이지 대신 기호가있는 수백 페이지가 인쇄됩니다.

나는 PDF를

https://vishalsbsinha.wordpress.com/2014/05/06/how-to-programmatically-c-net-print-a-pdf-file-directly-to-the-printer/

를 인쇄하려면이 같은 코드를 사용하고 그리고 그것은 내 컴퓨터/프린터에서 완벽하게 작동합니다. 그러나 게시하고 서버에 배포 할 때 서비스를 사용하면 예상 한 페이지 pdf 대신 기호로 채워진 수백 페이지를 인쇄하기 시작합니다. 서버에는 Adobe Acrobat이 설치되어 있지 않으며 설치가 불가능하므로 'Process() -> Verb = "PrintTo"와 같은 다른 대안을 사용할 수 없습니다.

pdf 글꼴은 Calibri와 Arial이며, 팀과 서버 모두에 설치됩니다.

누구나 내가 왜 잘못 인쇄하고 어떤 대안을 가지고 있는지 말할 수 있습니까?

프린터의 모델은 다음과 같습니다 RICOH AFICIO MP C4501 PCL 6

+1

포스트 스크립트 자체를 이해하는 프린터가 있어야합니다. PCL을 인쇄 언어로 사용하는 사람은 아닙니다. –

답변

1

귀하의 솔루션은 프린터가 기본적으로 PDF 파일을 처리하고, 많은 프린터는 PDF를 지원하지 않는 것을 요구한다. 프린터 드라이버는 Windows GDI에서 프린터의 기본 형식으로 변환되지만 WritePrinter를 사용하여 프린터 드라이버를 우회합니다. PDF를 지원하는 다른 용지 프린터를 사용해야하거나 WritePrinter 대신 프린터 드라이버를 사용하여 프린터로 파일을 보내야합니다.