2011-10-29 26 views
0

現在、このコードを使用していますが、そのコードはPrintJobFlavorExceptionです。これは私のコードはこの1つの固定私を助けている:文字列を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文書を作成する方法を示しています。

0

変更のDocFlavorの風味をレポート= DocFlavor.INPUT_STREAM.PDFに*のDocFlavorの風味= DocFlavor.INPUT_STREAM.AUTOSENSE *。

E Pavan Varma

関連する問題