如何使用 Java 为 PDF 中的表格设置背景

问题描述

如何使用 Java 为 PDF 中的表格设置背景。

解决方案

以下是使用 Java 为 PDF 中的表格设置背景的程序。

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 {
      String file = "C:/EXAMPLES/itextExamples/backgroundToTable.pdf"; 

        //创建 PdfDocument 对象
        PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));
        
        //创建 Document 对象
        Document doc = new Document(pdfDoc);
        
        //创建表格
        Table table = new Table(2);
        
        //将第 1 行添加到表格中
        Cell c1 = new Cell();
        
        c1.add("Name");
        c1.setBackgroundColor(Color.DARK_GRAY);
        c1.setBorder(Border.NO_BORDER);
        c1.setTextAlignment(TextAlignment.CENTER);
        table.addCell(c1);
        
        Cell c2 = new Cell();
        c2.add("Raju");
        c2.setBackgroundColor(Color.GRAY);
        c2.setBorder(Border.NO_BORDER);
        c2.setTextAlignment(TextAlignment.CENTER);
        table.addCell(c2);
        
        //将第 2 行添加到表格中
        Cell c3 = new Cell();
        
        c3.add("Id");
        c3.setBackgroundColor(Color.WHITE);
        c3.setBorder(Border.NO_BORDER);
        c3.setTextAlignment(TextAlignment.CENTER);
        table.addCell(c3);
        
        Cell c4 = new Cell();
        c4.add("001");
        c4.setBackgroundColor(Color.WHITE);
        c4.setBorder(Border.NO_BORDER);
        c4.setTextAlignment(TextAlignment.CENTER);
        table.addCell(c4);
        
        //将第 3 行添加到表格中
        Cell c5 = new Cell();
        
        c5.add("Designation");
        c5.setBackgroundColor(Color.DARK_GRAY);
        c5.setBorder(Border.NO_BORDER);
        c5.setTextAlignment(TextAlignment.CENTER);
        table.addCell(c5);
        
        Cell c6 = new Cell();
        c6.add("Programmer");
        c6.setBackgroundColor(Color.GRAY);
        c6.setBorder(Border.NO_BORDER);
        c6.setTextAlignment(TextAlignment.CENTER);
        table.addCell(c6);
        
        //将表格添加到文档
        doc.add(table);
        
        //关闭文档
        doc.close();
      	System.out.println("Background added successfully.."); 
   } 
}

输出

背景表
java_itext.html