iText - Bir Hücrenin Kenarlıklarını Biçimlendirme

Bu bölümde, iText kitaplığını kullanarak bir tablodaki bir hücrenin kenarlıklarının nasıl biçimlendirileceğini göreceğiz.

Bir Hücrenin Kenarlıklarını Biçimlendirme

Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocument yapıcısına bir parametre olarak nesne.

Ardından, belgeye bir tablo eklemek için, Table sınıf ve bu nesneyi kullanarak belgeye ekleyin. add() yöntem.

Gibi çeşitli kenarlıklar ekleyebilirsiniz. DashedBorder, SolidBorder, DottedBorder, DoubleBorder, RoundDotsBordervb. kullanarak çeşitli renklerde setBorder() yöntemi Cell sınıf.

Tablodaki bir hücrenin kenarlıklarını 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/coloredBorders.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);

Bir PdfDocument nesnesi oluşturulduktan sonra, sınıfının sağladığı ilgili yöntemleri kullanarak sayfa, yazı tipi, dosya eki ve olay işleyici 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.

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

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

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

Örnekleyerek bir hücre nesnesi oluşturun Cell paketin sınıfı com.itextpdf.layout.element kullanarak hücrenin içeriğini ekleyin add() 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

Adım 6: Hücrenin kenarlığını biçimlendirme

İText kitaplığı, sınırı temsil eden çeşitli sınıflar sağlar. DashedBorder, SolidBorder, DottedBorder, DoubleBorder, RoundDotsBorder, vb.

Bu sınıfların kurucuları iki parametre kabul eder: a color kenarlığın rengini temsil eden nesne ve bir integer sınırın genişliğini temsil eder.

Bu sınır türlerinden birini seçin ve ilgili sınırı geçerek color nesne ve bir integer aşağıda gösterildiği gibi genişliği temsil eder.

Border b1 = new DashedBorder(Color.RED, 3);

Şimdi, hücrenin kenarlığını ayarlayın. setBorder() yöntemi cellsınıf. Bu yöntem, türdeki bir nesneyi kabul ederBorder parametre olarak.

Yukarıda oluşturulmuş olanı geçirerek hücrenin kenarlığını ayarlayın Border bir parametre olarak nesne setBorder() yöntemi aşağıda gösterildiği gibi.

c1.setBorder(b1)

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);

7. Adım: Belgeye tablo ekleme

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

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

8. Adım: 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 kenarlığının nasıl biçimlendirileceğini gösterir. Adıyla bir PDF belgesi oluştururcoloredBorders.pdf, tablo ekler, hücrelerinin içeriğini biçimlendirir ve yola kaydeder C:/itextExamples/

Bu kodu adıyla bir dosyaya kaydedin FormatedBorders.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.border.DashedBorder; 
import com.itextpdf.layout.border.DottedBorder; 
import com.itextpdf.layout.border.DoubleBorder; 
import com.itextpdf.layout.border.RoundDotsBorder; 
import com.itextpdf.layout.border.SolidBorder; 

import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class FormatedBorders {      
   public static void main(String args[]) throws Exception {
      // Creating a PdfWriter object   
      String dest = "C:/itextExamples/coloredBorders.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); 
   
      // Adding row 1 to the table
      Cell c1 = new Cell();
      
      // Adding the contents of the cell
      c1.add("Name");
   
      // Setting the back ground color of the cell
      c1.setBackgroundColor(Color.DARK_GRAY);    
   
      // Instantiating the Border class 
      Border b1 = new DashedBorder(Color.RED, 3);
   
      // Setting the border of the cell
      c1.setBorder(b1);
      
      // Setting the text alignment       
      c1.setTextAlignment(TextAlignment.CENTER);
   
      // Adding the cell to the table       
      table.addCell(c1);                          
      Cell c2 = new Cell();       
      c2.add("Raju");       
      c1.setBorder(new SolidBorder(Color.RED, 3));       
      c2.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c2);
   
      // Adding row 2 to the table                
      Cell c3 = new Cell();      
      c3.add("Id"); 
      c3.setBorder(new DottedBorder(Color.DARK_GRAY, 3));       
      c3.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c3);                          
      
      Cell c4 = new Cell();       
      c4.add("001");       
      c4.setBorder(new DoubleBorder(Color.DARK_GRAY, 3));       
      c4.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c4);                          
      
      // Adding row 3 to the table       
      Cell c5 = new Cell();       
      c5.add("Designation");       
      c5.setBorder(new RoundDotsBorder(Color.RED, 3));       
      c5.setTextAlignment(TextAlignment.CENTER);       
      table.addCell(c5);                 
      
      Cell c6 = new Cell();       
      c6.add("Programmer");       
      c6.setBorder(new RoundDotsBorder(Color.RED, 3)); 
      c6.setTextAlignment(TextAlignment.CENTER);      
      table.addCell(c6);                              
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      
      System.out.println("Borders added successfully..");     
   } 
}

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

javac FormatedBorders.java 
java FormatedBorders

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

Borders added successfully

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