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.