iText - Tabloya Liste Ekleme

Bu bölümde, iText kitaplığını kullanarak bir PDF belgesindeki bir tabloya nasıl liste ekleneceğini göreceğiz.

PDF'deki Tabloya Liste Ekleme

Örneğini oluşturarak boş bir PDF Belgesi oluşturabilirsiniz. Documentsınıf. Bu sınıfı başlatırken, birPdfDocumentyapı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.

Eklemek için list tabloya, somutlaştırmanız gerekir List sınıfı com.itextpdf.layout.element paketleyin ve içine yerleştirin cell kullanarak nesne add() yöntemi Cell sınıf.

Bir tablonun hücresine liste ekleme adımları aşağıdadır.

Adım 1: Bir PdfWriter nesnesi oluşturma

PdfWriterclass, bir PDF için Doc Writer'ı 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/addingObjects.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 PDF Belgesini temsil eden sınıftır. Bu sınıf c paketine aittirom.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 aşağıda gösterildiği gibi, yukarıda oluşturulan PdfWriter nesnesini yapıcısına ileterek sınıfı.

// 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ücreyi oluşturma

Oluşturmak cell nesneyi örnekleyerek Cell paketin sınıfı com.itextpdf.layout, Aşağıda gösterildiği gibi.

// Adding cell to the table 
Cell listCell = new Cell(); // Creating a cell

Adım 6: Liste nesnesi oluşturma

Hücreyi oluşturduktan sonra bir list nesneyi örnekleyerek List paketin sınıfı com.itextpdf.layout.element. Liste öğelerini,ListItem sınıfına girin ve oluşturulan öğeleri ekleyin add() yöntemi List sınıf, aşağıda gösterildiği gibi.

List list = new List(); 
ListItem item1 = new ListItem("JavaFX"); 
ListItem item2 = new ListItem("Java"); 
ListItem item3 = new ListItem("Java Servlets");        
list.add(item1); 
list.add(item2); 
list.add(item3);

Adım 7: Bir tablonun hücresine liste ekleme

Şimdi, yukarıda oluşturulan listeyi kullanarak tablonun hücresine ekleyin. add()Cell sınıfının yöntemi. Ve bu hücreyi tabloya ekleyin.addCell() yöntemi Table sınıf, aşağıda gösterildiği gibi.

listCell.add(list); 
table.addCell(listCell);

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

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 PDF belgesindeki bir tablonun hücresine bir listenin nasıl ekleneceğini gösterir. Adıyla bir PDF belgesi oluştururaddingObjects.pdf, tablo ekler, hücrelerinden birine bir liste ekler ve yola kaydeder C:/itextExamples/

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

import com.itextpdf.kernel.pdf.PdfDocument; 
import com.itextpdf.kernel.pdf.PdfWriter; 

import com.itextpdf.layout.Document; 
import com.itextpdf.layout.element.Cell; 
import com.itextpdf.layout.element.List; 
import com.itextpdf.layout.element.ListItem; 
import com.itextpdf.layout.element.Table; 
import com.itextpdf.layout.property.TextAlignment;  

public class AddingListsToTable {      
   public static void main(String args[]) throws Exception {              
      // Creating a PdfWriter object
      String file = "C:/itextExamples/addingObjects.pdf";       
      PdfDocument pdfDoc = new PdfDocument(new PdfWriter(file));                   
      
      // Creating a Document object       
      Document doc = new Document(pdfDoc);               
      
      // Creating a table       
      float [] pointColumnWidths = {300F, 300F};       
      Table table = new Table(pointColumnWidths);                            
      
      // Adding row 1 to the table                
      Cell c1 = new Cell();       
      c1.add("Java Related Tutorials");       
      c1.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c1);                      
      
      List list1 = new List();       
      ListItem item1 = new ListItem("JavaFX");
      ListItem item2 = new ListItem("Java");       
      ListItem item3 = new ListItem("Java Servlets");              
      list1.add(item1);       
      list1.add(item2);       
      list1.add(item3);                 
      
      Cell c2 = new Cell();       
      c2.add(list1);       
      c2.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c2);                 
      
      // Adding row 2 to the table                
      Cell c3 = new Cell();       
      c3.add("No SQL Databases");       
      c3.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c3);                     
      
      List list2 = new List();       
      list2.add(new ListItem("HBase"));       
      list2.add(new ListItem("Neo4j"));       
      list2.add(new ListItem("MongoDB"));                 
      
      Cell c4 = new Cell();       
      c4.add(list2); 
      c4.setTextAlignment(TextAlignment.LEFT);       
      table.addCell(c4);                       
      
      // Adding Table to document        
      doc.add(table);                  
      
      // Closing the document       
      doc.close();  
      System.out.println("Lists added to table successfully..");     
   } 
}

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

javac AddingListsToTable.java 
java AddingListsToTable

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

Lists added to table successfully..

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