iText - Hücre İçeriklerini Biçimlendirme

Bu bölümde, bir PDF belgesinin nasıl oluşturulacağını ve bir tablo ekleneceğini ve iText kitaplığını kullanarak tablodaki bir hücrenin içeriğini nasıl biçimlendireceğimizi göreceğiz.

Tablodaki Hücreleri Biçimlendirme

Boş bir PDF oluşturabilirsiniz DocumentDocument sınıfını örnekleyerek. Bu sınıfı başlatırken, birPdfDocumentnesneyi bir parametre olarak, yapıcısına. Ardından, belgeye bir tablo eklemek için,Table sınıf ve bu nesneyi kullanarak belgeye ekleyin. add()yöntem. Bir tablodaki bir hücrenin içeriğini, aşağıdaki yöntemlerle biçimlendirebilirsiniz:Cell sınıf.

Tablodaki bir hücrenin içeriğini biçimlendirme adımları aşağıdadır.

Adım 1: Bir PdfWriter nesnesi oluşturma

PdfWritersınıfı, bir PDF için DocWriter'ı temsil eder. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfın yapıcısı, PDF'nin oluşturulacağı dosyanın yolunu temsil eden bir dizeyi kabul eder.

Aşağıda gösterildiği gibi yapıcısına bir dize değeri (PDF oluşturmanız gereken yolu temsil eden) ileterek PdfWriter sınıfını örnekleyin.

// Creating a PdfWriter 
String dest = "C:/itextExamples/addingBackground.pdf"; 
PdfWriter writer = new PdfWriter(dest);

Bu tür bir nesne bir PdfDocument'e (sınıf) aktarıldığında, bu belgeye eklenen her öğe belirtilen dosyaya yazılacaktır.

Adım 2: Bir PdfDocument nesnesi oluşturma

PdfDocumentclass, iText'teki PDFDocument'i temsil eden sınıftır. Bu sınıf pakete aittircom.itextpdf.kernel.pdf. Bu sınıfı başlatmak için (yazma modunda), sınıfın bir nesnesini iletmeniz gerekir.PdfWriter yapıcısına.

Örnekleyin PdfDocument yukarıda oluşturulan sınıfı geçerek PdfWriter yapıcısına karşı aşağıda gösterildiği gibi.

// Creating a PdfDocument  
PdfDocument pdfDoc = new PdfDocument(writer);

Birkez PdfDocument nesne oluşturulursa, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyicisi gibi çeşitli öğeler ekleyebilirsiniz.

3. Adım: Belge nesnesini oluşturma

Document paketin sınıfı com.itextpdf.layoutkendi kendine yeten bir PDF oluştururken kullanılan kök öğedir. Bu sınıfın kurucularından biri, PdfDocument sınıfının bir nesnesini kabul eder.

Örnekleyin Document sınıfın nesnesini ileterek sınıf PdfDocument aşağıda gösterildiği gibi önceki adımlarda oluşturulur.

// Creating a Document   
Document document = new Document(pdfDoc);

Adım 4: Bir Tablo nesnesi oluşturma

Tablesınıfı, satırlar ve sütunlar halinde sıralanmış hücrelerle dolu iki boyutlu bir ızgarayı temsil eder. Pakete aittircom.itextpdf.layout.element.

Tablo sınıfını aşağıda gösterildiği gibi örnekleyin.

// Creating a table 
float [] pointColumnWidths = {200F, 200F}; 
Table table = new Table(pointColumnWidths);

Adım 5: Hücrelerin oluşturulması

Oluşturmak cell nesneyi örnekleyerek Cell paketin sınıfı com.itextpdf.layout.element. Kullanarak hücrenin içeriğini ekleyinadd() yöntemi Cell sınıf, aşağıda gösterildiği gibi.

// Adding cell 1 to the table 
Cell cell1 = new Cell();     // Creating a cell 
cell1.add("Name");           // Adding content to the cell       

