iTextSharp isimuzayı, PDF (Portable Document Format - Taşınabilir Dosya Biçimi) formatında dosyalar oluşturmak için Bruno Lowagie tarafından hazırlanmıştır. Başlangıçta Java için iText isminde bir isimuzayı oluşturulmuş ve daha sonra .NET Framework’e uyarlanmıştır. .NET Framework ile birlikte iTextSharp ismini almıştır.
iTextSharp isimuzayının başlıca özellikleri:
- Sayfa işaretleri (bookmarks), sayfa numaraları, filigranlar (watermarks) ve dijital imzalar eklemek için kullanılabilir.
- PDF dosyaları bölünebilir, birleştirilebilir ve işlenebilir.
- PDF’in birçok interaktif özellikleri kullanılabilir.
Aşağıda bir PDF dosyası oluşturabilmek için gerekli olan basit komutlar bulunmaktadır:
using System;
using System.IO;
using System.Text;
using iTextSharp.text;
using iTextSharp.text.pdf;
namespace PdfCiktisi
{
class PdfCiktisi
{
static void Main(string[] args)
{
iTextSharp.text.Document document = new iTextSharp.text.Document();
MemoryStream stream = new MemoryStream();
PdfWriter.GetInstance(doc,stream)
BaseFont arial = BaseFont.CreateFont("c:\\windows\\fonts\\arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
Font font = new Font(arial, 12, Font.NORMAL);
document.Open();
string yazi = "Deneme PDF ";
document.Add(new Paragraph(yazi, font));
document.Close();
}
}
}
Main methodu içerisindeki kodlar:
- iTextSharp.text.Document document = new iTextSharp.text.Document(); kodu ile "document" isminde bir iTextSharp isimuzayına ait bir doküman nesnesi oluşturulmuştur.
- MemoryStream stream = new MemoryStream(); kodu ile "stream" adında, "MemoryStream" sınıfından bir nesne oluşturulmuştur. Bu nesne oluşturulacak PDF dokümanı için bellekte bir alan ayırmak için kullanılmıştır.
- PdfWriter.GetInstance(doc,stream) satırındaki "PdfWriter" kodu ile PDF dokümanı oluşturulmuştur. "GetInstance" methoduyla "stream" ile bellekten ayrılmış olan alan, daha önce oluşturulan "document" nesnesine verilmiştir.
- BaseFont arial = BaseFont.CreateFont("c:\\windows\\fonts\\arial.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); kodu ile "arial" isminde, "BaseFont" sınıfına ait bir temel yazı tipi nesnesi oluşturulmuştur ve "CreateFont" methodu ile hangi yazı tipi olacağı belirtilmiştir.
- Font font = new Font(arial, 12, Font.NORMAL); kodu ile "font" isminde, "Font" sınıfından bir yazı tipi nesnesi oluşturulmuş ve hangi yazı tipi olacağı, yazı büyüklüğü ve yazının şekli belirtilmiştir.
- document.Open(); satırında ise daha önce oluşturulan "document" isimli iTextSharp isimuzayına ait "document" isimli nesne "Open" methodu ile açılmıştır.
- string yazi = "Deneme PDF "; satırında "string" veri tipinden "yazi" isimli bir veri türetilmiştir ve bir ilk değer atanmıştır.
- document.Add(new Paragraph(yazi, font)); kodu ile "document" isimli nesneye "Add" methoduyla yazı eklenmiştir.
- document.Close(); satırıyla ise "document" isimli nesne "Close" methoduyla kapatılmıştır ve program çalıştırıldığında oluşturulmak istenen PDF dokümanı hazır hale gelecektir.