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.