2011-01-05 5 views
3

こんにちは私はそこにイメージを含むPDFファイルを作成しました。作成した後に私のpdfを印刷したいと思います。ファイルを持っている代わりにPDFをメモリに入れておき、それをプリンタに送信すればいいのですが...どんなアイディアですか?iTextで作成したPDFを印刷するには?

私はiTextを使用しています。自分のコードを確認してください:

import com.lowagie.text.Document; 
    import com.lowagie.text.DocumentException; 
    import com.lowagie.text.Image; 
    import com.lowagie.text.PageSize; 
    import com.lowagie.text.Rectangle; 
    import com.lowagie.text.pdf.PdfContentByte; 
    import com.lowagie.text.pdf.PdfPrinterGraphics2D; 
    import com.lowagie.text.pdf.PdfTemplate; 
    import com.lowagie.text.pdf.PdfWriter; 

    import javax.imageio.ImageIO; 

    import java.awt.Color; 
    import java.awt.Graphics2D; 
    import java.awt.Toolkit; 
    import java.awt.image.BufferedImage; 
    import java.io.ByteArrayInputStream; 
    import java.io.File; 
    import java.io.FileOutputStream; 
    import java.io.IOException; 
    import java.io.InputStream; 


     private boolean exportToPdfThroughPNG(String fileName, float width, float height) throws DocumentException, IOException { 
     logger.debug("[boolean exportToPdfQuick() throws IOException, DocumentException]"); 

     BufferedImage pngFile = createPngFile(); 

     Document document = new Document(); 
     document.setPageSize(new Rectangle(width, height)); 
     PdfWriter.getInstance(document, new FileOutputStream(fileName)); 
     document.open(); 
     Image image = Image.getInstance(Toolkit.getDefaultToolkit().createImage(pngFile.getSource()), Color.WHITE); 
     document.add(image); 
     // If some day anyone wants to put text in the pdf. @Eduardo 
     // document.add(new Paragraph("title of the process")); 
     document.close(); 

     return true; 
    } 

ありがとうございます!

+0

これはWindowsまたは別のプラットフォームで実行されていますか? –

答えて

1

FileOutputStreamではなく、常にByteArrayOutputStreamを使用できます。

PDFバイトを取得した後、通常の「どのようにJavaで印刷するか」という質問が表示されます。多くのプリンタ(または少なくともドライバ)は、最近、PDFを取ることになるので、その時点であなたは完了したと主張することができます。

PS:あなたの質問に "Java"というタグを付けると、 "import"をキーワードとして使用してコードブロックを着色しました。将来心に留めておくべきこと。

+0

ありがとうございましたマーク、私は仕事でとても疲れていましたので、ついにこの問題を解決することができました... PS:このエディターを使っている人はいません!ごめんなさい! – MadMad666

関連する問題