2013-10-31 75 views
9

HTMLコンテンツからPDFを作成しようとしています。PDFBoxを使用してHTMLからPDFファイルを作成する方法は?

public byte[] generatePdf(final XhtmlPDFGenerationRequest request) { 

    ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
    PDDocument document = new PDDocument(); 
    InputStream stream = new ByteArrayInputStream(request.getContent() 
      .getBytes()); 

    PDStream pdstream = new PDStream(document, stream); 
    document.save(baos); 
    document.close(); 
    return this.toByteArray(baos); 

} 

このbyte[]をファイルに保存すると、ファイルは空白になります。私はhttp://pdfbox.apache.org/apidocs/

public PDStream(PDDocument doc, 
       InputStream str) 
     throws IOException 

から文書

に入力ストリームを埋め込むことPDStreamを使用していますが、入力ストリームからのすべてのデータを読み込み、文書に埋め込み、これはInputStreamを閉じます。

答えて

12

私はPDFレンダラへのHTMLを探していました。私たちはiTextを使っていました。私はApache PDFBoxと同じことをやろうとしていました。しかし、それはできないように見えます。

Apache FOPのいずれかを使用するか、iTextを使用し続けることができます。ここで

誰もが興味を持っている場合はiTextのソリューションです: Java Render XML Document as PDF

あなたはPDFボックスを使用してマージするための解決策を探しているなら、ここでそれは、私はiTextのに代わるものを探しています Merge pdf files using Apapche pdf box

+3

ですそのライセンスルールはクローズドソースプロジェクトでうまく動作しません – Hoffmann

+0

@Hoffman上記のリンクのapache pdfソリューションはうまくいかなかったのですか? – vsingh

+1

apache pdfboxは、HTMLからPDFへの変換をサポートしていません。最近、javaのpdfライブラリに関するslashdotに関する議論がありました。私はiText v2を使用しているFlying Saucerについて知っていましたが、まだ試していませんが、将来の参照用にここで議論します。 .slashdot.org/comments.pl?sid = 5505091&cid = 47625223 – Hoffmann

関連する問題