如何使用 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"; 

      //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.."); 
   } 
}

输出

Background Table
java_itext
广告