2016-12-06 10 views
0

IText 7をJavaで使用してPDF文書を作成しようとしています。ただし、テーブルの内容はpdfに表示されません。IText 7:テーブルのコンテンツが表示されない

コードスニペット:

private void addReceiptDetails(Document doc) { 
     Table table = new Table(2, true); 
     table.addCell(new Cell().add("C1")); 
     table.addCell(new Cell().add("C2")); 
     for (TaxTypeModel taxType : sale.getTaxModel().getTaxTypeModelList()) { 
      table.addCell(new Cell().add("C9")); 
      table.addCell(new Cell().add("C10")); 
     } 
     table.addCell(new Cell().add("C3")); 
     table.addCell(new Cell().add("C4")); 

     table.addCell(new Cell().add("C5")); 
     table.addCell(new Cell().add("C6")); 

     table.addCell(new Cell().add("C7")); 
     table.addCell(new Cell().add("C8")); 

     doc.add(table); 
     table.complete(); 
     doc.close(); 
    } 

PDFの表の内容:

enter image description here

は誰かここに私を助けてください。私はここで正確に何が間違っているのか分かりません。

EDITは:

Table table = new Table(8); 
     for (int i = 0; i < 16; i++) { 
      table.addCell("hi"); 
     } 
     doc.add(table); 

をそして、これはまた、単に空のセルを作成している:私はhereからのサンプルコードを試してみました。

答えて

0

問題を再現できません。

私は明らかな変化を使用してコードを実行しました:

  • 私はここにそのようなTaxTypeModelを持っていないようforループを削除する必要がありました。
  • ドキュメントのインスタンス化コードを追加する必要がありました。

e.e.e.このように:

try ( OutputStream result = new FileOutputStream("simpleTableRahulDevMishra.pdf"); 
     PdfWriter writer = new PdfWriter(result); 
     PdfDocument pdfDocument = new PdfDocument(writer); 
     Document doc = new Document(pdfDocument) ) 
{ 
    Table table = new Table(2, true); 
    table.addCell(new Cell().add("C1")); 
    table.addCell(new Cell().add("C2")); 
    /* 
    for (TaxTypeModel taxType : sale.getTaxModel().getTaxTypeModelList()) { 
     table.addCell(new Cell().add("C9")); 
     table.addCell(new Cell().add("C10")); 
    } 
    */ 
    table.addCell(new Cell().add("C3")); 
    table.addCell(new Cell().add("C4")); 

    table.addCell(new Cell().add("C5")); 
    table.addCell(new Cell().add("C6")); 

    table.addCell(new Cell().add("C7")); 
    table.addCell(new Cell().add("C8")); 

    doc.add(table); 
    table.complete(); 
    doc.close(); 
} 

結果は、Adobe Readerで次のようになります。

Screenshot

あなたの問題の原因、それゆえ、あなたが提供されたコードではありません。だからあなたの問題を再現するためのコードを提供してください。

他のコードサンプル

Table table = new Table(8); 
for (int i = 0; i < 16; i++) { 
    table.addCell("hi"); 
} 
doc.add(table); 

で問題を再現しようとすると


は、コンテンツを持つ細胞の結果:あなたの助けのための

Screenshot

+0

おかげで多くのことを。私はこの問題を解決するためにひどい時間を費やしました。そして今私はそれを解決することができました。 すべてのセルに '.setFontColor(Color.BLACK)'を追加する必要がありました。 私はページの背景イメージをLIGHT_GRAYに設定していました。なぜ、デフォルトの色が見えないのかという理由が考えられます。 –

+0

* "すべてのセルに' .setFontColor(Color.BLACK) 'を追加する必要があった* * - 単純な解決策があると仮定して、適切な場所に塗りつぶしの色を黒に設定するだけで済みます。 – mkl

関連する問題