C# PDF Oluşturma (iTextSharp) – PDF Create

Merhaba arkadaşlar,
C# ta PDF dosyası nasıl oluşturulur? Karşımıza çıkabilecek zorluklar nelerdir ve bunları nasıl aşabiliriz? sorularına cevap bulabileceğinizi umaraktan yazıma başlıyorum 🙂

Öncelikle kullanacağım DLL dosyasını paylaşayım iTextSharp. Evet PDF dosyasını oluşturmamıza olanak sağlayacak olan bir dll dir kendisi.

Bu dll i indirip yukarıdaki gibi projenize Referans olarak ekleyin.

Benim karşılaştığım zorluklara gelirsek.. Örneğin bu oluşturacağım pdf dosyasına nasıl resim ekleyecektim? PDF dosyasının içeriğini istediğim gibi nasıl düzenleyecektim? Pdf te tablo mantığı vardı ama bu tabloların genişliğini nasıl ayarlayacaktım? Bilmiyorum ama ne yaptıysam Cell olarak tanımladığım alanın .width özelliğini çalıştıramadım artık iTextSharp ta mı bir bug vardı yoksa bendemi orasını şimdilik çözemedim ama sonuç olarak genişliği ayarlayabildim…Şimdi bu soruların cevabınıda içeren kabataslak bir örnek yazalım….

private void btnPDFolustur_Click(object sender, EventArgs e)
        {
            //PDF genel ayarlamalar..
            iTextSharp.text.Document d = new iTextSharp.text.Document();
            string dosya = "C:\Deneme.pdf";
            PdfWriter.GetInstance(d, new FileStream(dosya, FileMode.Create));
            d.AddAuthor("Fatura Creator v.2.0");
            d.AddCreator("Fatura Creator");
            d.AddTitle("Fatura Bilgisi");

            //Nasıl resim eklersiniz ?
            Uri yol = new Uri(Application.StartupPath + @"Logo.jpg");
            Jpeg resim = new Jpeg(yol);
            resim.ScalePercent(55);
            resim.Alignment = iTextSharp.text.Image.LEFT_ALIGN;

            //Nasıl tablo eklersiniz?
            Table aTable = new Table(2, 2); // 2 sütun, 2 satır
            aTable.Padding = 5;
            aTable.BorderWidth = 0;
            aTable.Border = 0;
            aTable.BorderColor = iTextSharp.text.Color.BLUE;
            aTable.Width = 100;
            aTable.SetWidths(new int[2] { 10, 40 }); //Sırasıyla genişlikler

            //Türkçe karakter sorununu hallediyoruz =)
            BaseFont trArial = BaseFont.CreateFont(@"C:WINDOWSFontsarial.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);
            iTextSharp.text.Font yenifont = new iTextSharp.text.Font(trArial, 14, iTextSharp.text.Font.BOLD);
            yenifont.Size = 11;

            aTable.AddCell(new Phrase(string.Format("MÜŞTERİ ADI"), yenifont));
            aTable.AddCell(new Phrase(string.Format("SOYADI"), yenifont));

            aTable.AddCell(new Phrase(string.Format("Hakan"), yenifont));
            aTable.AddCell(new Phrase(string.Format("Akkan"), yenifont));

            if (d.IsOpen() == false) { d.Open(); }
            d.Add(resim);
            d.Add(aTable);
            d.Close();
        }

İyi çalışmalar dilerim 🙂

6 thoughts on “C# PDF Oluşturma (iTextSharp) – PDF Create

  1. Fuat

    eywallah eline sağlık güzel bir döküman olmuş

  2. Tam aradığım şey teşekkürler 🙂

  3. Ne yazık ki linkler kırık.

    • Olcay çok sağol bildirimin için. Link çalışıyor şuan, düzelttim.

  4. pınar

    teşekkürler çok güzel olmuşta mesela ben bi matematiksel işlem yaptırsam bunun sonuçlarını pdf de tabloya nasıl yazdıracağım oluştur butonuna bastığımda cevap verirseniz çok sevinirim.

  5. husmean

    Hocam çok başarılı bir anlatım olmuş eline sağlık

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

Time limit is exhausted. Please reload the CAPTCHA.