「Java」iTextを使ってtableにセルコンテンツを追加

2021年12月6日

書式
1.PdfWriterオブジェクトの作成
String dest = “C:/data/test.pdf";
PdfWriter writer = new PdfWriter(dest);

2.PdfDocumentオブジェクトの作成
PdfDocument pdfDoc = new PdfDocument(writer);

3.Documentオブジェクトの作成
Document document = new Document(pdfDoc);

4.Tableオブジェクトの作成
float [] pointColumnWidths = {200F, 200F};
Table table = new Table(pointColumnWidths);

5.セルの作成
Cell cell1 = new Cell(); // セルの作成
cell1.add(“Name"); // セルにコンテンツを追加
c1.setBackgroundColor(Color.DARK_GRAY);

7.テーブルにセルを追加
table.addCell(c1);

8.documentにtableを追加
document.add(table);

9.Documentをクローズ
document.close();

使用例

import com.itextpdf.kernel.color.Color; 
import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document;
import com.itextpdf.layout.border.Border; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class BackgroundToTable {      
   public static void main(String args[]) throws Exception {        
      // PdfWriterオブジェクトの作成
      String dest = "C:/data/test.pdf";   
      PdfWriter writer = new PdfWriter(dest);                  
      
      // PdfDocumentオブジェクトの作成 
      PdfDocument pdfDoc = new PdfDocument(writer);                   
      
      // Documentオブジェクトの作成
      Document doc = new Document(pdfDoc); 
      
      // tableの作成       
      float [] pointColumnWidths = {150F, 150F};       
      Table table = new Table(pointColumnWidths);
      
      // テーブルに行を追加             
      Cell c1 = new Cell();                        // セルの作成
      c1.add("UserName");                          // セルにUserNameを追加 
      c1.setBackgroundColor(Color.DARK_GRAY);      // 背景色
      c1.setBorder(Border.NO_BORDER);              // 境界線の設定
      c1.setTextAlignment(TextAlignment.CENTER);   // テキストの配置を設定     
      table.addCell(c1);                           // テーブルにセルを追加
      
      Cell c2 = new Cell();                               
      c2.add("Address");       
      c2.setBackgroundColor(Color.GRAY);       
      c2.setBorder(Border.NO_BORDER);       
      c2.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c2);     
  
      
      // documentにTableを追加        
      doc.add(table);                  
      
      // documentをクローズ       
      doc.close();  
      
      System.out.println("背景が正常に追加されました");     
   } 
} 

 

Java

Posted by arkgame