如何使用Java为PDF中的表设置背景。(How to set background to a table in a PDF using Java.)

优质
小牛编辑
120浏览
2023-12-01

问题描述 (Problem Description)

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

解决方案 (Solution)

以下是使用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"; 
      //Creating a PdfDocument object 
      PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));     
      //Creating a Document object 
      Document doc = new Document(pdfDoc);        
      //Creating a table 
      Table table = new Table(2);     
      //Adding row 1 to the table          
      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); 
      //Adding row 2 to the table          
      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);          
      //Adding row 3 to the table 
      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);          
      //Adding Table to document  
      doc.add(table);  
      //Closing the document 
      doc.close();  
      System.out.println("Background added successfully.."); 
   } 
}

输出 (Output)

背景表