// Adding cell 2 to the table 
Cell cell2 = new Cell();     // Creating a cell 
cell2.add("Raju");           // Adding content to the cell

Adım 6: Hücreye Arka Plan Ekleme

Hücreyi oluşturup içeriğini ekledikten sonra, hücreyi biçimlendirebilirsiniz. Örneğin, hücre sınıfının farklı yöntemlerini kullanarak arka planını ayarlayabilir, hücrenin içindeki metni hizalayabilir, metin rengini vb. Değiştirebilirsiniz.setBackgroundColor(), setBorder(), setTextAlignment().

Arka plan rengini, kenarlığı ve metin hizalamasını önceki adımda oluşturulan hücreye aşağıda gösterildiği gibi ayarlayabilirsiniz.

c1.setBackgroundColor(Color.DARK_GRAY);    // Setting background color to cell1 
c1.setBorder(Border.NO_BORDER);            // Setting border to cell1 
c1.setTextAlignment(TextAlignment.CENTER); // Setting text alignment to cell1

7. Adım: Tabloya hücre ekleme

Son olarak, bu hücreyi tabloya eklemek için addCell() yöntemi Table sınıf ve geç cell aşağıda gösterildiği gibi, bu yönteme bir parametre olarak nesne.

table.addCell(c1);

8. Adım: Belgeye tablo ekleme

Ekle table önceki adımda oluşturulan nesne add() yöntemi Document aşağıda gösterildiği gibi sınıf.

// Adding list to the document 
document.add(table);

Adım 9: Belgeyi Kapatma

Belgeyi kullanarak kapatın. close() yöntemi Document sınıf, aşağıda gösterildiği gibi.

// Closing the document 
document.close();

Misal

Aşağıdaki Java programı, iText kitaplığını kullanarak bir tablodaki bir hücrenin içeriğinin nasıl biçimlendirileceğini gösterir. Adıyla bir PDF belgesi oluştururaddingBackground.pdf, tablo ekler, hücrelerinin içeriğini biçimlendirir ve yola kaydeder C:/itextExamples/

Bu kodu adıyla bir dosyaya kaydedin BackgroundToTable.java.

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 {        
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/addingBackground.pdf";   
      PdfWriter writer = new PdfWriter(dest);                  
      
      // Creating a PdfDocument object       
      PdfDocument pdfDoc = new PdfDocument(writer);                   
      
      // Creating a Document object      
      Document doc = new Document(pdfDoc); 
      
      // Creating a table       
      float [] pointColumnWidths = {200F, 200F};       
      Table table = new Table(pointColumnWidths);
      
      // Populating row 1 and adding it to the table               
      Cell c1 = new Cell();                        // Creating cell 1 
      c1.add("Name");                              // Adding name to cell 1   
      c1.setBackgroundColor(Color.DARK_GRAY);      // Setting background color
      c1.setBorder(Border.NO_BORDER);              // Setting border
      c1.setTextAlignment(TextAlignment.CENTER);   // Setting text alignment      
      table.addCell(c1);                           // Adding cell 1 to the table 
      
      Cell c2 = new 
      Cell();                               
      c2.add("Raju");       
      c2.setBackgroundColor(Color.GRAY);       
      c2.setBorder(Border.NO_BORDER);       
      c2.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c2);      
      
      // Populating row 2 and adding it 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);                          
      
      // Populating row 3 and adding it 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..");     
   } 
}

Kaydedilen Java dosyasını aşağıdaki komutları kullanarak Komut isteminden derleyin ve yürütün -

javac BackgroundToTable.java 
java BackgroundToTable

Yürütmenin ardından, yukarıdaki program aşağıdaki mesajı görüntüleyen bir PDF belgesi oluşturur.

Background added successfully..

Belirtilen yolu doğrularsanız, oluşturulan PDF belgesini aşağıda gösterildiği gibi bulabilirsiniz.