특정 인쇄 서비스에 일반 텍스트 (아마도 cp1252 또는 Windows가 사용하는 모든 것)를 인쇄하려고합니다. 쉽지, 그렇지? 그러나 성공은 사용하는 프린터 유형에 크게 의존하는 것 같습니다.javax.print API로 일반 텍스트 인쇄
세 가지 프린터를 사용할 수 있습니다. 하나는 HP LaserJet (일반 프린터)이고, 하나는 무료 PDF (가상 PDF 프린터)이고 다른 하나는 Tobit Faxware (가상 팩스 서비스 - 이것은 내가 인쇄하고 싶은 것입니다.)입니다.
지원되는 doc 형식에 따르면 none은 "text/plain"또는 기타 "text"형식을 제공합니다.
DocFlavor.URL.AUTOSENSE
을 사용하여 인쇄 할 때 HP 프린터는 텍스트를 올바르게 인쇄하지만 다른 두 개는 자동으로 실패합니다. "텍스트"DocFlavors는 지원되지 않기 때문에 프린터에 "자동 감지"이외의 힌트를 더 이상 제공 할 수 없습니다.
Windows 메모장을 사용하여 파일을 인쇄 할 때 세 프린터 모두에서 정상적으로 작동합니다. 차이점은 메모장에서 "NT EMF 1.008"을 사용하는 동안 "RAW"데이터를 인쇄하고있는 것으로 보입니다.
Java PrintService를 사용하여 작동하게하려면 어떤 방법이 있습니까?
이미지에서 차용. – Stroboskop
사실 ... 나는 때때로 printString에 텍스트를 "그리기"때문에 drawString을 사용하면 마크 업할 수있는 텍스트가됩니다 (프린터로 FreePDF 사용). 그러나 대부분의 경우 이미지 조각의 PrintJob에 의해 구성 요소가 잘라지고 텍스트가 없기 때문에 일관되게 작동하지 않습니다. 어떤 방법을 사용하는지 아직 알지 못했습니다. – Stroboskop