2016-07-28 8 views
0

下の表を参照すると、2つのセルが分離されています.1つのセルが左のセル(名前)として追加され、もう1つのセルがテーブルとして追加されます。左のセルを削除して出力を再デザインする

私はコードの下にしようとしている:。

私は輸入com.lowagie.text.pdfとしてパッケージを使用しています*。

PdfWriter.getInstance(document, 
    new FileOutputStream("C:/Temp/TableWidthAlignment.pdf")); 

document.open(); 

//Main table 
PdfPTable mainTable = new PdfPTable(2); 
mainTable.setWidths(new int[] { 10,90 }); 

//cell one is Name cell 
PdfPCell innerCellKeyName = new PdfPCell(new Phrase("Name", boldFont)); 
//innerCellKeyName.setBorder(Rectangle.NO_BORDER); 
mainTable.addCell(innerCellKeyName); 

PdfPTable table = new PdfPTable(3); 
PdfPCell cell = new PdfPCell(new Paragraph("header with colspan 3")); 
cell.setColspan(3); 
table.addCell(cell); 
table.addCell("1.1"); 
table.addCell("2.1"); 
table.addCell("3.1"); 
table.addCell("1.2"); 
table.addCell("2.2"); 
table.addCell("3.2"); 
table.addCell("4.1"); 
table.addCell("4.2"); 
table.addCell("4.3"); 

//cell two is as table 
PdfPCell cell2 = new PdfPCell(table); 
mainTable.addCell(cell2); 

document.add(mainTable); 

出力は次のとおりです。

Actual output what I got from above code

期待出力は次のようになります。クロスボックスは左のセルにフォームボックスを削除する必要があります。

Expected output

+0

あなたはiTextの旧バージョンを使用していますが、それは7年前の2009年12月から終了です。 –

+0

それは本当です、これは私たちが古い規則に従わなければならなかった理由の古いアプリケーションです.. – Arun

+0

私たちは7年後です。たぶん、アップグレードする時間です。行スパンを使用する方法がありますが、古い行のiTextの 'PdfPTable'では行スパンがサポートされていません。 –

答えて

0

私は期待された結果のうち、

ソリューションの仕事をするためにいくつかのことを試してみました:私はコピーを持って
を同じ上記の表を貼り付けていない寮生として左のセルを作りました。

   document.open(); 

      PdfPTable mainTable = new PdfPTable(2); 
      mainTable.setWidths(new int[] { 10,90 }); 

      PdfPCell innerCellKeyName = new PdfPCell(new Phrase("Name", boldFont)); 
      //innerCellKeyName.setBorder(Rectangle.NO_BORDER); 
      mainTable.addCell(innerCellKeyName); 

      // step4 
      PdfPTable table = new PdfPTable(3); 
      PdfPCell cell = new PdfPCell(new Paragraph("header with colspan 3")); 
      cell.setColspan(3); 
      table.addCell(cell); 
      table.addCell("1.1"); 
      table.addCell("2.1"); 
      table.addCell("3.1"); 
      table.addCell("1.2"); 
      table.addCell("2.2"); 
      table.addCell("3.2"); 
      table.addCell("4.1"); 
      table.addCell("4.2"); 
      table.addCell("4.3"); 



      PdfPCell cell2 = new PdfPCell(table); 
      mainTable.addCell(cell2); 
      document.add(mainTable); 


      PdfPTable mainTable2 = new PdfPTable(2); 
      mainTable2.setWidths(new int[] { 10,90 }); 

      PdfPCell innerCellKeyName2 = new PdfPCell(new Phrase("", boldFont)); 

      innerCellKeyName2.setBorder(Rectangle.NO_BORDER); 
      mainTable2.addCell(innerCellKeyName2); 

      // step4 
      PdfPTable table2 = new PdfPTable(3); 
      PdfPCell cell3 = new PdfPCell(new Paragraph("header with colspan 3")); 
      cell3.setColspan(3); 
      table2.addCell(cell3); 
      table2.addCell("1.1"); 
      table2.addCell("2.1"); 
      table2.addCell("3.1"); 
      table2.addCell("1.2"); 
      table2.addCell("2.2"); 
      table2.addCell("3.2"); 
      table2.addCell("4.1"); 
      table2.addCell("4.2"); 
      table2.addCell("4.3"); 



      PdfPCell cell4 = new PdfPCell(table2); 
      mainTable2.addCell(cell4); 


      document.add(mainTable2); 
関連する問題