Java 인쇄 서비스를 사용하여 PNG 파일을 인쇄하고 있지만 프린터에 오류가 있습니다. 무엇 (I는 PNG를 사용하는 경우) 실제로 인쇄됩니다 것은 일부 텍스트 말하는 것입니다 :Java 인쇄 서비스를 사용하여 PNG 파일을 인쇄 할 수 없습니다. (다른 모든 기능은 작동합니다.)
ERROR: /syntaxerror in --%ztokenexec_continue--
Operand stack:
--nostringval-
좀 더 텍스트가 될 것 같다,하지만 종류의 페이지 여백에서 손실됩니다. DocFlavor를 DocFlavor.INPUT_STREAM.PNG
으로 설정하고 지정된 파일은 실제로 InputStream
입니다. Doc30Flavor를 DocFlavor.INPUT_STREAM.PDF
으로 변경하고 pdf 파일을 사용하면됩니다.
다른 PNG 파일로 시도했지만 문제가 계속 발생합니다. 그 가치가 무엇인지, 심지어 PostScript도 작동하는 것 같습니다.
인쇄되는 오류는 gd
(또는 ImageMagick?) 오류와 매우 유사합니다. 그래서, 지금 당장 가장 좋은 가정은 PNG -> PS의 변환이 실패하고 있다는 것입니다. 다음과 같이
코드는 다음과 같습니다
여기PrintService printService = this.getPrintService("My printer name");
final Doc doc = new SimpleDoc(document, DocFlavor.INPUT_STREAM.PNG, null);
final DocPrintJob printJob = printService.createPrintJob();
, getPrintService
는 인쇄 서비스를 가져와 유효한 하나를 가져 오는 있습니다. document
에 관해서는, 여기에 내가 그것을 얻을 방법은 다음과 같습니다
File pngFile = new File("/home/rprabhu/temp/myprintfile.png");
FileInputStream document = new FileInputStream(pngFile);
내가 잘못가는 이유 단서가 없다, 나는뿐만 아니라 콘솔에 출력되는 오류가 표시되지 않습니다.
도움을 주시면 대단히 감사하겠습니다. 감사.
작은 스윙 응용 프로그램에서 PNG를로드하십시오. 사실 ImageIO.read는 이미 할 것입니다. 또는 .png가 거짓 인 경우 DocFlavor.INPUT_STREAM.AUTOSENSE를 시도하십시오. 다른 PNG로 시도해보십시오. –
다른 PNG를 시도해 보았습니다. (실제로는 많은 프로그램에서 생성 된 것). .png는 거짓말이 아닙니다. AUTOSENSE 시도 didhe work –
그러면'new URL ("file :/...")이있는 DocFlavor.URL.PNG는 아마도 그렇게하지 않을 것입니다. 해킹 솔루션으로 ImageIO.read로 이미지를 읽을 수 있고 ImageIO.write로 이미지를 읽을 수 있고 ByteArrayOutputStream에 jpg를 보내고 DocFlavor.BYTE_ARRAY.JPEG를 사용할 수 있습니다. 파일 속성을 확인하십시오. 어쩌면 temp 디렉토리에서 파일을 복사하십시오. –