2017-03-09 19 views
-1

私はpdfのjavaを使っているので、jpanelには27行のテキストが含まれていますが、pdfに変換するたびに24行しか得られません。 pdfページへ。以下の私のコードですitextは全ての行を表示していません

PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("C:\\Users\\CHRISGEEK\\Documents\\test.pdf")); 
    Rectangle two = new Rectangle(1000,500); 
    document.setPageSize(two); 
    document.setMargins(0, 0, 0, 0); 

    document.open(); 
    PdfContentByte contentByte = writer.getDirectContent(); 
    PdfTemplate template = contentByte.createTemplate(500, 500); 
    Graphics2D g2 = new PdfGraphics2D(contentByte, 500, 500); 
    answer_panel.print(g2); 
    g2.dispose(); 
    contentByte.addTemplate(template, 30, 300); 
    writer.setPageEmpty(false); 
    document.newPage(); 
} catch (Exception e) { 
    e.printStackTrace(); 
} 
finally{ 
    if(document.isOpen()){ 
     document.close(); 
    } 

答えて

0

PdfGraphics2D新しいページを作成しません、それはすべてのviweingエリア外でそれをおそらく何らかのOT、同じページに出てくるだろう。コンテンツが大きすぎる場合は、呼び出す前にコンテンツを分割する必要があります。

+0

申し訳ありませんが、どのように正確に呼び出す前に分割するのですか?内容は実際には約2500行です@Paulo – chrisgeeq

+0

@chrisgeeq十分な大きさのテンプレートを作成し、すべてのJPanelコンテンツをそのテンプレートに描画することができます。次に、この単一のテンプレートを異なるオフセットを使用して異なるpdfページに追加し、その結果、テンプレートの異なるセクションを個々のページに表示します。詳細はcfを参照してください。 [この回答](http://stackoverflow.com/a/20851964/1729265)。 – mkl

関連する問題