2011-10-29 3 views
0

현재이 코드를 사용하고 있지만 던지는 것은 PrintJobFlavorException입니다. 이것은 내 코드이 하나의 고정 나를 도울 수 있습니다 :String에서 Java로 PDF로 변환하는 방법

public class PJUtil { 
    public static void main(String[] args) throws Exception { 
     DocFlavor flavor = DocFlavor.INPUT_STREAM.PDF; 
     Writer output = null; 
     String text = "printing in pdfPrinting in Java "; 
     File file = new File("C:\\CMPSup_AL_.PDF"); 
     output = new BufferedWriter(new FileWriter(file)); 
     output.write(text); 
     output.close(); 
     InputStream is = new BufferedInputStream(new FileInputStream(file)); 
     PrintService service = PrintServiceLookup.lookupDefaultPrintService(); 
     DocPrintJob job = service.createPrintJob(); 
     Doc doc = new SimpleDoc(is, flavor, null); 
     PrintJobWatcher pjDone = new PrintJobWatcher(job); 
     job.print(doc, null); 
     pjDone.waitForDone(); 
     is.close(); 
    } 
} 

및 예외는

Exception in thread "main" sun.print.PrintJobFlavorException: invalid flavor 
    at sun.print.Win32PrintJob.print(Win32PrintJob.java:327) 
    at Collections.PrinterJobUtil.main(PrinterJobUtil.java:89) 
+1

왜 그 텍스트 문자열이 유효한 pdf 문서라고 생각합니까? (힌트, 그렇지 않다). – jtahlborn

+0

파일을 PDF로 부를 수는 없으며 실제 PDF 형식의 파일이어야합니다. 이것이 그 문제인지 아닌지는 모르지만 확실히 도움이되지는 않습니다. –

답변

1

프린터는 텍스트 기반의 표현을 지원하지 않을 수 있습니다. 이 기사를 java printing, 특별히 5 페이지를보십시오.

1

다른 사람들이 지적한 것처럼 PDF라는 파일을 만들어서 인쇄 할 수는 없습니다. PDF를 생성해야한다면 itext을 살펴보십시오.

0

PDF 파일을 만드는 또 다른 옵션을 제공하기 만하면됩니다. Apache's PDFBox을 사용해보고 요리 책을보십시오. HelloWorld 예제에서는 샘플 코드에서 만들려는 PDF 문서와 같은 간단한 PDF 문서를 만드는 방법을 보여줍니다.

0

변경 의 DocFlavor의 맛을보고 DocFlavor.INPUT_STREAM.PDF * DocFlavor를 맛 = DocFlavor.INPUT_STREAM.AUTOSENSE *으로 갈.

E Pavan Varma

관련 문제