Postscript PPD를 사용하여 원시 파일을 프린터로 보내는 방법은 무엇입니까?

Postscript PPD를 사용하여 원시 파일을 프린터로 보내는 방법은 무엇입니까?

PCL 파일과 같은 원시 파일을 네트워크 프린터로 보내려고 하면 "lpr -l" 또는 "lpr -o raw"와 같은 명령을 사용하더라도 CUPS 대기열이 엉망이 되고 프린터가 "비활성화"됩니다. 이와 같이.

프린터의 PPD 설명에 "포스트스크립트(권장)"가 구체적으로 언급되어 있고 포스트스크립트를 보내면 제대로 작동하기 때문에 PPD가 문제를 일으켰을 수도 있다고 생각합니다.

프린터가 네트워크로 연결되어 있기 때문에 장치로 프린터에 직접 보낼 수 없습니다.

답변1

PCL과 Postscripts는 서로 경쟁하는 두 가지 인쇄 프로토콜입니다.

프린터가 두 프로토콜을 모두 지원하는 경우 다른 PPD/다른 인쇄 방법을 사용하여 CUPS에 다른 대기열을 정의해야 합니다.

IPP를 통해 프린터와 통신해 볼 수 있습니다.

특정 프린터 모델이 Postscript만 사용하는 경우 PCL을 보낼 필요가 없습니다.

답변2

lpr -o raw pcl-file어떤 방식으로든 데이터를 수정하지 않고 프린터로 데이터를 보내는 데 사용할 수 있습니다 . 실제로 이 사용법은 매우 일반적이어서 별도의 옵션( ( lpr -l pcl-file와 동일 -l) 이 있습니다 -o raw.

답변3

오랫동안(약 한 달) 이 문제로 고생한 끝에 나는 기본적으로 lpr/CUPS에 네트워크 프린터를 사용할 수 없게 만드는 두뇌 손상 논리가 있다는 것을 발견했습니다. 문제는 전체 "비활성화/활성화" 프린터 패러다임에 있습니다. 일단 lpr이 엉망이 되면 프린터를 사용할 수 없게 되고, 이는 어느 시점에서 발생하게 됩니다. 이러한 문제를 진단하려면 사용자에게 수퍼유저 권한이 있어야 하므로 권한이 없는 사용자가 있는 작업 그룹 환경에 있는 사람은 기본적으로 lpr을 사용할 수 없습니다.

제가 문제를 해결한 방법은 포트 9100의 프린터 IP 주소에 연결하는 짧은 프로그램을 C로 작성하고, 읽기 전용 인쇄용 PCL 파일을 열고, 해당 파일을 연결 소켓에 복사한 다음, 연결과 파일을 닫는 것이었습니다. . 이것은 매번 나에게 완벽하게 작동합니다. 따라서 원시 파일을 인쇄하려는 경우 기본적으로 필요한 모든 프로그래밍 기능을 사용할 수 있습니다. bash나 csh에서도 이 작업을 수행할 수 있습니다.

관련 정보